https://github.com/clinical-genomics/chanjo
Chanjo provides a better way to analyze coverage data in clinical sequencing.
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
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.6%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Chanjo provides a better way to analyze coverage data in clinical sequencing.
Basic Info
- Host: GitHub
- Owner: Clinical-Genomics
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://clinical-genomics.github.io/chanjo/
- Size: 14.7 MB
Statistics
- Stars: 51
- Watchers: 9
- Forks: 12
- Open Issues: 31
- Releases: 12
Topics
Metadata Files
README.md
Chanjo
Chanjo is coverage analysis for clinical sequencing. It's implemented in Python with a command line interface that adheres to UNIX pipeline philosophy.
If you find chanjo useful in your project, please cite the article.
Installation
Chanjo is distributed through pip. Install the latest stable release by
running:
bash
pip install chanjo
... or locally for development:
bash
git clone https://github.com/Clinical-Genomics/chanjo.git
cd chanjo
conda install --channel bioconda sambamba
pip install -r requirements-dev.txt --editable .
Usage
Chanjo exposes a decomposable command line interface with a nifty config file implementation.
bash
chanjo init --setup
chanjo load /path/to/sambamba.output.bed
chanjo calculate mean
{"metrics": {"completeness_10": 90.92, "mean_coverage": 193.85}, "sample_id": "sample1"}
Docker
When running the dockerized version of Chanjo the setup process is slightly different. Chanjo depends on a configuration file config.yaml and either a sqlite database chanjo.coverage.sqlite3 or a MySQL database, which are created at initialization. For convenience, we provide a docker-compose file containing a mariadb (MySQL-based) service and the chanjo-command line that can be used to set up a demo instance of Chanjo.
Since the database set up (chanjo init command) and sample data insertion are executed by two distinct instances of the same service (chanjo-cli), Docker volumes must be used to make sure that the database instance has data continuity during the two steps.
The following examples demonstrate how to set up Chanjo using the docker-compose file using the default definition of exons (init demo files are present in folder chanjo/init/demo-files). The config file and the creted database will be stored on the host in a folder named data, which is mirrored by folder /home/worker/data in the chanjo container . Other exon definitions can be used by mounting them to the container.
Example with MySQL-based database (MariaDB)
```bash
Build a docker image
docker-compose build
bash
Set up chanjo and populate demo database with exons definitions
docker-compose run --rm -v "${PWD}/data:/home/worker/data" -v "${PWD}/data/database:/home/worker/data/database" chanjo-cli bash -c "chanjo -d mysql+pymysql://chanjoUser:chanjoPassword@mariadb/chanjo4test init --auto /home/worker/data && chanjo --config /home/worker/data/chanjo.yaml link /home/worker/data/hgnc.grch37p13.exons.bed"
``
This initial step will create adatafolder containing 2 files:
- hgnc.grch37p13.exons.bed --> Exons definitions
- chanjo.yaml --> Contains the database URI, so in the next step you can use this config file instead of-d mysql+pymysql://chanjoUser:chanjoPassword@mariadb/chanjo4test`
```bash
Load sample
docker-compose run --rm -v "${PWD}/data:/home/worker/data" -v "${PWD}/data/database:/home/worker/data/database" chanjo-cli bash -c "chanjo --config /home/worker/data/chanjo.yaml load /home/worker/app/chanjo/init/demo-files/sample1.coverage.bed" ```
Example with SQLite database
```bash
setup chanjo and save populate demo database with exon definitions
docker-compose run --rm -v "${PWD}/data:/home/worker/data" -v "${PWD}/data/database:/home/worker/data/database" chanjo-cli bash -c "chanjo init --auto /home/worker/data && chanjo --config /home/worker/data/chanjo.yaml link /home/worker/data/hgnc.grch37p13.exons.bed"
load sample
docker-compose run --rm -v "${PWD}/data/chanjo.coverage.sqlite3:/home/worker/app/chanjo.coverage.sqlite3" -v "${PWD}/data:/home/worker/data" chanjo-cli bash -c "chanjo --config /home/worker/data/chanjo.yaml load /home/worker/app/chanjo/init/demo-files/sample1.coverage.bed"
Documentation
Read the Docs is hosting the official documentation.
If you are looking to learn more about handling sequence coverage data in clinical sequencing, feel free to download and skim through my own Master's thesis and article references.
Features
What Chanjo does
Chanjo leverages Sambamba to annotate coverage and completeness for a general BED-file. The output can then easily to loaded into a SQL database that enables investigation of coverage across regions and samples. The database also works as an API to downstream tools like the Chanjo Coverage Report generator.
What Chanjo doesn't
Chanjo is not the right choice if you care about coverage for every base across the entire genome. Detailed histograms is something BEDTools already handles with confidence.
Contributors
- Robin Andeer (robinandeer)
- Luca Beltrame (lbeltrame)
- John Kern (kern3020)
- Måns Magnusson (moonso)
- Patrik Grenfeldt (patrikgrenfeldt)
License
MIT. See the LICENSE file for more details.
Contributing
Anyone can help make this project better - read CONTRIBUTION to get started!
Owner
- Name: Clinical Genomics
- Login: Clinical-Genomics
- Kind: organization
- Location: Stockholm, Sweden
- Website: https://clinical-genomics.github.io
- Repositories: 67
- Profile: https://github.com/Clinical-Genomics
GitHub Events
Total
- Issues event: 9
- Watch event: 1
- Delete event: 15
- Issue comment event: 16
- Push event: 21
- Pull request review event: 5
- Pull request review comment event: 9
- Pull request event: 16
- Create event: 5
Last Year
- Issues event: 9
- Watch event: 1
- Delete event: 15
- Issue comment event: 16
- Push event: 21
- Pull request review event: 5
- Pull request review comment event: 9
- Pull request event: 16
- Create event: 5
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Robin Andeer | r****r@g****m | 643 |
| Chiara Rasi | r****a@g****m | 21 |
| moonso | m****s@g****m | 19 |
| John Kern | k****0@g****m | 10 |
| Patrik Grenfeldt | p****t@s****e | 10 |
| Robin Andeer | r****r@g****e | 5 |
| Chiara Rasi | r****a@g****m | 5 |
| Daniel Nilsson | d****n@g****m | 5 |
| adrosenbaum | 4****m | 5 |
| Luca Beltrame | l****e@m****t | 4 |
| Måns Magnusson | m****n@s****e | 3 |
| Barry Stokman | 2****n | 2 |
| Bitdeli Chef | c****f@b****m | 2 |
| Henrik Stranneheim | h****m@s****e | 2 |
| Robin Andeer | r****r@s****e | 2 |
| ChristianOertlin | c****n@g****m | 1 |
| Paulo Nuin | n****n@g****g | 1 |
| dependabot[bot] | 4****] | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 8 months ago
All Time
- Total issues: 117
- Total pull requests: 15
- Average time to close issues: 3 months
- Average time to close pull requests: 8 days
- Total issue authors: 5
- Total pull request authors: 4
- Average comments per issue: 0.97
- Average comments per pull request: 1.53
- Merged pull requests: 14
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- robinandeer (70)
- lbeltrame (9)
- kern3020 (8)
- dnil (3)
- northwestwitch (3)
- dgaston (1)
- pekrau (1)
Pull Request Authors
- dependabot[bot] (9)
- northwestwitch (5)
- kern3020 (4)
- dnil (4)
- lbeltrame (3)
- moonso (2)
- robinandeer (2)
- ChrOertlin (1)
- bitdeli-chef (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 2,575 last-month
- Total dependent packages: 2
- Total dependent repositories: 4
- Total versions: 65
- Total maintainers: 3
pypi.org: chanjo
Coverage analysis tool for clinical sequencing
- Homepage: https://clinical-genomics.github.io/chanjo/
- Documentation: https://chanjo.readthedocs.io/
- License: MIT
-
Latest release: 4.7.2
published about 1 year ago
Rankings
Maintainers (3)
Dependencies
- coveralls * develop
- ipdb * develop
- markdown-include * develop
- mkdocs * develop
- mock * develop
- pylint * develop
- pytest * develop
- pytest-cov * develop
- alchy *
- click *
- coloredlogs *
- path *
- ruamel.yaml *
- toolz *
- appnope ==0.1.0 develop
- astroid ==2.3.3 develop
- attrs ==19.3.0 develop
- backcall ==0.1.0 develop
- certifi ==2020.4.5.1 develop
- chardet ==3.0.4 develop
- click ==7.1.1 develop
- coverage ==5.1 develop
- coveralls ==2.0.0 develop
- decorator ==4.4.2 develop
- docopt ==0.6.2 develop
- future ==0.18.2 develop
- idna ==2.9 develop
- importlib-metadata ==1.6.0 develop
- ipdb ==0.13.2 develop
- ipython ==7.13.0 develop
- ipython-genutils ==0.2.0 develop
- isort ==4.3.21 develop
- jedi ==0.17.0 develop
- jinja2 ==2.11.2 develop
- joblib ==0.14.1 develop
- lazy-object-proxy ==1.4.3 develop
- livereload ==2.6.1 develop
- lunr ==0.5.6 develop
- markdown ==3.2.1 develop
- markdown-include ==0.5.1 develop
- markupsafe ==1.1.1 develop
- mccabe ==0.6.1 develop
- mkdocs ==1.1 develop
- mock ==4.0.2 develop
- more-itertools ==8.2.0 develop
- nltk ==3.5 develop
- packaging ==20.3 develop
- parso ==0.7.0 develop
- pexpect ==4.8.0 develop
- pickleshare ==0.7.5 develop
- pluggy ==0.13.1 develop
- prompt-toolkit ==3.0.5 develop
- ptyprocess ==0.6.0 develop
- py ==1.8.1 develop
- pygments ==2.6.1 develop
- pylint ==2.4.4 develop
- pyparsing ==2.4.7 develop
- pytest ==5.4.1 develop
- pytest-cov ==2.8.1 develop
- pyyaml ==5.3.1 develop
- regex ==2020.4.4 develop
- requests ==2.23.0 develop
- six ==1.14.0 develop
- tornado ==6.0.4 develop
- tqdm ==4.45.0 develop
- traitlets ==4.3.3 develop
- typed-ast ==1.4.1 develop
- urllib3 ==1.25.9 develop
- wcwidth ==0.1.9 develop
- wrapt ==1.11.2 develop
- zipp ==3.1.0 develop
- alchy ==2.2.2
- click ==7.1.1
- coloredlogs ==14.0
- humanfriendly ==8.2
- importlib-metadata ==1.6.0
- path ==13.1.0
- path.py ==12.4.0
- pydash ==4.7.6
- ruamel.yaml ==0.16.10
- ruamel.yaml.clib ==0.2.0
- sqlalchemy ==1.3.16
- toolz ==0.10.0
- zipp ==3.1.0
- coveralls * development
- docutils * development
- git-lint * development
- html-linter * development
- ipdb * development
- markdown-include * development
- mkdocs * development
- mock * development
- pycodestyle * development
- pylint * development
- pytest >=3.6 development
- pytest-cov * development
- yamllint * development
- alchy *
- click *
- coloredlogs *
- importlib_metadata *
- path.py *
- pymysql *
- ruamel.yaml *
- sqlalchemy ==1.3.
- toolz *
- actions/checkout v2 composite
- actions/setup-python v2 composite
- actions/checkout v2 composite
- elgohr/Publish-Docker-Github-Action master composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- pypa/gh-action-pypi-publish master composite
- actions/checkout v2 composite
- actions/setup-python master composite
- frolvlad/alpine-miniconda3 latest build
- mariadb latest