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.2 1 month and 4 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 6 months and 3 weeks ago
11 contributors

Forward-time simulation in Python using fwdpp

Latest release: 0.15.2 2 months and 3 weeks 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 4 months and 3 days ago
9 contributors

Infer the age of ancestral nodes in a tree sequence.

dated_ts =
Latest release: 0.1.4 2 months and 4 weeks 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 weeks and 6 days ago
26 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 9 months ago
9 contributors

rust bindings for tskit!

Latest release: 0.5.0 3 weeks and 2 days ago
3 contributors