GitPedia

Octopus

Bayesian haplotype-based mutation calling

From luntergroup·Updated June 10, 2026·View on GitHub·

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. The project is written primarily in C++, distributed under the MIT License license, first published in 2015. Key topics include: bioinformatics, de-novo-mutation, genomics, haplotypes, phasing.

Latest release: v0.7.4Octopus 0.7.4

Octopus Logo

Website
Build Status
MIT license
Gitter
GitHub release (latest SemVer)
Anaconda-Server Badge
Docker Image Version (latest semver)

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:

shell
$ 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:

shell
$ 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.

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from luntergroup/octopus via the GitHub API.Last fetched: 6/28/2026