C API C_1.2.0
Breaking changes
-
Remove
tsk_diff_iter_tand associated functions.
(@benjeffery, #3221, #2797). -
tsk_treeseq_initnow requires that mutation parents in the table collection
are correct and consistent with the topology of the tree at each mutation site.
ReturnsTSK_ERR_BAD_MUTATION_PARENTif this is not the case, or
TSK_ERR_MUTATION_PARENT_AFTER_CHILDif the mutations are not in an order
compatible with the correct mutation parent.
(@benjeffery, #2729, #2732, #3212).
Features
-
Add
TSK_TS_INIT_COMPUTE_MUTATION_PARENTStotsk_treeseq_init
to compute mutation parents from the tree sequence topology.
Note that the mutations must be in the correct order.
(@benjeffery, #2757, #3212). -
Add
TSK_CHECK_MUTATION_PARENTSoption totsk_table_collection_check_integrity
to check that mutation parents are consistent with the tree sequence topology.
This option impliesTSK_CHECK_TREES.
(@benjeffery, #2729, #2732, #3212). -
Add the
TSK_NO_CHECK_INTEGRITYoption totsk_table_collection_compute_mutation_parents
to skip the integrity checks that are normally run when computing mutation parents.
This is useful for speeding up the computation of mutation parents when the
tree sequence is certainly known to be valid.
(@benjeffery, #3212). -
Mutations returned by
tsk_treeseq_get_mutationnow include pre-computed
inherited_stateandinherited_state_lengthfields. The inherited state
is computed during tree sequence initialization and represents the state that
existed at the site before each mutation occurred (either the ancestral state
if the mutation is the root mutation or the derived state of the parent mutation).
Note that this breaks ABI compatibility due to the addition of these fields
to thetsk_mutation_tstruct.
(@benjeffery, #3277, #2631).