/bcbio-nextgen

Validated, scalable, community developed variant calling, RNA-seq and small RNA analysis

Primary LanguagePythonMIT LicenseMIT

bcbio banner

Validated, scalable, community developed variant calling, RNA-seq and small RNA analysis. You write a high level configuration file specifying your inputs and analysis parameters. This input drives a parallel run that handles distributed execution, idempotent processing restarts and safe transactional steps. bcbio provides a shared community resource that handles the data processing component of sequencing analysis, providing researchers with more time to focus on the downstream biology.

https://travis-ci.org/bcbio/bcbio-nextgen.png

Features

  • Community developed: We welcome contributors with the goal of overcoming the biological, algorithmic and computational challenges that face individual developers working on complex pipelines in quickly changing research areas. See our users page for examples of bcbio-nextgen deployments, and the developer documentation for tips on contributing.
  • Installation: A single installer script prepares all third party software, data libraries and system configuration files.
  • Automated validation: Compare variant calls against common reference materials or sample specific SNP arrays to ensure call correctness. Incorporation of multiple approaches for alignment, preparation and variant calling enable unbiased comparisons of algorithms.
  • Distributed: Focus on parallel analysis and scaling to handle large population studies and whole genome analysis. Runs on single multicore computers, in compute clusters using IPython parallel, or on the Amazon cloud. See the parallel documentation for full details.
  • Multiple analysis algorithms: bcbio-nextgen provides configurable variant calling, RNA-seq and small RNA pipelines.

Quick start

  1. Install bcbio-nextgen with all tool dependencies and data files:

    wget https://raw.github.com/bcbio/bcbio-nextgen/master/scripts/bcbio_nextgen_install.py
    python bcbio_nextgen_install.py /usr/local/share/bcbio --tooldir=/usr/local \
      --genomes GRCh37 --aligners bwa --aligners bowtie2
    

    producing an editable system configuration file referencing the installed software, data and system information.

  2. Automatically create a processing description of sample FASTQ and BAM files from your project, and a CSV file of sample metadata:

    bcbio_nextgen.py -w template freebayes-variant project1.csv sample1.bam sample2_1.fq sample2_2.fq
    

    This produces a sample description file containing pipeline configuration options.

  3. Run analysis, distributed across 8 local cores:

    cd project1/work
    bcbio_nextgen.py ../config/project1.yaml -n 8
    

Documentation

See the full documentation and longer analysis-based articles. We welcome enhancements or problem reports using GitHub and discussion on the biovalidation mailing list.

Contributors

License

The code is freely available under the MIT license.