xavier

An easy-to-use, flexible variant calling pipeline for use on the Biowulf cluster at NIH

https://github.com/ccbr/xavier

Science Score: 49.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
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.4%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

An easy-to-use, flexible variant calling pipeline for use on the Biowulf cluster at NIH

Basic Info
Statistics
  • Stars: 6
  • Watchers: 3
  • Forks: 3
  • Open Issues: 11
  • Releases: 13
Created over 3 years ago · Last pushed 8 months ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

XAVIER

eXome Analysis and Variant explorER

tests docs issues license DOI release

This is the home of the XAVIER pipeline. Its long-term goals: to accurately call germline and somatic variants, to infer CNVs, and to boldly annotate variants like no pipeline before!

Overview

Welcome to XAVIER! Before getting started, we highly recommend reading through xavier's documentation.

The xavier pipeline is composed several inter-related sub commands to setup and run the pipeline across different systems. Each of the available sub commands perform different functions:

  • xavier run: Run the XAVIER pipeline with your input files.
  • xavier unlock: Unlocks a previous runs output directory.
  • xavier cache: Cache remote resources locally, coming soon!

XAVIER is a comprehensive whole exome-sequencing pipeline following the Broad's set of best practices. It relies on technologies like Singularity1 to maintain the highest-level of reproducibility. The pipeline consists of a series of data processing and quality-control steps orchestrated by Snakemake2, a flexible and scalable workflow management system, to submit jobs to a cluster or cloud provider.

The pipeline is compatible with data generated from Illumina short-read sequencing technologies. As input, it accepts a set of FastQ or BAM files and can be run locally on a compute instance, on-premise using a cluster, or on the cloud (feature coming soon!). A user can define the method or mode of execution. The pipeline can submit jobs to a cluster using a job scheduler like SLURM, or run on AWS using Tibanna (feature coming soon!). A hybrid approach ensures the pipeline is accessible to all users.

Before getting started, we highly recommend reading through the usage section of each available sub command.

Dependencies

Requires: singularity>=3.5 snakemake==6.X

Snakemake and singularity must be installed on the target system. Snakemake orchestrates the execution of each step in the pipeline. To guarantee the highest level of reproducibility, each step relies on versioned images from DockerHub. Snakemake uses singaularity to pull these images onto the local filesystem prior to job execution, and as so, snakemake and singularity are the only two dependencies.

Run XAVIER pipeline

Biowulf

```bash

XAVIER is configured to use different execution backends: local or slurm

view the help page for more information

module load ccbrpipeliner xavier run --help

@slurm: uses slurm and singularity execution method

The slurm MODE will submit jobs to the cluster.

It is recommended running XAVIER in this mode.

Please note that you can dry-run the command below

by providing --runmode dryrun flag

Do not run this on the head node!

Grab an interactive node

sinteractive --mem=110g --cpus-per-task=12 --gres=lscratch:200 module load ccbrpipeliner

First, initialize the output directory

xavier run \ --input /data/R?.fastq.gz \ --output /data/$USER/xavier_hg38 \ --genome hg38 \ --pairs pairs.txt \ --mode slurm \ --runmode init

Second, do a dry run to visualize outputs

xavier run \ --input /data/R?.fastq.gz \ --output /data/$USER/xavier_hg38 \ --genome hg38 \ --pairs pairs.txt \ --mode slurm \ --runmode dryrun

Then do a complete run

xavier run \ --input /data/R?.fastq.gz \ --output /data/$USER/xavier_hg38 \ --genome hg38 \ --pairs pairs.txt \ --mode slurm \ --runmode run ```

FRCE

```bash

grab an interactive node

srun --export all --pty --x11 bash

add xavier to path correctly

. /mnt/projects/CCBR-Pipelines/pipelines/guis/latest/bin/setup

add SIF cache and TMPDIR path

SIFCACHE="/mnt/projects/CCBR-Pipelines/SIFs/XAVIER" TMPDIR="/scratch/cluster_scratch/$USER"

run xavier

Initialize and then dryrun (or run)

xavier run \ --input /data/R?.fastq.gz \ --output /data/$USER/xavier_hg38 \ --genome hg38 \ --sif-cache $SIFCACHE \ --tmp-dir $TMPDIR \ --pairs pairs.txt \ --mode slurm \ --runmode init # run

```

Help & Contributing

Come across a bug? Open an issue and include a minimal reproducible example.

Have a question? Ask it in discussions.

Want to contribute to this project? Check out the contributing guidelines.

