本文整理汇总了Python中msmbuilder.msm.MarkovStateModel类的典型用法代码示例。如果您正苦于以下问题:Python MarkovStateModel类的具体用法?Python MarkovStateModel怎么用?Python MarkovStateModel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MarkovStateModel类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_harder_hubscore
def test_harder_hubscore():
# depends on tpt.committors and tpt.conditional_committors
assignments = np.random.randint(10, size=(10, 1000))
msm = MarkovStateModel(lag_time=1)
msm.fit(assignments)
hub_scores = tpt.hub_scores(msm)
ref_hub_scores = np.zeros(10)
for A in range(10):
for B in range(10):
committors = tpt.committors(A, B, msm)
denom = msm.transmat_[A, :].dot(committors)
for C in range(10):
if A == B or A == C or B == C:
continue
cond_committors = tpt.conditional_committors(A, B, C, msm)
temp = 0.0
for i in range(10):
if i in [A, B]:
continue
temp += cond_committors[i] * msm.transmat_[A, i]
temp /= denom
ref_hub_scores[C] += temp
ref_hub_scores /= (9 * 8)
npt.assert_array_almost_equal(ref_hub_scores, hub_scores)
开发者ID:Eigenstate,项目名称:msmbuilder,代码行数:31,代码来源:test_tpt.py
示例2: test_13
def test_13():
model = MarkovStateModel(n_timescales=2)
model.fit([[0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 3, 3, 3, 1, 1, 2, 2, 0, 0]])
left_right = np.dot(model.left_eigenvectors_.T, model.right_eigenvectors_)
# check biorthonormal
np.testing.assert_array_almost_equal(
left_right,
np.eye(3))
# check that the stationary left eigenvector is normalized to be 1
np.testing.assert_almost_equal(model.left_eigenvectors_[:, 0].sum(), 1)
# the left eigenvectors satisfy <\phi_i, \phi_i>_{\mu^{-1}} = 1
for i in range(3):
np.testing.assert_almost_equal(
np.dot(model.left_eigenvectors_[:, i],
model.left_eigenvectors_[:, i] / model.populations_), 1)
# and that the right eigenvectors satisfy <\psi_i, \psi_i>_{\mu} = 1
for i in range(3):
np.testing.assert_almost_equal(
np.dot(model.right_eigenvectors_[:, i],
model.right_eigenvectors_[:, i] *
model.populations_), 1)
开发者ID:back2mars,项目名称:msmbuilder,代码行数:25,代码来源:test_msm.py
示例3: test_fluxes_1
def test_fluxes_1():
# depends on tpt.committors
msm = MarkovStateModel(lag_time=1)
assignments = np.random.randint(3, size=(10, 1000))
msm.fit(assignments)
tprob = msm.transmat_
pop = msm.populations_
# forward committors
qplus = tpt.committors(0, 2, msm)
ref_fluxes = np.zeros((3, 3))
ref_net_fluxes = np.zeros((3, 3))
for i in range(3):
for j in range(3):
if i != j:
# Eq. 2.24 in Metzner et al. Transition Path Theory.
# Multiscale Model. Simul. 2009, 7, 1192-1219.
ref_fluxes[i, j] = (pop[i] * tprob[i, j] *
(1 - qplus[i]) * qplus[j])
for i in range(3):
for j in range(3):
ref_net_fluxes[i, j] = np.max([0, ref_fluxes[i, j] -
ref_fluxes[j, i]])
fluxes = tpt.fluxes(0, 2, msm)
net_fluxes = tpt.net_fluxes(0, 2, msm)
npt.assert_array_almost_equal(ref_fluxes, fluxes)
npt.assert_array_almost_equal(ref_net_fluxes, net_fluxes)
开发者ID:Eigenstate,项目名称:msmbuilder,代码行数:32,代码来源:test_tpt.py
示例4: test_counts_2
def test_counts_2():
# test counts matrix with trimming
model = MarkovStateModel(reversible_type=None, ergodic_cutoff=1)
model.fit([[1, 1, 1, 1, 1, 1, 1, 1, 1, 2]])
eq(model.mapping_, {1: 0})
eq(model.countsmat_, np.array([[8]]))
开发者ID:back2mars,项目名称:msmbuilder,代码行数:7,代码来源:test_msm.py
示例5: build_msm
def build_msm(clusterer_dir, lag_time):
clusterer = verboseload(clusterer_dir)
n_clusters = np.shape(clusterer.cluster_centers_)[0]
labels = clusterer.labels_
msm_modeler = MarkovStateModel(lag_time=lag_time)
print("fitting msm to trajectories with %d clusters and lag_time %d" %(n_clusters, lag_time))
msm_modeler.fit_transform(labels)
verbosedump(msm_modeler, "/scratch/users/enf/b2ar_analysis/msm_model_%d_clusters_t%d" %(n_clusters, lag_time))
print("fitted msm to trajectories with %d states" %(msm_modeler.n_states_))
#np.savetxt("/scratch/users/enf/b2ar_analysis/msm_%d_clusters_t%d_transmat.csv" %(n_clusters, lag_time), msm_modeler.transmat_, delimiter=",")
#G = nx.from_numpy_matrix(msm_modeler.transmat_)
#nx.write_edgelist(G, "/scratch/users/enf/b2ar_analysis/msm_%d_clusters_t%d_edgelist" %(n_clusters, lag_time), msm_modeler.transmat_, delimiter=",")
transmat = msm_modeler.transmat_
mapping = msm_modeler.mapping_
edges = open("/scratch/users/enf/b2ar_analysis/msm_%d_clusters_t%d_edgelist.csv" %(n_clusters, lag_time), "wb")
for i in range(0, msm_modeler.n_states_):
if i == 0:
for j in range(0, msm_modeler.n_states_):
edges.write(";")
edges.write("%d" %mapping[j])
edges.write("\n")
edges.write("%d" %(mapping[i]))
for j in range(0, msm_modeler.n_states_):
prob = transmat[i][j]
edges.write(";")
if prob > 0.000001:
edges.write("%f" %prob)
else:
edges.write("0")
edges.write("\n")
edges.close()
开发者ID:msultan,项目名称:conformation,代码行数:34,代码来源:backup_subsample3.py
示例6: test_cond_committors
def test_cond_committors():
# depends on tpt.committors
msm = MarkovStateModel(lag_time=1)
assignments = np.random.randint(4, size=(10, 1000))
msm.fit(assignments)
tprob = msm.transmat_
for_committors = tpt.committors(0, 3, msm)
cond_committors = tpt.conditional_committors(0, 3, 2, msm)
# The committor for state one can be decomposed into paths that
# do and do not visit state 2 along the way. The paths that do not
# visit state 1 must look like 1, 1, 1, ..., 1, 1, 3. So we can
# compute them with a similar approximation as the forward committor
# Since we want the other component of the forward committor, we
# subtract that probability from the forward committor
ref = for_committors[1] - np.power(tprob[1, 1], np.arange(5000)).sum() * tprob[1, 3]
#print (ref / for_committors[1])
ref = [0, ref, for_committors[2], 0]
#print(cond_committors, ref)
npt.assert_array_almost_equal(ref, cond_committors)
开发者ID:back2mars,项目名称:msmbuilder,代码行数:25,代码来源:test_tpt.py
示例7: test_1
def test_1():
# test counts matrix without trimming
model = MarkovStateModel(reversible_type=None, ergodic_cutoff=0)
model.fit([[1, 1, 1, 1, 1, 1, 1, 1, 1]])
eq(model.countsmat_, np.array([[8.0]]))
eq(model.mapping_, {1: 0})
开发者ID:schwancr,项目名称:msmbuilder,代码行数:7,代码来源:test_msm.py
示例8: test_both
def test_both():
sequences = [np.random.randint(20, size=1000) for _ in range(10)]
lag_times = [1, 5, 10]
models_ref = []
for tau in lag_times:
msm = MarkovStateModel(reversible_type='mle', lag_time=tau,
n_timescales=10)
msm.fit(sequences)
models_ref.append(msm)
timescales_ref = [m.timescales_ for m in models_ref]
model = MarkovStateModel(reversible_type='mle', lag_time=1, n_timescales=10)
models = param_sweep(model, sequences, {'lag_time': lag_times}, n_jobs=2)
timescales = implied_timescales(sequences, lag_times, msm=model,
n_timescales=10, n_jobs=2)
print(timescales)
print(timescales_ref)
if np.abs(models[0].transmat_ - models[1].transmat_).sum() < 1E-6:
raise Exception("you wrote a bad test.")
for i in range(len(lag_times)):
npt.assert_array_almost_equal(models[i].transmat_,
models_ref[i].transmat_)
npt.assert_array_almost_equal(timescales_ref[i], timescales[i])
开发者ID:Eigenstate,项目名称:msmbuilder,代码行数:28,代码来源:test_param_sweep.py
示例9: test_10
def test_10():
# test inverse transform
model = MarkovStateModel(reversible_type=None, ergodic_cutoff=0)
model.fit([['a', 'b', 'c', 'a', 'a', 'b']])
v = model.inverse_transform([[0, 1, 2]])
assert len(v) == 1
np.testing.assert_array_equal(v[0], ['a', 'b', 'c'])
开发者ID:back2mars,项目名称:msmbuilder,代码行数:7,代码来源:test_msm.py
示例10: test_both
def test_both():
model = MarkovStateModel(reversible_type="mle", lag_time=1, n_timescales=1)
# note this might break it if we ask for more than 1 timescale
sequences = np.random.randint(20, size=(10, 1000))
lag_times = [1, 5, 10]
models_ref = []
for tau in lag_times:
msm = MarkovStateModel(reversible_type="mle", lag_time=tau, n_timescales=10)
msm.fit(sequences)
models_ref.append(msm)
timescales_ref = [m.timescales_ for m in models_ref]
models = param_sweep(msm, sequences, {"lag_time": lag_times}, n_jobs=2)
timescales = implied_timescales(sequences, lag_times, msm=msm, n_timescales=10, n_jobs=2)
print(timescales)
print(timescales_ref)
if np.abs(models[0].transmat_ - models[1].transmat_).sum() < 1e-6:
raise Exception("you wrote a bad test.")
for i in range(len(lag_times)):
models[i].lag_time = lag_times[i]
npt.assert_array_almost_equal(models[i].transmat_, models_ref[i].transmat_)
npt.assert_array_almost_equal(timescales_ref[i], timescales[i])
开发者ID:tanigawa,项目名称:msmbuilder,代码行数:28,代码来源:test_param_sweep.py
示例11: test_mle_eq
def test_mle_eq():
seq = [[0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]]
mle_mdl = MarkovStateModel(lag_time=1)
b_mdl = BootStrapMarkovStateModel(n_samples=10, n_procs=2, msm_args={'lag_time': 1})
mle_mdl.fit(seq)
b_mdl.fit(seq)
#make sure we have good model
eq(mle_mdl.populations_, b_mdl.mle_.populations_)
eq(mle_mdl.timescales_, b_mdl.mle_.timescales_)
开发者ID:Eigenstate,项目名称:msmbuilder,代码行数:9,代码来源:test_bootstrap_msm.py
示例12: test_6
def test_6():
# test score_ll with novel entries
model = MarkovStateModel(reversible_type='mle')
sequence = ['a', 'a', 'b', 'b', 'a', 'a', 'b', 'b']
model.fit([sequence])
assert not np.isfinite(model.score_ll([['c']]))
assert not np.isfinite(model.score_ll([['c', 'c']]))
assert not np.isfinite(model.score_ll([['a', 'c']]))
开发者ID:back2mars,项目名称:msmbuilder,代码行数:9,代码来源:test_msm.py
示例13: test_51
def test_51():
# test score_ll
model = MarkovStateModel(reversible_type='mle')
sequence = ['a', 'a', 'b', 'b', 'a', 'a', 'b', 'b', 'c', 'c', 'c', 'a', 'a']
model.fit([sequence])
assert model.mapping_ == {'a': 0, 'b': 1, 'c': 2}
score_ac = model.score_ll([['a', 'c']])
assert score_ac == np.log(model.transmat_[0, 2])
开发者ID:back2mars,项目名称:msmbuilder,代码行数:9,代码来源:test_msm.py
示例14: at_lagtime
def at_lagtime(lt, clustered_trajs):
msm = MarkovStateModel(lag_time=lt, n_timescales=20, verbose=False)
msm.fit(clustered_trajs)
ret = {
'lag_time': lt,
'percent_retained': msm.percent_retained_,
}
for i in range(msm.n_timescales):
ret['timescale_{}'.format(i)] = msm.timescales_[i]
return ret
开发者ID:hliuleo,项目名称:p53,代码行数:10,代码来源:p53_cluster.py
示例15: build_msm
def build_msm(clusterer_dir, lag_time):
clusterer = verboseload(clusterer_dir)
n_clusters = np.shape(clusterer.cluster_centers_)[0]
labels = clusterer.labels_
msm_modeler = MarkovStateModel(lag_time=lag_time)
print("fitting msm to trajectories with %d clusters and lag_time %d" %(n_clusters, lag_time))
msm_modeler.fit_transform(labels)
verbosedump(msm_modeler, "/scratch/users/enf/b2ar_analysis/msm_model_%d_clusters_t%d" %(n_clusters, lag_time))
print("fitted msm to trajectories with %d states" %(msm_modeler.n_states_))
'''
开发者ID:msultan,项目名称:conformation,代码行数:10,代码来源:custom_msm.py
示例16: test_mfpt_match
def test_mfpt_match():
assignments = np.random.randint(10, size=(10, 2000))
msm = MarkovStateModel(lag_time=1)
msm.fit(assignments)
# these two do different things
mfpts0 = np.vstack([tpt.mfpts(msm, i) for i in range(10)]).T
mfpts1 = tpt.mfpts(msm)
npt.assert_array_almost_equal(mfpts0, mfpts1)
开发者ID:Eigenstate,项目名称:msmbuilder,代码行数:10,代码来源:test_tpt.py
示例17: post
def post(self):
io = StringIO(self.get_argument('matrix'))
w = sio.mmread(io)
msm = MarkovStateModel()
msm.transmat_, msm.populations_ = _transmat_mle_prinz(w)
msm.n_states_ = msm.populations_.shape[0]
if bool(int(self.get_argument('mode'))):
self.write(make_json_paths(msm, self)) # TP
else:
self.write(make_json_graph(msm, self)) # MSM
开发者ID:msmexplorer,项目名称:msmexplorer-d3,代码行数:10,代码来源:app.py
示例18: test_plot_implied_timescales
def test_plot_implied_timescales(self):
lag_times = [1, 50, 100, 250, 500, 1000, 5000]
msm_objs = []
for lag in lag_times:
# Construct MSM
msm = MarkovStateModel(lag_time=lag, n_timescales=5)
msm.fit(data)
msm_objs.append(msm)
ax = plot_implied_timescales(msm_objs)
assert isinstance(ax, SubplotBase)
开发者ID:cxhernandez,项目名称:msmexplorer,代码行数:10,代码来源:test_msm_plot.py
示例19: at_lagtime
def at_lagtime(lt):
msm = MarkovStateModel(lag_time=lt, n_timescales=10, verbose=False)
msm.fit(list(ktrajs.values()))
ret = {
'lag_time': lt,
'percent_retained': msm.percent_retained_,
}
for i in range(msm.n_timescales):
ret['timescale_{}'.format(i)] = msm.timescales_[i]
return ret
开发者ID:Eigenstate,项目名称:msmbuilder,代码行数:10,代码来源:timescales.py
示例20: test_fit_1
def test_fit_1():
# call fit, compare to MSM
sequence = [0, 0, 0, 1, 1, 1, 0, 0, 2, 2, 0, 1, 1, 1, 2, 2, 2, 2, 2]
model = ContinuousTimeMSM(verbose=False)
model.fit([sequence])
msm = MarkovStateModel(verbose=False)
msm.fit([sequence])
# they shouldn't be equal in general, but for this input they seem to be
np.testing.assert_array_almost_equal(model.transmat_, msm.transmat_)
开发者ID:synapticarbors,项目名称:msmbuilder-1,代码行数:11,代码来源:test_ratematrix.py
注:本文中的msmbuilder.msm.MarkovStateModel类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论