A Particle Filter for Demographic Inference
SMCSMC (Sequential Monte Carlo for the Sequential Markovian Coalescent) or SMC2 is a program for inferring population history from multiple genome sequences. It includes both a python package
smcsmc and a command line interface
smc2 along with two backend binaries
For examples and explaination, please see the documentation in
docs/ or online.
This repository contains two components, and both must be installed to properly use
Recommended Installation via
We have automated this process in a
conda package, and we highly recommend installing it this way.
NOTE: We currently only support
condainstallation on 64 bit Linux and if you are using a different operating system you must install manually.
conda config --add channels conda-forge conda config --add channels terhorst conda install -c luntergroup smcsmc
Installation from Source
Alternatively, a combination of
pip can be used to install the python and core components.
Obtain the code
git clone firstname.lastname@example.org:luntergroup/smcsmc.git git-smcsmc cd git-smcsmc git submodule init git submodule update
Download and install the following packages (or use a package manager):
Install the c++ backend
mkdir build; cd build cmake .. make
Install the frontend
pip install -r dependencies pip install .
If you use
smcsmc in your work, please cite the following articles:
Henderson, D., Zhu, S. (Joe), & Lunter, G. (2018). Demographic inference using particle filters for continuous Markov jump processes. BioRxiv, 382218. https://doi.org/10.1101/382218
Staab, P. R., Zhu, S., Metzler, D., & Lunter, G. (2015). scrm: efficiently simulating long sequences using the approximated coalescent with recombination. Bioinformatics, 31(10), 1680–1682. https://doi.org/10.1093/bioinformatics/btu861