jdrusso / msm_we

History-augmented Markov analysis of weighted ensemble trajectories.
https://msm-we.readthedocs.io
MIT License
7 stars 7 forks source link

Cache pcoord on restart #16

Closed jdrusso closed 2 years ago

jdrusso commented 2 years ago

When restarting, pcoords must be re-calculated for every single start-state. This becomes extremely slow for large numbers of states and expensive pcoord calculations.

Furthermore, it's unnecessary, because we already have the pcoords. This PR includes a change where modelWE.update_cluster_structures(build_pcoord_cache=True) will produce a dictionary mapping each [cluster idx][seg idx] to its pcoord.

When the restart plugin initializes a new run, it will temporarily overload the propagator's get_pcoord to use this cache, then restore the original behavior after initialization is complete.

TODO:

codecov[bot] commented 2 years ago

Codecov Report

Merging #16 (48d062a) into main (0117498) will increase coverage by 0.08%. The diff coverage is 78.57%.

@@            Coverage Diff             @@
##             main      #16      +/-   ##
==========================================
+ Coverage   53.15%   53.24%   +0.08%     
==========================================
  Files          23       23              
  Lines        3672     3685      +13     
==========================================
+ Hits         1952     1962      +10     
- Misses       1720     1723       +3     
Impacted Files Coverage Δ
msm_we/_hamsm/_data.py 43.89% <ø> (ø)
msm_we/_hamsm/_clustering.py 52.25% <78.57%> (+0.56%) :arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more