import rax import numpy as np import sys import os mydirname = os.path.dirname(sys.argv[0]) inroot = os.path.join(mydirname, 'relaxation-data') traj = rax.Trajectory(0,1) traj.set_num_gens(19) generations = set(np.random.random_integers(19, size=(42,))) for gen in generations: data = np.random.random_sample(4) print 'Adding Gen', gen, 'data', data traj.add_generation(gen, data) missing = traj.missing_generations() print 'Trajectory missing generations', missing project = rax.load_project(inroot) # project.runs = 3 # project.clones = 2 # project.gens = 30 print 'Project missing:', list(project.missing_data())
log = ezlog.setup() log.info('defining assign') def assign(v, boundary=0.3): if v <= boundary: s = 0 else: s = 1 return s log.info('Setting up vars') mydirname = os.path.dirname(sys.argv[0]) inroot = os.path.join(mydirname, 'relaxation-data') nprocs = 2 ezlog.set_level(ezlog.INFO) rax.setup_pool(nprocs) log.info('Loading project') project = rax.load_project(inroot, outputfreq=0.5) find_states = functools.partial(assign, boundary=0.9) p2 = project.map(find_states) log.info('Print results') for t in p2.get_trajectories(): print t.run, t.clone, t.get_trajectory_data()
rax.set_logging_level(logging.INFO) # transition count matrix N = np.zeros((len(ranges),len(ranges)), dtype=int) # average lifetimes T = np.zeros(len(ranges)) runs = None clones = None # read the trajectories in to determine the trajectory lifetimes and transition counts processor = functools.partial(process_trajectory, ranges) pool = rax.Pool(nprocs) project = rax.load_project(fahroot, runs=runs, clones=clones, pool=pool, coalesce=True) results = rax.process_trajectories(project, processor, pool=pool) # # save the assignments # assignments = rax.process_trajectories(project, functools.partial(assignments, ranges), pool=pool) # np.savetxt(outfile, assignments[0], fmt='%d') # project.savetxt('test.dat', run, clone, fmt='%f') # sys.exit(1) # compute lifetimes and update transition counts matrix Ts = np.zeros(len(ranges)) for run, clone, ts, M in results: N = N + M for s, lifes in ts.iteritems():