Closed fyrazu closed 7 years ago
There's currently no TRAM for HMMs, TRAM is really based on the MSM likelihood. I suppose it's possible to do that, but it's a research project to even develop the theory and currently not on our TODO list.
Based on what's currently available, I think your best bet is to take the MSM from TRAM at your temperature of interest (up to 500 states), and then do whatever you can on the level of that transition matrix. You can do PCCA in order to get a definition of 2-5 coarse-grained states. You can do TPT in order to compute fluxes (they can be easily coarse-grained), and you can compute mfpts between states.
Getting a coarse transition or rate matrix is more difficult. "Direct" coarse-graining (i.e. doing something like
P = msm.transition_matrix pi = msm.stationary_distribution # stationary distribution of MSM C = pi[:, None] * P # correlation matrix (unconditional transition probabilities) msm.pcca(5) # coarse-grain sets = msm.metastable_sets Pcoarse = np.zeros((5, 5)) # coarse transition matrix for i in range(5): for j in range(5): if i != j: Pcoarse[i, j] = P[sets[i]][:, sets[j]].sum() / pi[sets[i]].sum() # directly sum unconditional transition probabilities between sets
will give you an intuition, but this is not a good transition matrix, i.e. it will have much underestimated timescales / overestimated transition probabilities/rates. A better approach to coarse-grain the transition matrix is to use the methods by Hummer and Szabo, or by Faccioli, but that's currently not implemented in PyEMMA.
Am 28/02/17 um 18:11 schrieb fyrazu:
My aim is to probe the rates of folding and unfolding for a given protein. In order to do that, I have a set of trajectories which are not necessarily equilibrated, and run at different temperatures. First of all I apply TICA (using pyemma.coordinates.tica) and then cluster the TICA-transformed trajectories into 500 clusters (using pyemma.coordinates.cluster_kmeans). These clustered trajectories I then feed into pyemma.thermo.estimate_multi_temperature, using tram as the estimator.
My question is, now that I have obtained a re-weighted transition matrix for (in this case) 500 clusters at a certain temperature, how do I proceed to obtain a hidden MSM from it, in order to define 2 to 5 hidden states? Because I cannot find a function to estimate a HMM from the TRAM-re-weighted MSM I already obtained.
Thank you,
Fernando
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/markovmodel/PyEMMA/issues/1054, or mute the thread https://github.com/notifications/unsubscribe-auth/AGMeQnDFb0hxCF8a1D3u-LsNzml55gwqks5rhFVegaJpZM4MOq74.
--
Prof. Dr. Frank Noe Head of Computational Molecular Biology group Freie Universitaet Berlin
Thank you, Frank. I will explore those options you mention.
My aim is to probe the rates of folding and unfolding for a given protein. In order to do that, I have a set of trajectories which are not necessarily equilibrated, and run at different temperatures. First of all I apply TICA (using pyemma.coordinates.tica) and then cluster the TICA-transformed trajectories into 500 clusters (using pyemma.coordinates.cluster_kmeans). These clustered trajectories I then feed into pyemma.thermo.estimate_multi_temperature, using tram as the estimator.
My question is, now that I have obtained a re-weighted transition matrix for (in this case) 500 clusters at a certain temperature, how do I proceed to obtain a hidden MSM from it, in order to define 2 to 5 hidden states? Because I cannot find a function to estimate a HMM from the TRAM-re-weighted MSM I already obtained.
Thank you,
Fernando