SCRM(1)
π SCRM(1) β General Commands Manual π
hiii bestie, welcome to the scrm page π«Ά it lives in the General Commands Manual section, and honestly? it's a whole vibe. sit down, grab a strawberry π, and let's get into it.
β¨ NAME β¨
scrm β an accurate coalescent simulator for genome-scale sequences π
no cap. that's the whole name line. iconic of it.
π¦ SYNOPSIS π¦
scrm nsamp nloci [-hvL] [-r rec L [-l l] [-sr b rec]... ] [-I npop s1
... sn [M] [-eI t s1 ... sn [M]]... [-M M] [-eM t M]... [-m i j M]
[-em t i j M]... [-ma M11 M21 ... Mnn] [-ema t M11 M21 ... Mnn]...
[-es t i p]... [-ej t i j]...] [-n i n] [-en t i n]... [-eN t i n]...
[-g i a] [-eg t i a]... [-G t a] [-eG t a]... [-t theta [-oSFS] [-st b
theta]... ] [-seed seed [seed2 seed3]] [-p digits]
okay so literally that's the whole energy of this program in one block π every bracket is a little doorway. anyway.
πΈ DESCRIPTION πΈ
scrm is a coalescent simulator for biological sequences β¨
and here's the part where it's not like the other girls β unlike similar programs, it can approximate the Ancestral Recombination Graph with arbitrary precision. which means you can rapidly simulate long sequences with essentially correct genetic linkage between sites. the way that just works?? π₯ obsessed.
π OPTIONS π
π Recombination π
-r R Lβ sets the recombination rate to R and the locus length to L. the classic duo fr fr.-sr p Rβ changes the recombination rate R at sequence position p.-l lβ sets the approximation window length to l. small window = more approximation, big window = more correct, iykyk.
π Population Structure π
-I npop s1 ... sn [M]β uses an island model with npop populations, where s1 to sn individuals are sampled each population. optionally assume a symmetric migration rate of M. β¨-eI t s1 ... sn [M]β samples s1 to sn individuals from their corresponding populations at time t.-M Mβ assume a symmetric migration rate of M/(npop-1).-eM t Mβ change the symmetric migration rate to M/(npop-1) at time t.-m i j Mβ set the migration rate from population j to population i to M.-em t i j Mβ set the migration rate from population j to population i to M at time t.-ma M11 M21 ...β sets the (backwards) migration matrix. π-ema t M11 M21 ...β changes the migration matrix at time t.-es t i pβ population admixture. replaces a fraction of 1-p of population i with individuals a from population npop + 1, which is ignored afterwards (forward in time). so the new pop shows up, does its thing, and then gets left on read π-ej t i jβ speciation event at time t. creates population j from individuals of population i. it's giving origin story π¦
π§ Population Size Changes π§
-n i nβ set the present day size of population i to n*N0.-en t i nβ change the size of population i to n*N0 at time t.-eN t nβ set the present day size of all populations to n*N0. everybody eats.-g i aβ set the exponential growth rate of population i to a. glow-up scheduled π-eg t i aβ change the exponential growth rate of population i to a at time t.-G aβ set the exponential growth rate of all populations to a.-eG t aβ change the exponential growth rate of all populations to a at time t.
β Summary Statistics β
-t THETAβ set the mutation rate to THETA =4N_0u, where u is the neutral mutation rate per locus.-Tβ print the local genealogies in newick format. π³-Oβ print the local genealogies in the Oriented Forest format.-Lβ print the TMRCA and the local tree length for each segment.-oSFSβ print the site frequency spectrum. requires you to set the mutation rate first, bestie. no theta, no SFS. periodt.-SC [ms|rel|abs]β scaling of sequence positions. either relative to the locus length between 0 and 1 (rel), absolute in base pairs (abs), or ms-like (ms). pick your fighter.
π Other π
-seed SEED [SEED2 SEED3]β the random seed to use. takes up three integer numbers.-v,--versionβ prints the version ofscrm.-h,--helpβ prints this text. hi, that's this page π-p digitsβ number of significant digits used in output. precision queen π
π₯ Examples π₯
okay now the fun part. real commands, real energy.
π Five independent sites for 10 individuals using Kingman's Coalescent:
scrm 10 5 -t 10
π A sequence of 10kb from 4 individuals under the exact ARG:
scrm 4 1 -t 10 -r 4 10000
π A sequence of 100Mb using the SMC' approximation:
scrm 4 1 -t 10 -r 4000 100000000 -l 0
π Same as above, but with essentially correct linkage:
scrm 4 1 -t 10 -r 4000 100000000 -l 300000
see how -l 0 vs -l 300000 flips the whole vibe from SMC' to essentially correct linkage? main character detail fr fr π«Ά
and that's the page, bestie π this was Version 1.7.2, dated April 2016, from the SCRM(1) manual. go forth and simulate, you absolute icon. periodt. π
β¨
π¦ where this page comes from
- debian bookworm: scrm 1.7.4-1 Β· GPL-3.0-or-later
- debian trixie: scrm 1.7.4-2 Β· GPL-3.0-or-later
- ubuntu jammy: scrm 1.7.4-1 Β· GPL-3.0-or-later
- ubuntu noble: scrm 1.7.4-1 Β· GPL-3.0-or-later
- ubuntu questing: scrm 1.7.4-2
- ubuntu resolute: scrm 1.7.4-2build1 Β· GPL-3.0-or-later
- ubuntu stonking: scrm 1.7.4-2build1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms