def main(): file = "comTraj.npz" L, com_lipids, com_chol = trajIO.decompress(file) com_lipids, com_chol = trajIO.translateZ(com_lipids, com_chol) com_lipids = displacement.block_displacement(L, com_lipids) com_chol = displacement.block_displacement(L, com_chol) t = 28 lipids = com_lipids[t] chol = com_chol[t] lipids, trash = trajIO.layering(lipids) chol, trash = trajIO.layering(chol) total = np.concatenate((lipids, chol), axis=0) total1 = iter.combine(lipids, chol) cluster = percentages.cluster(total, [0.25, 0.25, 0.25, 0.25]) cluster1 = percentages.cluster(total1, [0.25, 0.25, 0.25, 0.25]) #edm = euclideanDist.edm(L[t],cluster[0]) #edm1 = euclideanDist.edm(L[t],cluster1[0]) #print(np.array_equiv(edm,edm1)) cutoff = 1.15 labels1 = dc.dbscan_wrapper(cluster[0], L[t], cutoff) labels2 = iter.cluster_labels('upper', L[t], cluster1[0]) return labels1, labels2
def spitnumpy(trajFileName, topology, Nconf): outfile = "comTraj" Nchol = trajIO.cholConc(topology) N, L, com_lipids, com_chol = trajIO.processTrajCOM(trajFileName, Nchol, c.NDIM, Nconf) com_lipids, com_chol = trajIO.translateZ(com_lipids, com_chol) trajIO.np.savez(outfile, L=L, com_lipids=com_lipids, com_chol=com_chol)
def test_randomCluster(): L, com_lipids, com_chol = trajIO.decompress("comTraj.npz") com_lipids, com_chol = trajIO.translateZ(com_lipids, com_chol) arr = com_lipids[0] size = 43 cluster = iter_cluster.randomCluster(size, arr) assert len(cluster) == 43 return
def spitnumpy(trajFileName1, trajFileName2, Nconf): outfile = "tailTraj" NDIM = 3 L = np.zeros((Nconf, NDIM), dtype=np.double) com_lipids = np.zeros((Nconf, Nlipids, NDIM + 1), dtype=np.double) com_chol = np.zeros((Nconf, Nchol, NDIM + 1), dtype=np.double) trajFile1 = open(trajFileName1, 'r') Nlipids = int(trajFile1.readline().strip()) print(Nlipids) for t in range(Nconf): time = trajFile1.readline() assert t == time line = trajFile1.readline().split() for k in range(NDIM): L[t, k] = float(line[k]) for i in range(Nlipids): line = trajFile1.readline().split() for k in range(NDIM + 1): com_lipids[t][i][k] = line[k] trajFile1.close() trajFile2 = open(trajFileName2, 'r') Nchol = int(trajFile2.readline().strip()) print(Nchol) for t in range(Nconf): time = trajFile.readline() assert t == time for i in range(Nchol): line = trajFile.readline().split() for k in range(NDIM + 1): com_lipids[t][i][k] = line[k] com_lipids, com_chol = trajIO.translateZ(com_lipids, com_chol) trajIO.np.savez(outfile, L=L, com_lipids=com_lipids, com_chol=com_chol)
def test_buildCluster(): #& singletonMerge L, com_lipids, com_chol = trajIO.decompress("comTraj.npz") com_lipids, com_chol = trajIO.translateZ(com_lipids, com_chol) Nlipids = len(com_lipids[0]) c = iter_cluster.Cluster(com_lipids[0], L[0], 0.3) c.test() """ manualSingleton = set() for cluster in c.clusters: if len(cluster) == 1: manualSingleton |= cluster c.singletonMerge() c.test() assert c.clusters[-1] == manualSingleton """ return
if __name__ == '__main__': name = 4 trajFileName = sys.argv[1] Nconf = int(sys.argv[2]) nlog = int(sys.argv[3]) Nblock = Nconf // nlog cutoff = 1.3 #anything above 20chol #maybe 1.3 for everything below? percentage = c.percentages['lipids']['lower'][name] if trajIO.rawOrCOM(trajFileName): Nchol = trajIO.cholConc(topology) N, L, com_lipids, com_chol = trajIO.processTrajCOM( trajFileName, Nchol, c.NDIM, Nconf) com_lipids, com_chol = trajIO.translateZ(com_lipids, com_chol) Nlipids = com_lipids.shape[0] else: L, com_lipids, com_chol = trajIO.decompress(trajFileName) com_lipids, com_chol = trajIO.translateZ(com_lipids, com_chol) #parameters del com_chol cluster_sizes = [name] name = str(cluster_sizes[0]) sys.stdout = open("norm" + name + ".txt", "w") times = list(range(1, 46)) com_lipids = displacement.block_displacement(L, com_lipids)
def test_randomIterCluster(): L, com_lipids, com_chol = trajIO.decompress("comTraj.npz") com_lipids, com_chol = trajIO.translateZ(com_lipids, com_chol) size = 45 return