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.

Project Status: Active - The project has reached a stable, usable state and is being actively developed. Linux Build Status Windows Build 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



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.3-1

  • Fix -Wcatch-value compiler warnings on R-devel.

scrm 1.7.3-0

  • Updated the sources of scrm to version 1.7.3.

scrm 1.7.2-4

  • Fixed a servere bug (#38) introduced in 1.7.2-3 that caused a seg_fault when simulating many loci.

scrm 1.7.2-3

  • Fixed CRAN Note about disabled compiler warnings

scrm 1.7.2-2

  • Fixed harmless unsafe memory access

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.3-1 by Paul Staab, a year 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.

Suggested by jackalope.

See at CRAN