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.
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 is hosted on GitHub pages.
Please report any bugs or feature requests to the octopus issue tracker. General chat is hosted on Gitter.
Contributions are very welcome! Please consult the contribution guidelines.
Daniel Cooke and Gerton Lunter
See publications associated with Octopus.
Octopus is distributed under the MIT LICENSE.