General Inquiries and Collaboration: Please contact the CCBR Pipeliner team at CCBR_Pipeliner@mail.nih.gov.

References

1. Kurtzer GM, Sochat V, Bauer MW (2017). Singularity: Scientific containers for mobility of compute. PLoS ONE 12(5): e0177459.
2. Koster, J. and S. Rahmann (2018). "Snakemake-a scalable bioinformatics workflow engine." Bioinformatics 34(20): 3600.

Owner

  • Name: CCR Collaborative Bioinformatics Resource
  • Login: CCBR
  • Kind: organization
  • Email: nciccbr@mail.nih.gov
  • Location: United States of America

CCR Collaborative Bioinformatics Resource, Center for Cancer Research (NCI), National Institutes of Health

GitHub Events

Total
  • Create event: 37
  • Release event: 5
  • Issues event: 25
  • Watch event: 5
  • Delete event: 30
  • Member event: 1
  • Issue comment event: 20
  • Push event: 78
  • Pull request review comment event: 8
  • Pull request review event: 22
  • Pull request event: 55
Last Year
  • Create event: 37
  • Release event: 5
  • Issues event: 25
  • Watch event: 5
  • Delete event: 30
  • Member event: 1
  • Issue comment event: 20
  • Push event: 78
  • Pull request review comment event: 8
  • Pull request review event: 22
  • Pull request event: 55

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 13
  • Total pull requests: 27
  • Average time to close issues: 18 days
  • Average time to close pull requests: 6 days
  • Total issue authors: 5
  • Total pull request authors: 5
  • Average comments per issue: 0.31
  • Average comments per pull request: 0.04
  • Merged pull requests: 23
  • Bot issues: 1
  • Bot pull requests: 10
Past Year
  • Issues: 13
  • Pull requests: 27
  • Average time to close issues: 18 days
  • Average time to close pull requests: 6 days
  • Issue authors: 5
  • Pull request authors: 5
  • Average comments per issue: 0.31
  • Average comments per pull request: 0.04
  • Merged pull requests: 23
  • Bot issues: 1
  • Bot pull requests: 10
Top Authors
Issue Authors
  • kelly-sovacool (15)
  • samarth8392 (14)
  • kopardev (3)
  • dnousome (2)
  • VidhurDS (1)
Pull Request Authors
  • kelly-sovacool (34)
  • samarth8392 (16)
  • github-actions[bot] (8)
  • dnousome (4)
  • dependabot[bot] (4)
  • kopardev (1)
Top Labels
Issue Labels
bug (6) documentation (2) ccbrpipeliner/7 (2) high priority (1) enhancement (1)
Pull Request Labels
dependencies (4) python (4) enhancement (1) bug (1)

Dependencies

.github/workflows/docs.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/main.yaml actions
  • actions/checkout v2 composite
  • docker://snakemake/snakemake v5.24.2 composite
docker/mutect/Dockerfile docker
  • ubuntu 14.04 build
docker/vcf2maf/Dockerfile docker
  • ensemblorg/ensembl-vep release_102.0 build
docker/wes_base/Dockerfile docker
  • ubuntu 20.04 build
docs/requirements.txt pypi
  • Babel ==2.8.0
  • GitPython ==3.1.7
  • Jinja2 ==2.11.2
  • Markdown ==3.2.2
  • MarkupSafe ==1.1.1
  • PyYAML ==5.3.1
  • Pygments ==2.6.1
  • click ==7.1.2
  • future ==0.18.2
  • gitdb ==4.0.5
  • htmlmin ==0.1.12
  • importlib-metadata ==1.7.0
  • joblib ==0.16.0
  • jsmin ==3.0.0
  • livereload ==2.6.1
  • lunr ==0.5.8
  • mike *
  • mkdocs ==1.1.2
  • mkdocs-awesome-pages-plugin ==2.2.1
  • mkdocs-git-revision-date-localized-plugin ==0.7
  • mkdocs-git-revision-date-plugin *
  • mkdocs-material *
  • mkdocs-material-extensions *
  • mkdocs-minify-plugin ==0.3.0
  • mkdocs-redirects ==1.0.1
  • nltk ==3.5
  • pymdown-extensions ==7.1
  • pytz ==2020.1
  • regex ==2020.7.14
  • six ==1.15.0
  • smmap ==3.0.4
  • tornado ==6.0.4
  • tqdm ==4.48.2
  • zipp ==3.1.0
.github/workflows/forksync.yml actions
  • tgymnich/fork-sync v1.2.1 composite
.github/workflows/main.yml actions
  • tgymnich/fork-sync v1.2.1 composite