https://github.com/clinical-genomics/chanjo

Chanjo provides a better way to analyze coverage data in clinical sequencing.

https://github.com/clinical-genomics/chanjo

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

bioconda coverage genomics python sambamba sql

Keywords from Contributors

bioinformatics sequencing projection archival pypi reporting parallel generic control interactive
Last synced: 5 months ago · JSON representation

Repository

Chanjo provides a better way to analyze coverage data in clinical sequencing.

Basic Info
Statistics
  • Stars: 51
  • Watchers: 9
  • Forks: 12
  • Open Issues: 31
  • Releases: 12
Topics
bioconda coverage genomics python sambamba sql
Created over 12 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog Contributing License Authors

README.md

Chanjo

Docker build - GitHub PyPI version Coverage Status

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

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

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

All Time
  • Total Commits: 741
  • Total Committers: 18
  • Avg Commits per committer: 41.167
  • Development Distribution Score (DDS): 0.132
Past Year
  • Commits: 12
  • Committers: 4
  • Avg Commits per committer: 3.0
  • Development Distribution Score (DDS): 0.667
Top Committers
Name Email 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
enhancement (21) bug (20) question (13) wanted (12) needed (8) priority (6) on hold (4)
Pull Request Labels
dependencies (9)

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

  • Versions: 65
  • Dependent Packages: 2
  • Dependent Repositories: 4
  • Downloads: 2,575 Last month
Rankings
Dependent packages count: 3.2%
Average: 6.6%
Dependent repos count: 7.5%
Downloads: 9.3%
Maintainers (3)
Last synced: 6 months ago

Dependencies

Pipfile pypi
  • 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 *
Pipfile.lock pypi
  • 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
requirements-dev.txt pypi
  • 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
requirements.txt pypi
  • alchy *
  • click *
  • coloredlogs *
  • importlib_metadata *
  • path.py *
  • pymysql *
  • ruamel.yaml *
  • sqlalchemy ==1.3.
  • toolz *
.github/workflows/deploy_mkdocs.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/docker_build_n_publish.yml actions
  • actions/checkout v2 composite
  • elgohr/Publish-Docker-Github-Action master composite
.github/workflows/pypi_build_n_publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • pypa/gh-action-pypi-publish master composite
.github/workflows/pytest_n_coveralls.yml actions
  • actions/checkout v2 composite
  • actions/setup-python master composite
Dockerfile docker
  • frolvlad/alpine-miniconda3 latest build
docker-compose.yml docker
  • mariadb latest