https://github.com/agentschapplantentuinmeise/guardgraph
Species interactions graph for the GUARDEN project
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (7.3%) to scientific vocabulary
Repository
Species interactions graph for the GUARDEN project
Basic Info
- Host: GitHub
- Owner: AgentschapPlantentuinMeise
- License: mit
- Language: Python
- Default Branch: main
- Size: 21.3 MB
Statistics
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 1
- Releases: 0
Metadata Files
README.md
guardgraph
Introduction
Species interaction graph analysis package for the European GUARDEN project.
To run this project:
docker compose up
When start-up is completed, visit http://localhost:8000/
To stop the application, run docker compose down
If neo4j container was not properly shutdown, the lock file needs to
be removed rm ~/data/gg/databases/store_lock for a succesfull
startup.
Sometimes this is not sufficient, and you need to remove any neo4j container:
NEO4J=$(docker container ps -a | grep neo4j | cut -f1 -d' ')
docker container rm $NEO4J
Development notes
docker ps -a # to see container id of python container
GUARDCON=$(docker ps -a | grep guardgraph-web | cut -f1 -d' ')
docker exec -it $GUARDCON /bin/sh
The above code block gives you a shell in the running container. There you can change dir to /code and work on the code for testing, provided you clone it to a subdir pf ~/repos
Example:
%load_ext autoreload
%autoreload 2
%cd /code
from guardgraph.graph import InteractionsGraph
ig = InteractionsGraph()
ig.load_interaction_data()
Time to load:
| Entries | Time to load | Std.dev | | ------- | ------------ | ------- | | 10 | 37.7 ms | 4.54 ms | | 100 | 191 ms | 23.3 ms | | 1000 | 1.21 s | 46.3 ms | | 10000 | 46.6 s | 627 ms | | 100000 | 21min 28s | |
With cypher batches:
%%timeit -r1 -n1 ix.reset_graph(force=True)
ix.load_interaction_data(
max_entries=10000, batch_size=5000, cypher_batched=True
)
| Entries | Batch size | Time to load | Std.dev | | ------- | ---------- | ------------ | ------- | | 10000 | 10 | 31.7 s | 120 ms | | 10000 | 100 | 26.4 s | 58.6 ms | | 10000 | 1000 | 25.1 s | 45.2 ms | | 10000 | 10000 | 16 s | 13.4 ms | | 100000 | 10000 | 23min 4s | | | 100000 | 50000 | 22min 21s | |
Get database from minikube
scp -i $(minikube ssh-key) docker@$(minikube ip):/data/worker/db.sqlite backup
Owner
- Name: Botanic Garden Meise
- Login: AgentschapPlantentuinMeise
- Kind: organization
- Email: quentin.groom@plantentuinmeise.be
- Location: Meise, Belgium
- Website: http://www.plantentuinmeise.be/
- Repositories: 11
- Profile: https://github.com/AgentschapPlantentuinMeise
GitHub Events
Total
- Push event: 5
Last Year
- Push event: 5
Dependencies
- python 3.12-rc-bullseye build
- neo4j latest
- flask *
- imblearn *
- joblib *
- matplotlib *
- neo4j *
- owlready2 *
- pandas *
- requests *
- scikit-learn *
- tqdm *
- osgeo/gdal ubuntu-small-latest build
- geopandas *
- pystac-client *
- rasterio *
- rioxarray *
- xarray *