/kamphir

Phylogenetic inference using a tree-shape kernel in an Approximate Bayesian Computation framework

Primary LanguageRBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

This repository comprises scripts and data that were used in a recent paper:

  • Poon AF. Phylodynamic inference with kernel ABC and its application to HIV epidemiology. Molecular biology and evolution. 2015 May 25:msv123.

to apply approximate Bayesian computation (ABC) to phylodynamic inference using a kernel method to compare the shapes of trees.

We are presently working on making a stable implementation of these concepts here. This current work replaces the MCMC sampling method with sequential Monte Carlo (SMC), with which we have obtained more consistent results (see netabc) and published here:

  • McCloskey RM, Liang RH, Poon AF. Reconstructing contact network parameters from viral phylogenies. Virus evolution. 2016 Jul 1;2(2):vew029.

##Dependencies

  • Python - Kamphir was developed with Python 2.7. Several required modules are only available in distributions of Python since version 2.6, such as json.
  • Biopython - A collection of tools for working with biological data. Kamphir makes extensive use of the Phylo module in Biopython for handling tree objects.
  • NumPy - A package for scientific computing in Python. Kamphir makes use of its Array objects for improved performance.
  • dill - Python module that extends pickle module for serializing Python objects
  • jinja2 - Python module for populating templates with Python objects.
  • R - Widely used language for statistical computing.
  • rpy2 - Python interface to R.

##Requires at least one of:

  • MASTER - Java module for reaction system-based simulation of epidemiological processes in the BEAST2 package
  • rcolgem - A modified version of this R module is already incorporated into this repository. This module performs coalescent simulation and inference for epidemiological models through numerical solution of ODEs. Requires R and packages ape, deSolve, bbmle