Available Packages
GeneWeaver is a collection of python packages that are used to build the GeneWeaver web application.
These packages are also available for use in other projects. The packages are:
geneweaver-core
: Foundational shared functionality for the GeneWeaver project.geneweaver-client
: A command line interface interacting with GeneWeaver ReST APIs.geneweaver-testing
: GeneWeaver's shared automated tests.geneweaver-tools
: A framework for creating analysis tools for the GeneWeaver project.geneweaver-boolean-algebra
: A package for performing boolean algebra operations on GeneWeaver data.geneweaver-db
: A package for interacting with the GeneWeaver database.
Each package has its own documentation and code repository, which can be found in the links above.
Package Relationships
The following diagram shows the relationships between the packages.
graph LR
G[GeneWeaver Application]
D[geneweaver-db]
T[geneweaver-tools]
BA[geneweaver-boolean-algebra]
A[geneweaver-core]
E[geneweaver-testing]
C[geneweaver-client]
T & E & A --> BA --> G
E --> A & D --> G
E & A --> C
E --> G & T
A --> D
The client consumes the ReST APIs provided by the GeneWeaver application.
sequenceDiagram
geneweaver-client ->>+ GeneWeaver Application: ReST API Call
GeneWeaver Application ->>+ Database: Database Query
Database -->>- GeneWeaver Application: Database Response
GeneWeaver Application -->>- geneweaver-client: ReST API Response
Next Steps
Researchers should consider using the GeneWeaver web application to upload and analyze their data. The web application is available at geneweaver.org.
Sometimes, it might be useful to use the command line interface to automate the
uploading or downloading of data to/from the web application. This can be done
using the python package called
geneweaver-client
, which can
either be installed directly
pip install geneweaver-client
python -m venv my-venv
source my-venv/bin/activate
pip install geneweaver-client
Coming Soon
Documentation for educators and students is coming soon.
Coming Soon
Documentation for software developers is coming soon.