#!/usr/bin/env python
from msmbuilder.msm import MarkovStateModel
import matplotlib.pyplot as plt
import numpy as np
import networkx as nx
import msmexplorer as msme
trajs=[]
for i in range(1,104):
    for chain in ["M","N","O"]:
        trajs.append(np.loadtxt("data/freeMD_EAAT1/run"+str(i)+"/states_"+chain+".xvg",comments=["@","#"])[2:,1])
msm = MarkovStateModel(lag_time=1,ergodic_cutoff="off",reversible_type=None)    
msm.fit(trajs)
if hasattr(msm, 'all_populations_'):
        tmat = msm.all_transmats_.mean(0)
        pop = msm.all_populations_.mean(0)
elif hasattr(msm, 'populations_'):
        tmat = msm.transmat_
        pop = msm.populations_
graph = nx.Graph(tmat)
pos = nx.spring_layout(graph)
statesm=[0,10,100,110,1000,1010,1100,1110,1,11,101,111,1001,1011,1101,1111]
statelabel=["Apo","K3","K2","K2K3","K1","K1K3","K1K2","K1\nK2K3","K4","K3K4","K2K4","K2\nK3K4","K1K4","K1\nK3K4","K1\nK2K4","K1K2\nK3K4"]
f=dict({})
print msm.mapping_.items()
for i in range(16):
    f[int(msm.mapping_.items()[i][1])]=statelabel[statesm.index(int(msm.mapping_.items()[i][0]))]
ax=plt.figure(figsize=(6,6))
msme.plot_msm_network(msm,  pos=pos,node_color='pomegranate',edge_color='gray',labels=f,width=.5)
msme.plot_tpaths(msm,pos=pos,sources=[0],sinks=[8],num_paths=2,edge_color='r',labels=f,arrows=True)
plt.show()
Ejemplo n.º 2
0
import msmexplorer as msme

rs = np.random.RandomState(42)

# Load Fs Peptide Data
trajs = FsPeptide().get().trajectories

# Extract Backbone Dihedrals
featurizer = DihedralFeaturizer(types=['phi', 'psi'])
diheds = featurizer.fit_transform(trajs)

# Perform Dimensionality Reduction
tica_model = tICA(lag_time=2, n_components=2)
tica_trajs = tica_model.fit_transform(diheds)

# Perform Clustering
clusterer = MiniBatchKMeans(n_clusters=12, random_state=rs)
clustered_trajs = clusterer.fit_transform(tica_trajs)

# Construct MSM
msm = MarkovStateModel(lag_time=2)
msm.fit(clustered_trajs)

# Plot MSM Network
pos = dict(zip(range(clusterer.n_clusters), clusterer.cluster_centers_))
msme.plot_msm_network(msm,
                      pos=pos,
                      node_color='pomegranate',
                      edge_color='carbon')
Ejemplo n.º 3
0
import numpy as np

import msmexplorer as msme

rs = np.random.RandomState(42)

# Load Fs Peptide Data
trajs = FsPeptide().get().trajectories

# Extract Backbone Dihedrals
featurizer = DihedralFeaturizer(types=['phi', 'psi'])
diheds = featurizer.fit_transform(trajs)

# Perform Dimensionality Reduction
tica_model = tICA(lag_time=2, n_components=2)
tica_trajs = tica_model.fit_transform(diheds)

# Perform Clustering
clusterer = MiniBatchKMeans(n_clusters=12, random_state=rs)
clustered_trajs = clusterer.fit_transform(tica_trajs)

# Construct MSM
msm = MarkovStateModel(lag_time=2)
msm.fit(clustered_trajs)

# Plot MSM Network
pos = dict(zip(range(clusterer.n_clusters), clusterer.cluster_centers_))
msme.plot_msm_network(msm, pos=pos, node_color='pomegranate',
                      edge_color='carbon')