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.
Development has moved to the GeneWeaver monorepo
geneweaver-core, geneweaver-db, geneweaver-client and geneweaver-tools are
now developed in the
GeneWeaver monorepo under
packages/. The standalone repositories for geneweaver-db, geneweaver-client,
geneweaver-tools, geneweaver-testing and geneweaver-boolean-algebra are
archived. The PyPI releases above are still installable, but the monorepo is the
source of truth and the published releases may lag it.
This matters most for geneweaver-tools: the published package contains the
AbstractTool framework only. The GeneWeaver analysis tools themselves
(BooleanAlgebra, Combine, DBSCAN, HyperGeometric, JaccardClustering,
JaccardSimilarity, MSET, PhenomeMap, UpSet) live in the monorepo at packages/tools
and have not been published to PyPI.
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.