https://github.com/tskit-dev/tskit
Population-scale Ancestral Recombination Graph (ARG) library
https://github.com/tskit-dev/tskit
bioinformatics genomics phylogenetics python science tree-sequences
Last synced: 3 months ago
JSON representation
Population-scale Ancestral Recombination Graph (ARG) library
- Host: GitHub
- URL: https://github.com/tskit-dev/tskit
- Owner: tskit-dev
- License: mit
- Created: 2018-02-08T19:16:31.000Z (about 8 years ago)
- Default Branch: main
- Last Pushed: 2025-10-17T12:33:55.000Z (6 months ago)
- Last Synced: 2025-10-21T20:55:54.979Z (6 months ago)
- Topics: bioinformatics, genomics, phylogenetics, python, science, tree-sequences
- Language: Python
- Homepage:
- Size: 19.4 MB
- Stars: 174
- Watchers: 12
- Forks: 78
- Open Issues: 91
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# tskit 
[](https://github.com/tskit-dev/tskit/blob/main/LICENSE)
[](https://github.com/tskit-dev/tskit/graphs/contributors)
[](https://github.com/tskit-dev/tskit/commits/main)
[](https://codecov.io/gh/tskit-dev/tskit)

[Documentation (stable)](https://tskit.dev/tskit/docs/stable/) • [Documentation (latest)](https://tskit.dev/tskit/docs/latest/)
[](https://github.com/tskit-dev/tskit/actions/workflows/docs.yml) [](https://github.com/tskit-dev/tskit/actions/workflows/wheels.yml) [](https://github.com/tskit-dev/tskit/actions/workflows/tests.yml)
The succinct tree sequence (`tskit`) format is an efficient way of representing
the genetic history - sometimes known as an
[Ancestral Recombination Graph or ARG](https://doi.org/10.1093/genetics/iyae100) -
of a set of related DNA sequences. `Tskit` is used
by a number of software libraries and programs (such as
[msprime](https://github.com/tskit-dev/msprime),
[SLiM](https://github.com/MesserLab/SLiM),
[fwdpp](http://molpopgen.github.io/fwdpp/), and
[tsinfer](https://tskit.dev/tsinfer/docs/stable/)) 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](https://tskit.dev/tskit/docs/stable/) for further details, which
includes
[installation instructions](https://tskit.dev/tskit/docs/stable/installation.html).
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](https://github.com/tskit-dev/tskit/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](https://tskit.dev/tskit/docs/stable/python-api.html)
and [C](https://tskit.dev/tskit/docs/stable/c-api.html) API. A Rust API is provided in the
[tskit-rust](https://github.com/tskit-dev/tskit-rust) repository.
#### Python API
[](https://pypi.org/project/tskit/)
[](https://pypi.org/project/tskit/)
[](https://pypi.org/project/tskit/)
[](https://github.com/psf/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](https://tskit.dev/tskit/docs/stable/python-api.html).
#### C API
[](https://en.wikipedia.org/wiki/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](https://tskit.dev/tskit/docs/stable/c-api.html).
## Installation
```bash
python -m pip install tskit
# or
conda install -c conda-forge tskit
```