def save_new_ref(filename, data): """ Saves a new version of the reference data, and backs up the old """ ext = filename.split('.')[-1] if (data == None): print "WARNING: Error generating file: %s" % filename print "Skipped... try again." return if os.path.exists(filename): os.system('mv %s %s' % (filename, BACKUP_DIR)) if ext in ['h5', 'lh5']: if scipy.sparse.issparse(data): data = data.toarray() Serializer.SaveData(filename, data) elif ext == 'mtx': io.mmwrite(filename, data) elif ext == 'pkl': f = open(filename, 'w') pickle.dump(f, data) f.close() else: raise ValueError('Could not understand extension (.%s) for %s' % (ext, filename)) return
assignments = Serializer.LoadData(args.assignments) ratemtx_fn = pjoin(args.outdir, 'K.mtx') tcounts_fn = pjoin(args.outdir, 'tCounts.mtx') unsym_fn = pjoin(args.outdir, 'tCounts.UnSym.mtx') mapping_fn = pjoin(args.outdir, 'Mapping.dat') fixed_fn = pjoin(args.outdir, 'Assignments.Fixed.h5') pops_fn = pjoin(args.outdir, 'Populations.dat') if not os.path.exists(args.outdir): os.mkdir(args.outdir) outlist = [ratemtx_fn, tcounts_fn, unsym_fn, fixed_fn, pops_fn] for e in outlist: arglib.die_if_path_exists(e) # if lag time is not one, there's going to be a unit mispatch between # what you get and what you're expecting. lag_time = 1 counts, rev_counts, t_matrix, populations, mapping = MSMLib.build_msm( assignments, lag_time=lag_time, symmetrize=args.symmetrize) K = MSMLib.estimate_rate_matrix(rev_counts, assignments) np.savetxt(pops_fn, populations) np.savetxt(mapping_fn, mapping, "%d") scipy.io.mmwrite(ratemtx_fn, K) scipy.io.mmwrite(tcounts_fn, rev_counts) scipy.io.mmwrite(unsym_fn, counts) Serializer.SaveData(fixed_fn, assignments) for e in outlist: logger.info('Saved %s' % e)
def GetPhi(X): return GetAllPhiDipeptide(C1, NumResi=NumResi, a=a, aC=aC, aN=aN, aCA=aCA, X=X) Phi = P1.EvaluateObservableAcrossProject(GetPhi) def GetPsi(X): return GetAllPsiDipeptide(C1, NumResi=NumResi, a=a, aC=aC, aN=aN, aCA=aCA, X=X) Psi = P1.EvaluateObservableAcrossProject(GetPsi) print(Phi) Serializer.SaveData("./Phi.h5", Phi) Serializer.SaveData("./Psi.h5", Psi)