@@ -14,7 +14,7 @@ https://tskit.dev/pyslim/docs/latest/previous_versions.html
1414- SLiM tree sequence file version number has changed to 0.9.
1515
1616- This is a change in SLiM, really, but top-level SLiM metadata now requires
17- a `"this_chromosome" ` entry.
17+ a `"this_chromosome" ` entry.
1818
1919- Similarly, node metadata no longer has `genome_type ` or `is_null `; instead
2020 they have `is_vacant `, and the chromosome type is in top-level metadata,
@@ -25,7 +25,13 @@ https://tskit.dev/pyslim/docs/latest/previous_versions.html
2525 wishing to set up a multi-chromosome simulation should use instead
2626 `pyslim.slim_node_metadata_schema ` (which has the appropriate value in
2727 `["properties"]["is_vacant"]["length"] `)
28- (:user: `petrelharp `, :pr: `367 `)
28+ (:user: `petrelharp `, :pr: `367 `).
29+
30+ - Previously, `pyslim.annotate ` would leave existing node and individual
31+ metadata, even if this metadata came from a different schema. This
32+ could silently create garbage metadata. Now, `annotate ` removes
33+ any existing metadata, and warns if this occurs
34+ (:user: `petrelharp `, :pr: `390 `).
2935
3036**Notable changes **:
3137
@@ -38,7 +44,7 @@ https://tskit.dev/pyslim/docs/latest/previous_versions.html
3844
3945- `pyslim.set_slim_state ` will adjust times and "alive" flags so
4046 that when the tree sequence is loaded into SLiM it will have
41- a specified set of individuals alive.
47+ a specified set of individuals alive at a particular time .
4248 (:user: `petrelharp `, :pr: `384 `)
4349
4450- Functions `pyslim.node_is_vacant ` and `pyslim.has_vacant_samples `
@@ -61,27 +67,27 @@ https://tskit.dev/pyslim/docs/latest/previous_versions.html
6167
6268**Bugfixes **:
6369
64- - The individual flags `INDIVIDUAL_ALIVE `, `INDIVIDUAL_REMEMBERED `,
65- and `INDIVIDUAL_RETAINED ` were signed integers, but the flags in the
66- individual table they apply to are unsigned, so using the
67- bitwise negation operator `~ ` could result in an error. Now,
68- they are np.uint32 values. (:user: `petrelharp `, :pr: `378 `)
69-
7070- Recapitation on tree sequences with null genomes would attempt to simulate
7171 the history of those null genomes; this would in all but exceptional cases
7272 fail with an error ("not all roots are at the time expected"). Now, null
7373 genomes are "vacant" (see above) and `recapitate ` removes their
7474 sample flags before recapitating (and optionally puts them back)
75- as described above (:user: `petrelharp `, :pr: `367 `)
76-
75+ as described in ` pyslim.remove_vacant ` (:user: `petrelharp `, :pr: `367 `).
76+
7777- Previously, recapitation would require the roots of all trees to be
7878 at the same time (roughly) as the 'tick' stored in the top-level metadata;
7979 however, this would not be the case if the first population was added
80- later than the first tick. (:user: `petrelharp `, :pr: `382 `)
80+ later than the first tick. The requirement has therefore been removed.
81+ (:user: `petrelharp `, :pr: `382 `)
8182
8283- The `generated_nucleotides ` method now sets the `nucleotide_based ` entry
83- in top-level metadata to True.
84- (:user: `petrelharp `, :pr: `385 `)
84+ in top-level metadata to True. (:user: `petrelharp `, :pr: `385 `)
85+
86+ - The individual flags `INDIVIDUAL_ALIVE `, `INDIVIDUAL_REMEMBERED `,
87+ and `INDIVIDUAL_RETAINED ` were signed integers, but the flags in the
88+ individual table they apply to are unsigned, so using the
89+ bitwise negation operator `~ ` could result in an error. Now,
90+ they are np.uint32 values. (:user: `petrelharp `, :pr: `378 `)
8591
8692
8793***************************
0 commit comments