Skip to content

tskit-dev/tskit

tskit

License Contributors Commit activity Coverage OS

Documentation (stable)Documentation (latest)

Docs Build Binary wheels Tests

The succinct tree sequence (tskit) format is an efficient way of representing the genetic history - sometimes known as an Ancestral Recombination Graph or ARG - of a set of related DNA sequences. Tskit` is used by a number of software libraries and programs (such as msprime, SLiM, fwdpp, and tsinfer) that either simulate or infer the evolutionary ancestry of genetic sequences.

The tskit library provides the underlying functionality used to load, examine, and manipulate ARGs in the tree sequence format, including efficient access to the sequence of correlated trees along a genome and general methods to calculate genetic statistics. Tskit 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.

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.

We warmly welcome 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.

Python API

PyPI version Supported Python Versions Wheel Black

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.

C API

C99

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.

Installation

python -m pip install tskit
# or
conda install -c conda-forge tskit