Command Line Arguments

Paul Staab

2024-01-08

scrm is uses a syntax compatible with the popular program ms. There are, however, a few differences to ms:

For all other options, you can also refer to ms’ manual to get a detailed description of what the commands are doing. scrm should happily execute any ms command that does not contain -c, -s and -ema. Also, scrm has somewhat stricter requirements regarding the order of arguments if population admixture (-es) is involved.

General Syntax

The arguments for calling scrm are

scrm <nhap> <nrep> [...]

where nhap is the total number of haplotypes (in all populations and at all times) that are simulated at each locus, and nrep is the number of independent loci that will be produced. The [...] is an optional placeholder for an arbitrary number of command line flags described below.

Basic Parameters

Recombination

Population structure & migration

In all commands, migrations rates M = 4N0m, where m is the fraction of a population that is replaced with migrants from other populations each generation (looking forwards in time).

Population size changes

For exponential growth/decline of a population, the parameter a changes the size of a population according to the formula N(s) = N(0)exp(-as), where N(0) is the population’s size at the time of the command (e.g. 0 for -g <a> and -G <a> and t for -eg <t> <a> and -eG <t> <a>) and N(s) is the size of the population s time units in the past. Looking forwards in time, a positive a leads to population growth, while a negative one generates a decline in population sizes.

Summary Statistics

Other options

Time specific parameters

The command this section all have a time t as first parameter. Changes made by the commands affect the time from t further back into the past. All times in units of _4*N0_ generations.

Population structure & migration

Population size changes

Population Splits & Merges

When multiple es, eps or ej arguments are given for the same time t, the migrations are executed in the order in which the commands are given. For example if we have -es 0.08 2 .2 -ej 0.08 3 1, first 80% of pop 2 move to a newly created pop 3 (viewed backwards in time), then everyone that just moved to pop 3 moves on to pop 1. This is equivalent to -eps 0.08 2 1 .2, except that the latter does not create the empty population 3.

Sequence specific parameters

The following commands change the model parameters from at a sequence position s. You should still set the initial rate with -r or -t, respectively, and then use the commands prefixed with s for all changes. Note that -r also takes the total length of the sequence as second argument, while -sr just has the rate as argument.