Releases: markovmodel/PyEMMA
Major release
New features:
-
msm: variational scores for model selection of MSMs. The scores are based on the variational
approach for Markov processes [1, 2] and can be employed for both reversible and non-reversible
MSMs. Both the Rayleigh quotient as well as the kinetic variance [3] and their non-reversible
generalizations are available. The scores are implemented in thescore
method of the MSM
estimatorsMaximumLikelihoodMSM
andOOMReweightedMSM
. Rudimentary support for Cross-validation
similar as suggested in [4] is implemented in thescore_cv
method, however this is currently
inefficient and will be improved in future versions. #1093 -
config: Added a lot of documentation and added
mute
option to silence PyEMMA (almost completely). -
References:
[1] Noe, F. and F. Nueske: A variational approach to modeling slow processes
in stochastic dynamical systems. SIAM Multiscale Model. Simul. 11, 635-655 (2013).
[2] Wu, H and F. Noe: Variational approach for learning Markov processes
from time series data (in preparation).
[4] Noe, F. and C. Clementi: Kinetic distance and kinetic maps from molecular
dynamics simulation. J. Chem. Theory Comput. 11, 5002-5011 (2015).
[3] McGibbon, R and V. S. Pande: Variational cross-validation of slow
dynamical modes in molecular kinetics, J. Chem. Phys. 142, 124105 (2015). -
coordinates:
- kmeans: allow the random seed used for initializing the centers to be passed. The prior behaviour
was to init the generator by time, if fixed_seed=False. Now bool and int can be passed. #1091
- kmeans: allow the random seed used for initializing the centers to be passed. The prior behaviour
-
datasets:
- added a multi-ensemble data generator for the 1D asymmetric double well. #1097
Fixes:
-
coordinates:
- StreamingEstimators: If an exception occurred during flipping the
in_memory
property,
the state is not updated. #1096 - Removed deprecated method parametrize. Use estimate or fit for now. #1088
- Readers: nice error messages for file handling errors (which file caused the error). #1085
- TICA: raise ZeroRankError, if the input data contained only constant features. #1055
- KMeans: Added progress bar for collecting the data in pre-clustering phase. #1084
- StreamingEstimators: If an exception occurred during flipping the
-
msm:
- ImpliedTimescales estimation can be interrupted (strg+c, stop button in Jupyter notebooks). #1079
-
general:
- config: better documentation of the configuration parameters. #1095
Service release
2.3.2 (2-19-2017)
New features:
- thermo:
- Allow for periodicity in estimate_umbrella_sampling()
- Add *_full_state getter variants to access stationary properties on the full set of states
instead of the active set.
Fixes:
Service release
new major
New features:
-
coordinates:
- tica: New option "weights". Can be "empirical", which does the same as before,
or "koopman", which uses the re-weighting procedure from [1] to compute equi-
librium covariance matrices. The user can also supply his own re-weighting me-
thod. This must be an object that possesses a function weights(X), that assigns
a weight to every time-step in a trajectory X. #1007 - covariance_lagged: This new method can be used to compute covariance matrices
and time-lagged covariance matrices between time-series. It is also possible
to use the re-weighting method from [1] to compute covariance matrices in equi-
librium. This can be triggered by the option "weights", which has the same spe-
cifications as in tica. #1007
- tica: New option "weights". Can be "empirical", which does the same as before,
-
msm:
- estimate_markov_model: New option "weights". Can be empirical, which does the
same as before, or "oom", which triggers a transition matrix estimator based
on OOM theory to compute an equilibrium transition matrix from possibly non-
equilibrium data. See Ref. [2] for details. #1012, #1016 - timescales_msm: The same change as in estimate_markov_model. #1012, #1016
- TPT: if user provided sets A and B do not overlap (no need to split), preserve order of user states. #1005
- estimate_markov_model: New option "weights". Can be empirical, which does the
-
general: Added an automatic check for new releases upon import. #986
-
References:
[1] Wu, H., Nueske, F., Paul, F., Klus, S., Koltai, P., and Noe, F. 2017. Bias reduced variational
approximation of molecular kinetics from short off-equilibrium simulations. J. Chem. Phys. (submitted),
https://arxiv.org/abs/1610.06773.
[2] Nueske, F., Wu, H., Prinz, J.-H., Wehmeyer, C., Clementi, C., and Noe, F. 2017. Markov State Models from
short non-Equilibrium Simulations - Analysis and Correction of Estimation Bias. J. Chem. Phys.
(submitted).
Fixes:
-
coordinates:
- kmeans: fixed a rare bug, which led to a segfault, if NaN is contained in input data. #1010
- Featurizer: fix reshaping of AnglesFeature. #1018. Thanks @RobertArbon
-
plots: Fix drawing into existing figures for network plots. #1020
Service release
New features:
- coordinates:
- for lag < chunksize improved speed (50%) for TICA. #960
- new config variable "coordinates_check_output" to test for "NaN" and "inf" values in
iterator output for every chunk. The option is disabled by default. It gives insight
during debugging where faulty values are introduced into the pipeline. #967
Fixes:
- coordinates:
- msm: low-level api removed (use msmtools for now, if you really need it). #550
Service release
Merge pull request #936 from marscher/fix_msm_reversible_setter Fix msm reversible setter
Service release
New features:
- plots: network plots can now be plotted using a given Axes object.
- thermo: TRAM supports the new parameter equilibrium which triggers a TRAMMBAR estimation.
- thermo: the model_active_set and msm_active_set attributes in estimated MEMMs is deprecated; every
MSM in models now contains its own active_set. - thermo: WHAM and MBAR estimations return MultiThermModel objects; return of MEMMs is reserved for
TRAM/TRAMMBAR/DTRAM estimations.
Fixes:
- coordinates: MiniBatchKmeans with MD-data is now memory efficient
and successfully converges. It used to only one batch during iteration. #887 #890 - coordinates: source and load function accept mdtraj.Trajectory objects to extract topology. #922. Thanks @jeiros
- base: fix progress bars for modern joblib versions.
- plots: fix regression in plot_markov_model with newer NumPy versions #907. Thanks @ghoti687.
- estimation: for n_jobs=1 no multi-processing is used.
- msm: scale transition path times by time unit of MSM object in order to get
physical time scales. #929
Service release
Service release to hot-fix "Permission denied: '/traj_info_usage'" #882
Service release
New features:
- coordinates: SQLite backend for trajectory info data. This enables fast access to this data
on parallel filesystems where multiple processes are writing to the database. This greatly
speeds ups reader construction and enables fast random access for formats which usually do not
support it. #798 - plots: new optional parameter arrow_label_size for network plotting functions to use a custom
font size for the arrow labels; the default state and arrow label sizes are now determined by the
matplotlib default. #858 - coordinates: save_trajs takes optional parameter "image_molecules" to correct for broken
molecules across periodic boundary conditions. #841
Fixes:
- coordinates: set chunksize correctly. #846
- coordinates: For angle features it was possible to use both cossin=True and deg=True, which
makes not sense. #857 - coordinates: fixed a memory error in kmeans clustering which affected large data sets (>=64GB). #839
- base: fixed a bug in ProgressReporter (_progress_force_finish in stack trace). #869
- docs: fixed a lot of docstrings for inherited classes both in coordinates and msm package.
Service release
Fixes:
- clustering: fixed serious bug in minRMSD distance calculation, which led to
lots of empty clusters. The bug was introduced in version 2.1. If you used
this metric, please re-assign your trajectories. #825 - clustering: fixed KMeans with minRMSD metric. #814
- thermo: made estimate_umbrella_sampling more robust w.r.t. input and fixed doumentation. #812 #827
- msm: low-level api usage deprecation warnings only show up when actually used.