Beispiel #1
0
#    psi_angles = np.loadtxt("./psi_angles.txt", dtype=np.float32)

#X=np.column_stack((phi_angles, psi_angles))
#print(X.shape)
#n_size = X.shape[0]
#dimension = X.shape[1]
'''
# ===========================================================================
n_clusters = 10
print(
    '---------------------------------------------------------------------------------'
)

from msmbuilder.cluster import KCenters

cluster = KCenters(n_clusters=n_clusters, metric="euclidean", random_state=0)
print(cluster)
#cluster.fit(phi_psi)

cluster.fit(X)
labels = cluster.labels_
print(labels)

labels = np.concatenate(labels)
n_microstates = len(set(labels)) - (1 if -1 in labels else 0)
print('Estimated number of clusters: %d' % n_microstates)

#cluster_centers_ = cluster.cluster_centers_
# plot micro states
clustering_name = "kcenters_n_" + str(n_microstates)
#splited_assignments =split_assignments(labels, traj_len)
Beispiel #2
0
    phi_psi = np.column_stack((phi_angles, psi_angles))
else:
    phi_angles, psi_angles = trajreader.get_phipsi(trajs,
                                                   psi=[6, 8, 14, 16],
                                                   phi=[4, 6, 8, 14])
    #phi_angles, psi_angles = trajreader.get_phipsi(trajs, psi=[5, 7, 13, 15], phi=[3, 5, 7, 13])
    #phi_psi = np.column_stack((phi_angles, psi_angles))
    np.savetxt("./phi_angles.txt", phi_angles, fmt="%f")
    np.savetxt("./psi_angles.txt", psi_angles, fmt="%f")
#phi_angles, psi_angles = trajreader.get_phipsi(trajs, psi=[6, 8, 14, 16], phi=[4, 6, 8, 14])
#phi_psi=np.column_stack((phi_angles, psi_angles))

# ===========================================================================
# do Clustering using KCenters method
#cluster = KCenters(n_clusters=n_clusters, metric="euclidean", random_state=0)
cluster = KCenters(n_clusters=n_clusters, metric="rmsd", random_state=0)
print(cluster)
#cluster.fit(phi_psi)
cluster.fit(trajs)

labels = cluster.labels_
print(labels)
n_microstates = len(set(labels)) - (1 if -1 in labels else 0)
print('Estimated number of clusters: %d' % n_microstates)

cluster_centers_ = cluster.cluster_centers_
# plot micro states
clustering_name = "kcenters_n_" + str(n_microstates)
splited_assignments = split_assignments(labels, traj_len)
#np.savetxt("assignments_"+clustering_name+".txt", labels, fmt="%d")
np.savetxt("assignments_" + clustering_name + ".txt",