multitrait changes - #431
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #431 +/- ##
==========================================
+ Coverage 96.50% 96.57% +0.06%
==========================================
Files 8 8
Lines 773 904 +131
Branches 146 181 +35
==========================================
+ Hits 746 873 +127
- Misses 17 18 +1
- Partials 10 13 +3
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Note: docs are not building on CI because the docs require multitrait SLiM, and we're using the tskit action to build docs. |
|
Back at this. After the (non-)resolution of cacheing metadata in tskit-dev/tskit#3475, I'm trying to minimize calls to |
|
The top-level metadata sure does affect runtime: for instance, without cacheing the test suite runtimes are: and with: So, that's 217s to 97s in total: not a big deal. But, some of those differ by 10x, and this is after going through and trying to minimize amount of multiple metadata accesses. It's all fine, but people will have to pay attention. |
gregorgorjanc
left a comment
There was a problem hiding this comment.
I have read through the docs changes and suggested some minor edits or gave comments. Have not looked at the code.
There was a problem hiding this comment.
@petrelharp I gave a careful read to all the docs changes as well as the docstrings to the new functions. It all looks pretty clear to me. Thanks for the big push!!
|
This is big and unwieldy, I'm going to merge this and deal with subsequent issues separately. |
a start at new metadata more testing for add_mutation_metadata test that catches duplicated substitution bug in SLiM added passing around ts_metadata dev slim in docs build?

Update to SLiM v6. The docs build unit test is not expected to pass until SLiM v6 is released, since setting up the github docs build action to work with development head slim is more than I am up for at the moment.
Besides the updates to metadata, etcetera, a big thing here is trying to get across/make clear that accessing top-level metadata is now costly.
Summary of changes:
ts_metdataargument, so if you've "pre-computed" this you can pass it in:individual_ages,individuals_alive_at,slim_time_ts_metadataargument for the same reason but just for internal use; these are methods that are involved in a workflow that rewrites the tree sequence anyhow, so cacheing and re-using the metadata wouldn't save much and could easily lead to errors; these are:has_vacant_samples,remove_vacant,restore_vacant,nucleotide_attakes an optionalmut_metadataargument, which can be pre-computednode_is_vacantand addnodes_vacant; I haven't added ats_metadataargument to this one since we expect people to call it only oncemutation_metadatato pull out a version of the mutation metadata indexed by SLiM idadd_mutation_metadatato add this to metadata, which is necessary aftersim_mutations