Simulating the Evolution of Biological Sequences

A coalescent simulator that allows the rapid simulation of biological sequences under neutral models of evolution. Different to other coalescent based simulations, it has an optional approximation parameter that allows for high accuracy while maintaining a linear run time cost for long sequences. It is optimized for simulating massive data sets as produced by Next- Generation Sequencing technologies for up to several thousand sequences.

Linux Build Status Windows Build Status Coverage Status CRAN Status

scrm is a coalescence simulator for the evolution of biological sequences. It is available as a command line program at

This R package contains a copy scrm, packaged for convenient usage in R.


It is recommended to use the current CRAN version. It can be installed from within R using


The development version can be installed from GitHub using



Use the function scrm::scrm() to call scrm:

sum_stats <- scrm('5 1 -r 10 100 -t 5 -oSFS')

Help & Documentation

  • The basic usage of scrm::scrm() is explained in its R help page help('scrm').
  • The package contains a vignette on scrm's command line arguments: vignette('scrm-Arguments').
  • Online documentation for the command line program is available in scrm's Wiki.


Please cite the following article when using scrm in a publication:

scrm: efficiently simulating long sequences using the approximated coalescent with recombination. Bioinformatics (2015) 31 (10): 1680-1682. doi:10.1093/bioinformatics/btu861.

Bug Reports

Please report any problems via the issue tracker or via email to develop (at) paulstaab (dot) de.

Please include the version you are using and the exact command that causes the problem including seed (if applicable) in the report. Also, feel free to suggest features there.


scrm 1.7.2-1

  • Registered native routines.

scrm 1.7.2-0

  • Updated the sources of scrm to version 1.7.2 (#23).
  • Now returns the TMRCA summary statistic as a data.frame instead of a matrix (#23).
  • Now returns Newick trees as a character vector where each tree is an entry instead of all trees being concatenated (#24).
  • Skip tests if testthat is not available (#25).
  • Optimize performance for large Newick trees (#26).

scrm 1.6.0-2

  • Replaced 'scrm' with 'it' in the package description.

scrm 1.6.0-1

  • Updated the sources of scrm to version 1.6.0.

scrm 1.5.1-1

  • Updated the sources of scrm to version 1.5.1.
  • Updated the citation information.

scrm 1.5.0-1

  • Updated the sources of scrm to version 1.5.0.
  • Added citation information.
  • Replaced callback to warning with Rf_warning (#12). Thanks to J.J. Allaire for the patch.

scrm 1.3-3

  • Added dependency to R >= 3.1.0.
  • Updated the sources of scrm to version 1.3.1.
  • Added title to vignettes.

scrm 1.3-2

  • Added missing import statement.
  • Fixed access to unmapped memory.

scrm 1.3-1

  • Initial CRAN release.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


1.7.2-1 by Paul Staab, 5 months ago

Report a bug at

Browse source code at

Authors: Paul Staab [aut, cre, cph], Zhu Sha [aut, cph], Dirk Metzler [aut, cph, ths], Gerton Lunter [aut, cph, ths]

Documentation:   PDF Manual  

GPL (>= 3) license

Imports Rcpp

Suggests ape, knitr, rmarkdown, testthat

Linking to Rcpp

System requirements: C++11

Imported by coala.

See at CRAN