Octopus is a mapping-based variant caller that implements several calling models within a unified haplotype-aware framework. Octopus takes inspiration from particle filtering by constructing a tree of haplotypes and dynamically pruning and extending the tree based on haplotype posterior probabilities in a sequential manner. This allows octopus to implicitly consider all possible haplotypes at a given loci in reasonable time.
There are currently six calling models available:
- individual: call germline variants in a single healthy individual.
- population: jointly call germline variants in small cohorts.
- trio: call germline and de novo mutations in a parent-offspring trio.
- cancer: call germline and somatic mutations tumour samples.
- polyclone: call variants in samples with an unknown mixture of haploid clones, such a bacteria or viral samples.
- cell: call variants in a set of single cell samples from the same individual.
Octopus calls SNVs, small-medium sized indels, and small complex rearrangements in VCF 4.3.
Quick start
Install Octopus:
$ git clone https://github.com/luntergroup/octopus.git
$ octopus/scripts/install.py --dependencies --forests
$ echo 'export PATH='$(pwd)'/octopus/bin:$PATH' >> ~/.bash_profile
$ source ~/.bash_profile
Call some variants:
$ FOREST="$(pwd)/octopus/resources/forests/germline.v0.7.4.forest"
$ octopus -R hs37d5.fa -I NA12878.bam -T 1 to MT -o NA12878.octopus.vcf.gz --forest $FOREST --threads 8
Documentation
Documentation is hosted on GitHub pages.
Support
Please report any bugs or feature requests to the octopus issue tracker. General chat is hosted on Gitter.
Contributing
Contributions are very welcome! Please consult the contribution guidelines.
Authors
Daniel Cooke and Gerton Lunter
Citing
See publications associated with Octopus.
License
Octopus is distributed under the MIT LICENSE.