def test_pcca_1(): assignments, ref_macrostate_assignments = _metastable_system() pipeline = Pipeline([('msm', MarkovStateModel()), ('pcca+', PCCA(2))]) macro_assignments = pipeline.fit_transform(assignments)[0] # we need to consider any permutation of the state labels when we # test for equality. Since it's only a 2-state that's simple using # the logical_not to flip the assignments. assert (np.all(macro_assignments == ref_macrostate_assignments) or np.all( macro_assignments == np.logical_not(ref_macrostate_assignments)))
from msmbuilder.msm import MarkovStateModel assign, ref_macro_assign = tlp._metastable_system() fig1 = plt.figure() plt.plot(assign, 'o') plt.title('microstate assignments') plt.savefig('/home/shenglan/TryMSMbuilder/output/test_microassign.png') plt.close(fig1) print assign.shape print ref_macro_assign.shape print assign[0] test = PCCA(2).fit(assign) macro_assign = test.fit_transform(assign)[0] print test.n_states_ print test.mapping_ print macro_assign.shape print np.sum(macro_assign) print len(np.unique(macro_assign)) == 2 fig2 = plt.figure() plt.plot(macro_assign, 'o') plt.title('macro assignments') plt.savefig('/home/shenglan/TryMSMbuilder/output/test_macroassign.png') plt.close(fig2)