Skip to content

1.0.0.a5

Pre-release
Pre-release
Compare
Choose a tag to compare
@rmnldwg rmnldwg released this 06 Feb 16:36
· 233 commits to main since this release

What's New

In this alpha release we fixed more bugs and issues that emerged during more rigorous testing.

Most notably, we backed away from storing the transition matrix in a model's instance. Because it created opaque and confusion calls to functions trying to delete them when parameters were updated.

Instead, the function computing the transition matrix is now globally cached using a hash function from the graph representation. This has the drawback of slightly more computation time when calculating the hash. But the advantage is that e.g. in a bilateral symmetric model, the transition matrix of the two sides is only ever computed once when (synched) parameters are updated.

Bug Fixes

  • (graph) Assume nodes is dictionary, not a list. Fixes #64
  • (uni) Update draw_patients() method to output LyProX style data. Fixes #65
  • (bi) Update bilateral data generation method to also generate LyProX style data. Fixes #65
  • (bi) Syntax error in init_synchronization. Fixes #69
  • (uni) Remove need for transition matrix deletion via a global cache. Fixes #68
  • (uni) Use cached matrices & simplify stuff. Fixes #68
  • (uni) Observation matrix only property, not cached anymore

Documentation

  • Fix typos & formatting errors in docstrings

Features

  • (graph) Implement graph hash for global cache of transition matrix
  • (helper) Add an arg0 cache decorator that caches based on the first argument only
  • (matrix) Use cache for observation & diagnose matrices. Fixes #68

Miscellaneous Tasks

  • Update dependencies & classifiers

Refactor

  • Variables inside generate_transition()

Testing

  • Make doctests discoverable by unittest
  • Update tests to changed API
  • (uni) Assert format & distribution of drawn patients
  • (uni) Allow larger delta for synthetic data distribution
  • (bi) Check bilateral data generation method
  • Check the bilateral model with symmetric tumor spread
  • Make sure delete & recompute synced edges' tensor work
  • Adapt tests to changed Edge API
  • (bi) Evaluate transition matrix recomputation
  • Update tests to match new transition matrix code
  • Update trinary unilateral tests

Change

  • BREAKING Compute transition tensor globally. Fixes #69
  • BREAKING Make transition matrix a method instead of a property. Fixes #40
  • BREAKING Make observation matrix a method instead of a property. Fixes #40

Ci

  • Add coverage test dependency back into project

Remove

  • Unused files and directories

Full diff