# tsinfer <img align="right" width="145" height="90" src="https://raw.githubusercontent.com/tskit-dev/tsinfer/main/docs/tsinfer_logo.svg">
[![CircleCI](https://circleci.com/gh/tskit-dev/tsinfer.svg?style=svg)](https://circleci.com/gh/tskit-dev/tsinfer) [![Build Status](https://travis-ci.org/tskit-dev/tsinfer.svg?branch=main)](https://travis-ci.org/tskit-dev/tsinfer) [![Docs Build](https://github.com/tskit-dev/tsinfer/actions/workflows/docs.yml/badge.svg)](https://tskit.dev/tsinfer/docs/stable/introduction.html) [![codecov](https://codecov.io/gh/tskit-dev/tsinfer/branch/main/graph/badge.svg)](https://codecov.io/gh/tskit-dev/tsinfer)
Infer a tree sequence from genetic variation data
The [documentation](https://tskit.dev/tsinfer/docs/stable) contains details of how to use this software, including [installation instructions](https://tskit.dev/tsinfer/docs/stable/installation.html).
The initial algorithm, its rationale, and results from testing on simulated and real data are described in the following [Nature Genetics paper](https://doi.org/10.1038/s41588-019-0483-y):
> Jerome Kelleher, Yan Wong, Anthony W Wohns, Chaimaa Fadil, Patrick K Albers and Gil McVean (2019) *Inferring whole-genome histories in large population datasets*. Nature Genetics **51**: 1330-1338
_Tsinfer_ versions [0.2.0](https://github.com/tskit-dev/tsinfer/releases/tag/0.2.0) onwards allow missing data and provide a fully parameterised Li & Stephens matching algorithm (i.e. which allows mismatch). These improvements are described in the
following [Science paper](https://doi.org/10.1126/science.abi8264):
> Anthony Wilder Wohns, Yan Wong, Ben Jeffery, Ali Akbari, Swapan Mallick, Ron Pinhasi, Nick Patterson, David Reich, Jerome Kelleher, and Gil McVean (2022) A unified genealogy of modern and ancient genomes. Science 375: eabi8264
Please cite either or both of these if you use ``tsinfer`` in your work. Code to reproduce the results in the first paper is present in a [separate GitHub repository](https://github.com/mcveanlab/treeseq-inference).
Note that `tsinfer` does not attempt to infer node times (i.e. branch lengths of the
inferred trees). If you require a tree sequence where the dates of common ancestors
are expressed in calendar or generation times, you should post-process the ``tsinfer``
output using software such as [``tsdate``](https://github.com/tskit-dev/tsdate).
Raw data
{
"_id": null,
"home_page": null,
"name": "tsinfer",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "population genetics, tree sequence, ancestral recombination graph, evolutionary tree, inference, tsinfer",
"author": null,
"author_email": "Tskit Developers <admin@tskit.dev>",
"download_url": "https://files.pythonhosted.org/packages/34/92/4c7abcb0cdf79e89be32587bbc54bae2bc28fa8e15fee2f1a7b6ebaf3dd9/tsinfer-0.3.3.tar.gz",
"platform": null,
"description": "# tsinfer <img align=\"right\" width=\"145\" height=\"90\" src=\"https://raw.githubusercontent.com/tskit-dev/tsinfer/main/docs/tsinfer_logo.svg\">\n\n[![CircleCI](https://circleci.com/gh/tskit-dev/tsinfer.svg?style=svg)](https://circleci.com/gh/tskit-dev/tsinfer) [![Build Status](https://travis-ci.org/tskit-dev/tsinfer.svg?branch=main)](https://travis-ci.org/tskit-dev/tsinfer) [![Docs Build](https://github.com/tskit-dev/tsinfer/actions/workflows/docs.yml/badge.svg)](https://tskit.dev/tsinfer/docs/stable/introduction.html) [![codecov](https://codecov.io/gh/tskit-dev/tsinfer/branch/main/graph/badge.svg)](https://codecov.io/gh/tskit-dev/tsinfer)\n\n\nInfer a tree sequence from genetic variation data\n\nThe [documentation](https://tskit.dev/tsinfer/docs/stable) contains details of how to use this software, including [installation instructions](https://tskit.dev/tsinfer/docs/stable/installation.html).\n\nThe initial algorithm, its rationale, and results from testing on simulated and real data are described in the following [Nature Genetics paper](https://doi.org/10.1038/s41588-019-0483-y):\n\n> Jerome Kelleher, Yan Wong, Anthony W Wohns, Chaimaa Fadil, Patrick K Albers and Gil McVean (2019) *Inferring whole-genome histories in large population datasets*. Nature Genetics **51**: 1330-1338\n\n_Tsinfer_ versions [0.2.0](https://github.com/tskit-dev/tsinfer/releases/tag/0.2.0) onwards allow missing data and provide a fully parameterised Li & Stephens matching algorithm (i.e. which allows mismatch). These improvements are described in the\nfollowing [Science paper](https://doi.org/10.1126/science.abi8264):\n\n> Anthony Wilder Wohns, Yan Wong, Ben Jeffery, Ali Akbari, Swapan Mallick, Ron Pinhasi, Nick Patterson, David Reich, Jerome Kelleher, and Gil McVean (2022) A unified genealogy of modern and ancient genomes. Science 375: eabi8264\n\nPlease cite either or both of these if you use ``tsinfer`` in your work. Code to reproduce the results in the first paper is present in a [separate GitHub repository](https://github.com/mcveanlab/treeseq-inference).\n\nNote that `tsinfer` does not attempt to infer node times (i.e. branch lengths of the\ninferred trees). If you require a tree sequence where the dates of common ancestors\nare expressed in calendar or generation times, you should post-process the ``tsinfer``\noutput using software such as [``tsdate``](https://github.com/tskit-dev/tsdate).\n",
"bugtrack_url": null,
"license": "GNU GPLv3+",
"summary": "Infer tree sequences from genetic variation data.",
"version": "0.3.3",
"project_urls": {
"Bug Tracker": "https://github.com/tskit-dev/tsinfer/issues",
"Changelog": "https://tskit.dev/tsinfer/docs/stable/CHANGELOG.html",
"Documentation": "https://tskit.dev/tsinfer/docs/stable",
"Homepage": "https://tskit.dev/tsinfer",
"Source Code": "https://github.com/tskit-dev/tsinfer/"
},
"split_keywords": [
"population genetics",
" tree sequence",
" ancestral recombination graph",
" evolutionary tree",
" inference",
" tsinfer"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e60590090782b058e28f5269bf97998087532f5fc4fc628a16b7051def95dff1",
"md5": "14b32929aa868a968ecc8b3f39f9f38f",
"sha256": "829a1266640b3ba246aab44d0fd60ba4034ef0bab5807866fd48b21eda7c5fc0"
},
"downloads": -1,
"filename": "tsinfer-0.3.3-cp310-cp310-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "14b32929aa868a968ecc8b3f39f9f38f",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 196403,
"upload_time": "2024-07-17T10:51:47",
"upload_time_iso_8601": "2024-07-17T10:51:47.677315Z",
"url": "https://files.pythonhosted.org/packages/e6/05/90090782b058e28f5269bf97998087532f5fc4fc628a16b7051def95dff1/tsinfer-0.3.3-cp310-cp310-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "991018b4de95cc5a615638e953818ba7ef0cb41c754ce85f486ba580c921b826",
"md5": "1f37266a62a7ab753c3a1021d42817a0",
"sha256": "18a662c612d7f81b14722f17eb67149036f922c64a63510a3d1444f5e80f1f99"
},
"downloads": -1,
"filename": "tsinfer-0.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "1f37266a62a7ab753c3a1021d42817a0",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 275579,
"upload_time": "2024-07-17T10:51:49",
"upload_time_iso_8601": "2024-07-17T10:51:49.665250Z",
"url": "https://files.pythonhosted.org/packages/99/10/18b4de95cc5a615638e953818ba7ef0cb41c754ce85f486ba580c921b826/tsinfer-0.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "91a3957ba0eaf63f3b67a9eb542eecf6508e3423378be71534cdb9b1def1da0f",
"md5": "7a91db31d055184c557c80f3e129328b",
"sha256": "16029c8cad55c270bde9789a8d9181b1a7fc74619c3d067c54f29527a03caf00"
},
"downloads": -1,
"filename": "tsinfer-0.3.3-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "7a91db31d055184c557c80f3e129328b",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 131165,
"upload_time": "2024-07-17T10:51:51",
"upload_time_iso_8601": "2024-07-17T10:51:51.392594Z",
"url": "https://files.pythonhosted.org/packages/91/a3/957ba0eaf63f3b67a9eb542eecf6508e3423378be71534cdb9b1def1da0f/tsinfer-0.3.3-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ed9869f85a3820ac4b19adc4766cf8a07cd4ecf968e0a5e7ff1f9c29144c8a7a",
"md5": "f0d42f43b780d9e922f6e6c6ab5ac95b",
"sha256": "a5037ad2f21b73a206d7f2457f3cfacfa6e6a8465f137a30669d58230b52f7d1"
},
"downloads": -1,
"filename": "tsinfer-0.3.3-cp311-cp311-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "f0d42f43b780d9e922f6e6c6ab5ac95b",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 196396,
"upload_time": "2024-07-17T10:51:53",
"upload_time_iso_8601": "2024-07-17T10:51:53.130398Z",
"url": "https://files.pythonhosted.org/packages/ed/98/69f85a3820ac4b19adc4766cf8a07cd4ecf968e0a5e7ff1f9c29144c8a7a/tsinfer-0.3.3-cp311-cp311-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a3fec255d7ae11f11906913c334671bdb0ca59f761b6ac9899c9559692ab4874",
"md5": "d0beac67a5a7a507c24a96f405ce467e",
"sha256": "7f6763b8ea77dd30d2fb4e5a8a2b2565669278ef4036c84ea25d358493052bac"
},
"downloads": -1,
"filename": "tsinfer-0.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "d0beac67a5a7a507c24a96f405ce467e",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 276631,
"upload_time": "2024-07-17T10:51:54",
"upload_time_iso_8601": "2024-07-17T10:51:54.885659Z",
"url": "https://files.pythonhosted.org/packages/a3/fe/c255d7ae11f11906913c334671bdb0ca59f761b6ac9899c9559692ab4874/tsinfer-0.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a5ceeb146f252fe9d57607664edc3b9ad251874c03b00236f3c66c2e00922f11",
"md5": "f4d635f6680f05eca96bb859a98145fd",
"sha256": "0dc16237881d08371c68d65668475565f6d7f5f6f6a991238e05cb2063c0d91b"
},
"downloads": -1,
"filename": "tsinfer-0.3.3-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "f4d635f6680f05eca96bb859a98145fd",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 131217,
"upload_time": "2024-07-17T10:51:56",
"upload_time_iso_8601": "2024-07-17T10:51:56.613505Z",
"url": "https://files.pythonhosted.org/packages/a5/ce/eb146f252fe9d57607664edc3b9ad251874c03b00236f3c66c2e00922f11/tsinfer-0.3.3-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "93eb8a2bb3b3bb595769065f904f5cedf14c41bb2812201893783e4de1f94e16",
"md5": "acd321258d360751865a91d31335c356",
"sha256": "9e6b260a55cbde8b65692290a1818b32f45f5e4a623b36b57496c01941896337"
},
"downloads": -1,
"filename": "tsinfer-0.3.3-cp312-cp312-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "acd321258d360751865a91d31335c356",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 196897,
"upload_time": "2024-07-17T10:51:58",
"upload_time_iso_8601": "2024-07-17T10:51:58.189493Z",
"url": "https://files.pythonhosted.org/packages/93/eb/8a2bb3b3bb595769065f904f5cedf14c41bb2812201893783e4de1f94e16/tsinfer-0.3.3-cp312-cp312-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "48092468b3d9dbfcd08bac70ca7e1dae224ed6690e6b8bcebb8573ac26861b86",
"md5": "8709f00239a3f869e67eaa79bb644b62",
"sha256": "a0965179c27d20353e8b6534da9f8f04b80db3e218bf8ed868059e8d745fa690"
},
"downloads": -1,
"filename": "tsinfer-0.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "8709f00239a3f869e67eaa79bb644b62",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 278267,
"upload_time": "2024-07-17T10:52:00",
"upload_time_iso_8601": "2024-07-17T10:52:00.030585Z",
"url": "https://files.pythonhosted.org/packages/48/09/2468b3d9dbfcd08bac70ca7e1dae224ed6690e6b8bcebb8573ac26861b86/tsinfer-0.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5948ea6e21de94ff2cf3659dc45bc419afe06128d67ef65f4730b56307d874ed",
"md5": "d09e8a3be4897f346ea9deaa0917a0d2",
"sha256": "c8f5ed1ffc2be95889c0724acd85cd23f22b7bc6333192f021edbc0f9c55eafe"
},
"downloads": -1,
"filename": "tsinfer-0.3.3-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "d09e8a3be4897f346ea9deaa0917a0d2",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 131289,
"upload_time": "2024-07-17T10:52:01",
"upload_time_iso_8601": "2024-07-17T10:52:01.942899Z",
"url": "https://files.pythonhosted.org/packages/59/48/ea6e21de94ff2cf3659dc45bc419afe06128d67ef65f4730b56307d874ed/tsinfer-0.3.3-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2eea5ed24a7f9dafd81ed9c1d898ee71f17e6c4b3177f3053b58cb9fed963489",
"md5": "89a688de0eb00da14d0e38739c065f77",
"sha256": "d0d2a46615922f6ef99b330baf766ae8e6d0eb39558f2b6c78fca6fd993a3848"
},
"downloads": -1,
"filename": "tsinfer-0.3.3-cp39-cp39-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "89a688de0eb00da14d0e38739c065f77",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 196419,
"upload_time": "2024-07-17T10:52:03",
"upload_time_iso_8601": "2024-07-17T10:52:03.715971Z",
"url": "https://files.pythonhosted.org/packages/2e/ea/5ed24a7f9dafd81ed9c1d898ee71f17e6c4b3177f3053b58cb9fed963489/tsinfer-0.3.3-cp39-cp39-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a48ee779f286f98c0176c435d896a33f572dbbb82b1fd7fae53417a0574f3e6f",
"md5": "1b6c78603b36b771dc176e22f8a68584",
"sha256": "1e50cd08693e94833a09eb1a7dda25554bf5fa1c58d778d6e8fb0e0c0b4f868e"
},
"downloads": -1,
"filename": "tsinfer-0.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "1b6c78603b36b771dc176e22f8a68584",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 275474,
"upload_time": "2024-07-17T10:52:05",
"upload_time_iso_8601": "2024-07-17T10:52:05.315647Z",
"url": "https://files.pythonhosted.org/packages/a4/8e/e779f286f98c0176c435d896a33f572dbbb82b1fd7fae53417a0574f3e6f/tsinfer-0.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a094b60920691fa826de8a02ad1583d115c8bdfa449b8aa7b2faaa0353d7b357",
"md5": "8a039e50d6fdac37f2212240c47cfeab",
"sha256": "99d83c3dca808f052c2db4cf8160f2aa5eee5aa011dd224f0f06cbde5f33a1cf"
},
"downloads": -1,
"filename": "tsinfer-0.3.3-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "8a039e50d6fdac37f2212240c47cfeab",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 131156,
"upload_time": "2024-07-17T10:52:06",
"upload_time_iso_8601": "2024-07-17T10:52:06.858072Z",
"url": "https://files.pythonhosted.org/packages/a0/94/b60920691fa826de8a02ad1583d115c8bdfa449b8aa7b2faaa0353d7b357/tsinfer-0.3.3-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "34924c7abcb0cdf79e89be32587bbc54bae2bc28fa8e15fee2f1a7b6ebaf3dd9",
"md5": "529d22b050d23924ee754dbb770d5033",
"sha256": "0ecdc079bbd32eafe3c0b56c8e901528347daafd504bb295ecb8050a4209fc90"
},
"downloads": -1,
"filename": "tsinfer-0.3.3.tar.gz",
"has_sig": false,
"md5_digest": "529d22b050d23924ee754dbb770d5033",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 704283,
"upload_time": "2024-07-17T10:52:08",
"upload_time_iso_8601": "2024-07-17T10:52:08.541687Z",
"url": "https://files.pythonhosted.org/packages/34/92/4c7abcb0cdf79e89be32587bbc54bae2bc28fa8e15fee2f1a7b6ebaf3dd9/tsinfer-0.3.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-17 10:52:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "tskit-dev",
"github_project": "tsinfer",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"circle": true,
"lcname": "tsinfer"
}