Releases: tskit-dev/tskit
C API 0.99.11
Features
-
Add
parents
to the individual table to enable recording of pedigrees
(@ivan-krukov, @benjeffery, #852, #1125, #866, #1153, #1177, #1199). -
Added a
tsk_table_collection_canonicalse
method, that allows checking for equality between
tables that are equivalent up to reordering (@petrelharp, @mufernando, #1108). -
Removed a previous requirement on
tsk_table_collection_union
, allowing for unioning of
new information both above and below shared history (@petrelharp, @mufernando, #1108). -
Support migrations in tsk_table_collection_sort. (@jeromekelleher,
#22, #117, #1131).
Breaking changes
-
Method
tsk_individual_table_add_row
has an extra argumentsparents
andparents_length
. -
Add an
options
argument totsk_table_collection_subset
(@petrelharp, #1108),
to allow for retaining the order of populations. -
Mutation error codes have changed
Changes
-
Allow mutations that have the same derived state as their parent mutation.
(@benjeffery, #1180, #1233) -
File minor version change to support individual parents
C API 0.99.10
Minor change to internal APIs
C API 0.99.9
Python 0.3.4
Minor bugfix release.
Bugfixes
- Reinstate the unused zlib_compression option to tskit.dump, as msprime < 1.0 still uses it (@jeromekelleher, #1067).
Python 0.3.3
Minor feature release
Features
-
Add
TreeSequence.genetic_relatedness
for calculating genetic relatedness between
pairs of sets of nodes (@brieuclehmann, #1021, #1023, #974, #973, #898). -
Expose
TreeSequence.coiterate()
method to allow iteration over 2 sequences
simultaneously, aiding comparison of trees from two sequences
(@jeromekelleher, @hyanwong, #1021, #1022). -
tskit is now supported on, and has wheels for, python3.9
(@benjeffery, #982, #907). -
Tree.newick()
now has extra optioninclude_branch_lengths
to allow branch
lengths to be omitted (@hyanwong, #931). -
Added
Tree.generate_star
static method to create star-topologies (@hyanwong,
#934). -
Added
Tree.generate_comb
andTree.generate_balanced
methods to create
example trees. (@jeromekelleher, #1026). -
Added
equals
method to TreeSequence, TableCollection and each of the tables which
provides more flexible equality comparisons, for example, allowing
users to ignore metadata or provenance in the comparison
(@mufernando, @jeromekelleher, #896, #897,
#913, #917). -
Added
__eq__
to TreeSequence
(@benjeffery, #1011, #1020). -
ts.dump
andtskit.load
now support reading and writing file objects such as
FIFOs and sockets (@benjeffery, #657, #909). -
Added
tskit.write_ms
for writing to MS format
(@saurabhbelsare, #727, #854). -
Added
TableCollection.indexes
for access to the edge insertion/removal order indexes
(@benjeffery, #4, #916). -
The dictionary representation of a TableCollection now contains its index
(@benjeffery, #870, #921). -
Added
TreeSequence._repr_html_
for use in jupyter notebooks
(@benjeffery, #872, #923). -
Added
TreeSequence.__str__
to display a summary for terminal usage
(@benjeffery, #938, #985). -
Added
TableCollection.dump
andTableCollection.load
. This allows table
collections that are not valid tree sequences to be manipulated
(@benjeffery, #14, #986). -
Added
nbytes
method to tables,TableCollection
andTreeSequence
which
reports the size in bytes of those objects
(@jeromekelleher, @benjeffery, #54, #871). -
Added
TableCollection.clear
to clear data table rows and optionally
provenances, table schemas and tree-sequence level metadata and schema
(@benjeffery, #929, #1001).
Bugfixes
-
LightWeightTableCollection.asdict
andTableCollection.asdict
now return copies
of arrays (@benjeffery, #1025, #1029). -
The
map_mutations
method previously used the Fitch parsimony method, but this
does not produce parsimonious results on non-binary trees. We now now use the
Hartigan parsimony algorithm, which does (@jeromekelleher,
#987, #1030). -
The
flag
argument to tables'add_row
was treating the value as signed
(@benjeffery, #1027, #1031).
Breaking changes
- The argument to
ts.dump
andtskit.load
has been renamedfile
frompath
. - All arguments to
Tree.newick()
except precision are now keyword-only. - Renamed
ts.trait_regression
tots.trait_linear_model
.
C API 0.99.8
Minor feature release
New features
-
Add
tsk_treeseq_genetic_relatedness
for calculating genetic relatedness between
pairs of sets of nodes (@brieuclehmann, #1021, #1023, #974, #973, #898). -
Exposed
tsk_table_collection_set_indexes
to the API
(@benjeffery, #870, #921).
Breaking changes
-
Added an
options
argument totsk_table_collection_equals
and table equality methods to allow for more flexible equality criteria
(e.g., ignore top-level metadata and schema or provenance tables).
Existing code should add an extra final parameter0
to retain the
current behaviour (@mufernando, @jeromekelleher,
#896, #897, #913, #917). -
Changed default behaviour of
tsk_table_collection_clear
to not clear
provenances and addedoptions
argument to optionally clear provenances
and schemas (@benjeffery, #929, #1001). -
Renamed
tsk_treeseq_trait_regression
totsk_treeseq_trait_linear_model
.
Python 0.3.2
Minor feature release
Breaking changes
- Change several methods (
simplify()
,trees()
,Tree()
) so most parameters
are keyword only, not positional. This allows reordering of parameters, so
that deprecated parameters can be moved, and the parameter order in similar functions,
e.g.TableCollection.simplify
andTreeSequence.simplify()
can be made
consistent (@hyanwong, #374, #846, #851)
Features
-
Tree accessor functions (e.g.
ts.first()
,ts.at()
pass extra parameters such as
sample_indexes
to the underlyingTree
constructor; alsoroot_threshold
can
be specified when callingts.trees()
(@hyanwong, #847, #848) -
Genomic intervals returned by python functions are now namedtuples, allowing
.left
.right
and.span
usage (@hyanwong, #784, #786, #811) -
Added
include_terminal
parameter to edge diffs iterator, to output the last edges
at the end of a tree sequence (@hyanwong, #783, #787) -
#832 - Add
metadata_bytes
method to allow access to raw
TableCollection metadata (@benjeffery, #842) -
tskit.is_unknown_time
can now check arrays. (@benjeffery, #857).
C API 0.99.7
Minor feature release
-
Added
TSK_INCLUDE_TERMINAL
option totsk_diff_iter_init
to output the last edges
at the end of a tree sequence (@hyanwong, #783, #787) -
Added
tsk_bug_assert
for assertions that should be compiled into release binaries
(@benjeffery, #860)
Python 0.3.1
Minor bugfix release
Bugfixes
-
#823 - Fix mutation time error when using
simplify(keep_input_roots=True)
(@petrelharp, #823). -
#821 - Fix mutation rows with unknown time never being equal (@petrelharp, #822).
C API 0.99.6
Bugfixes
- #823 - Fix mutation time error when using
tsk_table_collection_simplify
withTSK_KEEP_INPUT_ROOTS
(@petrelharp, #823).