Skip to content
/ msmc Public

Implementation of the multiple sequential markovian coalescent

License

Notifications You must be signed in to change notification settings

stschiff/msmc

Repository files navigation

The multiple sequentially Markovian coalescent (MSMC)

This software implements MSMC, a method to infer population size and gene flow from multiple genome sequences (Schiffels and Durbin, 2014, Nature Genetics, or Preprint).

In short, msmc can infer

  • the scaled population size of a single population as a function of time
  • the timing and nature of population separations between two populations

from multiple phased haplotypes. When only two haplotypes are given, MSMC is similar to PSMC, and we call it PSMC' because of subtle differences in the method and the underlying model, which allows PSMC' to infer more accurately the recombination rate.

Installation and Requirements

Precompiled versions for Mac and Linux (both 64 bit) can be downloaded on the "Releases" tab within this github repository.

To build MSMC yourself, the GNU Scientific Library (GSL) must be installed on your system.

To build the program, have a look at the two Makefiles. Adjust the path to the GSL and eventually run make -f Makefile.linux or make -f Makefile.mac, respectively. The program is written in the D programming language. The reference compiler from Digitalmars can be downloaded here.

For generating the input files using my scripts, you need Python 3.4. I am sorry for this cutting edge dependency, I may make things compatible with Python 3.2 soon, but at the moment apparently my scripts won't work unless you use python 3.4.

Getting Help

A general guide can be found here, and a more complete tutorial (although for MSMC2) here.

To get help, please submit an issue, or email me directly

MSMC2

Note that there exists also MSMC2, a newer method which should be generally preferred over MSMC.

About

Implementation of the multiple sequential markovian coalescent

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages