Succinct tree sequences are a highly efficient way of storing a set of related DNA sequences by encoding their ancestral history as a set of correlated trees along the genome. The tree sequence format is output by a number of software libraries and programs (such as msprime, SLiM, fwdpp, and tsinfer) that either simulate or infer the evolutionary history of genetic sequences.
The tskit
library provides the underlying functionality used to load, examine, and
manipulate tree sequences, including efficient methods for calculating genetic
statistics. It often forms part of an installation of other software packages such as
those listed above. Please see the
documentation for further details, which
includes
installation instructions.
See the road map
To get started with tskit, tutorials and other content are at http://tskit.dev. For help and support from the community you can use discussions here on github, or raise an issue for a specific bug or feature request.
tskit warmly welcomes contributions from the community. Raise an issue if you have an idea you'd like to work on, or submit a PR for comments and help.
The base tskit
library provides both a Python and C API. A Rust API is provided in the
tskit-rust repository.
Most users of tskit
will use the python API as it provides a convenient, high-level API
to access, analyse and create tree sequences. Full documentation is
here.
The tskit
C API provides comprehensive, low-level methods for manipulating and
processing tree-sequences. Written to the C99 standard and fully thread-safe, it can be
used with either C or C++. Full documentation is
here.