https://github.com/maayanlab/rummagene
https://github.com/maayanlab/rummagene
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/maayanlab/rummagene
- Owner: MaayanLab
- License: other
- Created: 2023-08-04T22:17:20.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-06-03T21:53:28.000Z (8 months ago)
- Last Synced: 2025-06-04T02:12:34.842Z (8 months ago)
- Language: Python
- Homepage: https://rummagene.com
- Size: 60.5 MB
- Stars: 11
- Watchers: 4
- Forks: 3
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Rummagene
This is a webserver for gene set enrichment analysis on a very large gene set -- one constructed by extracting gene sets from PMC OA. The [bot](https://github.com/MaayanLab/rummagene/tree/main/bot) does the extraction weekly.
## Development
Rather than splitting up the meta and data APIs, all functionality is incorporated into a postgres database.
We use postgraphile to serve the database on a graphql endpoint -- this endpoint can then be used for all necessary functionality, including both metadata search, filtering, and enrichment analysis. For speed purposes, enrichment is done through a companion API written in rust, the database itself communicates with this API, it is transparent to the application or users of the database.
### Usage
```bash
# prepare environment variables
cp .env.example .env
# review & edit .env
# start db
docker-compose up -d postgres
# create db/ensure it's fully migrated
dbmate up
# start companion API
docker-compose up -d enrich
# start app (production)
docker-compose up -d app
# start app (development)
npm run dev
```
### Provisioning
```bash
PYTHONPATH=bot python -m helper ingest -i your-gmt.gmt
PYTHONPATH=bot python -m helper ingest-paper-info
PYTHONPATH=bot python -m helper ingest-gene-info
```
### Writing Queries
See `src/graphql/core.graphql`
These can be tested/developed at