These software packages all produce or consume tree sequences in the .trees file format.


Create tree sequences from models of biological processes

Simulate genealogical trees and genomic sequence data using population genetic models

ts = msprime.sim_ancestry(
ts = msprime.sim_mutations(ts, rate=1e-6)
Latest release: 1.0.3 2 weeks ago
30 contributors

SLiM is a genetically explicit forward simulation software package for population genetics and evolutionary biology. It is highly flexible, with a built-in scripting language, and has a cross-platform graphical modeling environment called SLiMgui.

initialize() {
    initializeMutationType("m1", 0.5, "e", 0.001);
    initializeGenomicElementType("g1", m1, 1.0);
    initializeGenomicElement(g1, 0, 999999);
1 { sim.addSubpop("p1", 500); }
2000 late() { sim.treeSeqOutput("out.trees"); }
Latest release: v3.6 8 months and 4 weeks ago
12 contributors

Forward-time simulation in Python using fwdpp

Latest release: 0.17.0a2 4 days ago
4 contributors


Create tree sequences from variation data

Infer a tree sequence from genetic variation data.

sample_data = tsinfer.load("phased_sequence_data.samples")
ts = tsinfer.infer(sample_data)
Latest release: 0.2.1 6 months and 5 days ago
9 contributors

Infer the age of ancestral nodes in a tree sequence.

dated_ts =
Latest release: 0.1.4 5 months ago
3 contributors


Measure key statistics, manipulate tree sequences and their underlying tables

Analyse, create and manipulate tree sequences.

ts = tskit.load("example.trees")
afs = ts.allele_frequency_spectrum()
Latest release: C_0.99.14 2 months and 3 weeks ago
28 contributors

Tools for dealing with tree sequences coming to and from SLiM.

  rts = pyslim.recapitate(ts, ancestral_Ne=10000)
Latest release: v0.314 1 year and 11 months ago
10 contributors

rust bindings for tskit!

Latest release: 0.6.0 4 days ago
4 contributors