Skip to content

Feature and performance release

Latest

Choose a tag to compare

@jeromekelleher jeromekelleher released this 25 Sep 13:46
· 1 commit to main since this release

Feature and performance release.

Highlights

  • Extended genetic_value with level="individual" (default), level="node", and level="edge" to return genetic values for the corresponding entities. #189
  • Added edge_effect to compute introduced effects on edges #189
  • Improved algorithm for genetic_value. Traits with many rare causal sites may be much faster, but the time required for common variants still dominates #194.
  • genetic_value and sim_phenotype take a num_threads argument, dividing the causal sites between that many worker threads. The default of 0 does the work on the calling thread. Up to 3.4 times faster on four threads, and less on a tree sequence big enough that the per-thread arrays leave cache #194

Breaking changes

  • genetic_value and edge_effect now raise a ValueError if a site_id in the trait dataframe is not a valid site ID in the tree sequence. Negative values previously wrapped around to the end of the site table #193

Documentation

  • Added a worked example relating causal-allele effects, edge effects, and edge, node, and individual genetic values #189
  • Clarified that tstrait currently uses a site-mode effect model #189

Bugfix

  • Fix an out-of-bounds write in the node traversal when the causal allele is the ancestral allele, in which case the virtual root is a causal node #192, #191.