Skip to content

Commit 936bf86

Browse files
authored
Merge pull request #1689 from benjeffery/roadmap
Add draft roadmap
2 parents 8adfef0 + 1f3a464 commit 936bf86

File tree

2 files changed

+61
-6
lines changed

2 files changed

+61
-6
lines changed

README.md

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,30 @@
77
![OS](https://img.shields.io/badge/OS-linux%20%7C%20OSX%20%7C%20win--64-steelblue)
88

99

10-
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](https://github.com/tskit-dev/msprime), [SLiM](https://github.com/MesserLab/SLiM), [fwdpp](http://molpopgen.github.io/fwdpp/), and [tsinfer](https://tsinfer.readthedocs.io/en/latest/)) that either simulate or infer the evolutionary history of genetic sequences.
10+
Succinct tree sequences are a highly efficient way of storing a set of related DNA
11+
sequences by encoding their ancestral history as a set of correlated trees along the
12+
genome. The tree sequence format is output by a number of software libraries and programs
13+
(such as [msprime](https://github.com/tskit-dev/msprime), [SLiM](https://github.com/MesserLab/SLiM), [fwdpp](http://molpopgen.github.io/fwdpp/), and [tsinfer](https://tsinfer.readthedocs.io/en/latest/)) that either simulate or infer the evolutionary history of genetic sequences.
1114

12-
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](https://tskit.readthedocs.io/en/latest/) for further details, which includes [installation instructions](https://tskit.readthedocs.io/en/latest/installation.html).
15+
The `tskit` library provides the underlying functionality used to load, examine, and
16+
manipulate tree sequences, including efficient methods for calculating genetic
17+
statistics. It often forms part of an installation of other software packages such as
18+
those listed above. Please see the
19+
[documentation](https://tskit.readthedocs.io/en/latest/) for further details, which
20+
includes
21+
[installation instructions](https://tskit.readthedocs.io/en/latest/installation.html).
22+
See the [road map](https://github.com/tskit-dev/tskit/blob/main/ROADMAP.md)
1323

14-
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.
24+
To get started with tskit, tutorials and other content are at http://tskit.dev. For help
25+
and support from the community you can use
26+
[discussions](https://github.com/tskit-dev/tskit/discussions) here on github, or raise an
27+
issue for a specific bug or feature request.
1528

16-
The base `tskit` library provides both a Python and C API. A Rust API is provided in the [tskit-rust](https://github.com/tskit-dev/tskit-rust) repository.
29+
tskit warmly welcomes contributions from the community. Raise an issue if you have an
30+
idea you'd like to work on, or submit a PR for comments and help.
31+
32+
The base `tskit` library provides both a Python and C API. A Rust API is provided in the
33+
[tskit-rust](https://github.com/tskit-dev/tskit-rust) repository.
1734

1835

1936
#### Python API
@@ -23,10 +40,15 @@ The base `tskit` library provides both a Python and C API. A Rust API is provide
2340
[![Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
2441
[![Travis](https://img.shields.io/travis/tskit-dev/tskit)](https://travis-ci.org/github/tskit-dev/tskit)
2542

26-
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.readthedocs.io/en/latest/python-api.html).
43+
Most users of `tskit` will use the python API as it provides a convenient, high-level API
44+
to access, analyse and create tree sequences. Full documentation is
45+
[here](https://tskit.readthedocs.io/en/latest/python-api.html).
2746

2847
#### C API
2948
[![C99](https://img.shields.io/badge/Language-C99-steelblue.svg)](https://en.wikipedia.org/wiki/C99)
3049
[![CircleCI](https://circleci.com/gh/tskit-dev/tskit.svg?style=shield)](https://circleci.com/gh/tskit-dev/tskit)
3150

32-
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.readthedocs.io/en/latest/c-api.html).
51+
The `tskit` C API provides comprehensive, low-level methods for manipulating and
52+
processing tree-sequences. Written to the C99 standard and fully thread-safe, it can be
53+
used with either C or C++. Full documentation is
54+
[here](https://tskit.readthedocs.io/en/latest/c-api.html).

ROADMAP.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
This roadmap is a rough plan of upcoming work. Contributions are welcome at anytime,
2+
no matter where something is on this list.
3+
4+
## Next release
5+
###[Python 0.3.8](https://github.com/tskit-dev/tskit/milestone/26) and [C 0.99.15](https://github.com/tskit-dev/tskit/milestone/28)
6+
- Complete IBD features [(project)](https://github.com/tskit-dev/tskit/projects/8)
7+
- Large 64bit metadata columns (Python, already in C 0.99.14)
8+
- Small additions cleanup and bugfixes (see milestone [issue list](https://github.com/tskit-dev/tskit/milestone/26))
9+
10+
## Nearterm goals
11+
12+
### [C API 1.0](https://github.com/tskit-dev/tskit/milestone/1)
13+
- Document all structs and methods that will be stable and supported indefinitely
14+
- Remove legacy cruft
15+
- Other clean up including sorting bugs and small features (see milestone issue list)
16+
17+
## Medium term priorities
18+
19+
### [Metadata](https://github.com/tskit-dev/tskit/projects/7)
20+
- Improve user experience by adding convenience methods for updating, retrieving metadata and schemas
21+
- Codec performance
22+
- Standardised schemas
23+
24+
### [Stats API](https://github.com/tskit-dev/tskit/projects/6)
25+
- Added stats and options
26+
- Improve errors
27+
- (Fully deal with missing data)[https://github.com/tskit-dev/tskit/issues/287]
28+
- Time windowed statistics
29+
30+
### [Random Tree Access](https://github.com/tskit-dev/tskit/projects/5)
31+
- Build indexes to allow performant random tree access
32+
33+
### [Reference Sequence support](https://github.com/tskit-dev/tskit/issues/146)

0 commit comments

Comments
 (0)