本文整理汇总了Python中msmbuilder.Trajectory.load_trajectory_file方法的典型用法代码示例。如果您正苦于以下问题:Python Trajectory.load_trajectory_file方法的具体用法?Python Trajectory.load_trajectory_file怎么用?Python Trajectory.load_trajectory_file使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类msmbuilder.Trajectory
的用法示例。
在下文中一共展示了Trajectory.load_trajectory_file方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: plot_gpu_cmd_correlation
# 需要导入模块: from msmbuilder import Trajectory [as 别名]
# 或者: from msmbuilder.Trajectory import load_trajectory_file [as 别名]
def plot_gpu_cmd_correlation():
traj1 = Trajectory.load_trajectory_file(ww_1, Conf=ww_conf)
traj1_copy = Trajectory.load_trajectory_file(ww_1, Conf=ww_conf)
#traj2 = Trajectory.load_trajectory_file(ww_2, Conf=ww_conf)
#traj2_copy = Trajectory.load_trajectory_file(ww_2, Conf=ww_conf)
def gpudist(t):
gpurmsd = GPURMSD()
pt = gpurmsd.prepare_trajectory(t)
gpurmsd._gpurmsd.print_params()
return gpurmsd.one_to_all(pt, pt, 0)
def cpudist(t):
rmsd = RMSD()
pt = rmsd.prepare_trajectory(t)
return rmsd.one_to_all(pt, pt, 0)
g1 = gpudist(traj1) #, gpudist(traj2)
c1 = cpudist(traj1_copy) #, cpudist(traj2_copy)
pp.subplot(231)
pp.plot(c1)
pp.title('cpu rmsd drift along traj')
pp.xlabel('frame index')
pp.xlabel('cpurmsd($X_{0}$, $X_{frame_index}$)')
pp.subplot(232)
pp.scatter(g1, c1)
pp.xlabel('gpu rmsd')
pp.ylabel('cpu rmsd')
pp.subplot(233)
pp.plot(g1)
pp.title('gpu rmsd drift along traj')
pp.xlabel('frame index')
pp.xlabel('gpurmsd($X_{0}$, $X_{frame_index}$)')
#PLOT c2 and g2 in the lower portion of the graph
#pp.subplot(234)
#pp.plot(c2)
#pp.title('cpu rmsd drift along pre-aligned traj')
#pp.xlabel('frame index')
#pp.xlabel('cpurmsd($X_{0}$, $X_{frame_index}$)')
#pp.subplot(235)
#pp.scatter(g2, c2)
#pp.xlabel('gpu rmsd')
#pp.ylabel('cpu rmsd')
#pp.subplot(236)
#pp.plot(g2)
#pp.title('gpu rmsd drift along pre-aligned traj')
#pp.xlabel('frame index')
#pp.xlabel('gpurmsd($X_{0}$, $X_{frame_index}$)')
#pp.subplots_adjust(hspace=0.4)
#pp.savefig('gpucpu_correlation.png')
pp.show()
示例2: __init__
# 需要导入模块: from msmbuilder import Trajectory [as 别名]
# 或者: from msmbuilder.Trajectory import load_trajectory_file [as 别名]
def __init__(self, structure_or_filename, metric, max_distance):
"""Create an explosion validator
Checks the distance from every frame to a structure and
watches for things that are too far away
Parameters
----------
structure_or_filename : {msmbuilder.Trajectory, str}
The structure to measure distances to, either as a trajectory (the first
frame is the only one that counts) or a path to a trajectory
on disk that can be loaded
metric : msmbuilder distance metric
Metric by which you want to measure distance
max_distance : float
The threshold distance, above which a ValidationError
will be thrown
"""
if isinstance(structure_or_filename, Trajectory):
conf = structure_or_filename
elif isinstance(structure_or_filename, basestring):
conf = Trajectory.load_trajectory_file(structure_or_filename)
self.max_distance = max_distance
self.metric = metric
self._pconf = self.metric.prepare_trajectory(conf)
示例3: save
# 需要导入模块: from msmbuilder import Trajectory [as 别名]
# 或者: from msmbuilder.Trajectory import load_trajectory_file [as 别名]
def save(self):
"Save the trajs as a n MSMBuilder project"
traj_dir = pjoin(self.project_dir, 'Trajectories')
if not os.path.exists(traj_dir):
os.makedirs(traj_dir)
t = Trajectory.load_trajectory_file(self.conf_filename)
traj_paths = []
for i, xyz in enumerate(self.trajectories):
t['IndexList'] = None # bug in msmbuilder
t['XYZList'] = xyz
traj_paths.append(pjoin(traj_dir, 'trj%d.lh5' % i))
t.save(traj_paths[-1])
p = Project({'conf_filename': os.path.abspath(self.conf_filename),
'traj_lengths': self.n_frames*np.ones(self.n_trajs),
'traj_paths': [os.path.abspath(e) for e in traj_paths],
'traj_converted_from': [[] for i in range(self.n_trajs)],
'traj_errors': [None for i in range(self.n_trajs)],
}, project_dir=self.project_dir, validate=True)
p.save(pjoin(self.project_dir,'Project.yaml'))
# just check again
p = Project.load_from(pjoin(self.project_dir,'Project.yaml'))
p._validate()
assert np.all((p.load_traj(0)['XYZList'] - self.trajectories[0])**2 < 1e-6)
示例4: test
# 需要导入模块: from msmbuilder import Trajectory [as 别名]
# 或者: from msmbuilder.Trajectory import load_trajectory_file [as 别名]
def test(self):
from msmbuilder.scripts.SaveStructures import save
project = get('ProjectInfo.yaml')
assignments = get('Assignments.h5')['arr_0']
which_states = [0, 1, 2]
list_of_trajs = project.get_random_confs_from_states(assignments,
which_states, num_confs=2, replacement=True,
random=np.random.RandomState(42))
assert isinstance(list_of_trajs, list)
assert isinstance(list_of_trajs[0], Trajectory)
eq(len(list_of_trajs), len(which_states))
for t in list_of_trajs:
eq(len(t), 2)
print list_of_trajs[0].keys()
# sep, tps, one
save(list_of_trajs, which_states, style='sep', format='lh5', outdir=self.td)
save(list_of_trajs, which_states, style='tps', format='lh5', outdir=self.td)
save(list_of_trajs, which_states, style='one', format='lh5', outdir=self.td)
names = ['State0-0.lh5', 'State0-1.lh5', 'State0.lh5', 'State1-0.lh5',
'State1-1.lh5', 'State1.lh5', 'State2-0.lh5', 'State2-1.lh5',
'State2.lh5']
for name in names:
t = Trajectory.load_trajectory_file(pjoin(self.td, name))
eq(t, get('save_structures/' + name))
示例5: test_c_Cluster
# 需要导入模块: from msmbuilder import Trajectory [as 别名]
# 或者: from msmbuilder.Trajectory import load_trajectory_file [as 别名]
def test_c_Cluster(self):
# We need to be sure to skip the stochastic k-mediods
cmd = "Cluster.py -p {project} -s {stride} rmsd -a {atomindices} kcenters -d {rmsdcutoff}".format(project=ProjectFn, stride=Stride, atomindices="AtomIndices.dat", rmsdcutoff=RMSDCutoff)
print cmd
os.system(cmd)
try:
os.remove(os.path.join(WorkingDir, 'Data', 'Assignments.h5'))
os.remove(os.path.join(WorkingDir, 'Data', 'Assignments.h5.distances'))
except:
pass
G = Trajectory.load_trajectory_file(GensPath)
r_G = Trajectory.load_trajectory_file(ReferenceDir +'/'+ GensPath)
self.assert_trajectories_equal(G, r_G)
示例6: load_gens
# 需要导入模块: from msmbuilder import Trajectory [as 别名]
# 或者: from msmbuilder.Trajectory import load_trajectory_file [as 别名]
def load_gens(gens_fn, conf_fn, metric):
"""Setup a worker by adding pgens to its global namespace
This is necessary because pgens are not necessarily picklable, so we can't
just prepare them on the master and then push them to the remote workers --
instead we want to actually load the pgens from disk and prepare them on
the remote node
"""
from msmbuilder import Trajectory
global PGENS, CONF, METRIC, PREPARED
METRIC = metric
CONF = Trajectory.load_trajectory_file(conf_fn)
gens = Trajectory.load_trajectory_file(gens_fn)
PGENS = metric.prepare_trajectory(gens)
PREPARED = True
示例7: test_asa_2
# 需要导入模块: from msmbuilder import Trajectory [as 别名]
# 或者: from msmbuilder.Trajectory import load_trajectory_file [as 别名]
def test_asa_2():
t = Trajectory.load_trajectory_file(os.path.join(fixtures_dir(), 'trj0.lh5'))
val1 = np.sum(calculate_asa(t[0])) # calculate only frame 0
val2 = np.sum(calculate_asa(t)[0]) # calculate on all frames
true_frame_0_asa = 2.859646797180176
npt.assert_approx_equal(true_frame_0_asa, val1)
npt.assert_approx_equal(true_frame_0_asa, val2)
示例8: _eval_traj_shapes
# 需要导入模块: from msmbuilder import Trajectory [as 别名]
# 或者: from msmbuilder.Trajectory import load_trajectory_file [as 别名]
def _eval_traj_shapes(self):
lengths = np.zeros(self.n_trajs)
n_atoms = np.zeros(self.n_trajs)
conf = self.load_conf()
for i in xrange(self.n_trajs):
shape = Trajectory.load_trajectory_file(self.traj_filename(i), JustInspect=True, Conf=conf)
lengths[i] = shape[0]
n_atoms[i] = shape[1]
return lengths, n_atoms
示例9: test_g_GetRandomConfs
# 需要导入模块: from msmbuilder import Trajectory [as 别名]
# 或者: from msmbuilder.Trajectory import load_trajectory_file [as 别名]
def test_g_GetRandomConfs(self):
P1 = Project.load_from(ProjectFn)
Assignments = io.loadh("Data/Assignments.Fixed.h5", 'arr_0')
# make a predictable stream of random numbers by seeding the RNG with 42
random_source = np.random.RandomState(42)
randomconfs = GetRandomConfs.run(P1, Assignments, NumRandomConformations, random_source)
reference = Trajectory.load_trajectory_file(os.path.join(ReferenceDir, "2RandomConfs.lh5"))
self.assert_trajectories_equal(reference, randomconfs)
示例10: main
# 需要导入模块: from msmbuilder import Trajectory [as 别名]
# 或者: from msmbuilder.Trajectory import load_trajectory_file [as 别名]
def main(args, metric):
assignments_path = os.path.join(args.output_dir, "Assignments.h5")
distances_path = os.path.join(args.output_dir, "Assignments.h5.distances")
project = Project.load_from(args.project)
gens = Trajectory.load_trajectory_file(args.generators)
# this runs assignment and prints them to disk
assign_with_checkpoint(metric, project, gens, assignments_path, distances_path)
logger.info('All Done!')
示例11: test_gpurmsd
# 需要导入模块: from msmbuilder import Trajectory [as 别名]
# 或者: from msmbuilder.Trajectory import load_trajectory_file [as 别名]
def test_gpurmsd():
traj = Trajectory.load_trajectory_file(trj_path)
gpurmsd = GPURMSD()
ptraj = gpurmsd.prepare_trajectory(traj)
gpurmsd._gpurmsd.print_params()
gpu_distances = gpurmsd.one_to_all(ptraj, ptraj, 0)
cpurmsd = RMSD()
ptraj = cpurmsd.prepare_trajectory(traj)
cpu_distances = cpurmsd.one_to_all(ptraj, ptraj, 0)
npt.assert_array_almost_equal(cpu_distances, gpu_distances, decimal=4)
示例12: test_asa_3
# 需要导入模块: from msmbuilder import Trajectory [as 别名]
# 或者: from msmbuilder.Trajectory import load_trajectory_file [as 别名]
def test_asa_3():
traj_ref = np.loadtxt( os.path.join(reference_dir(),'g_sas_ref.dat'))
Conf = Trajectory.load_from_pdb(os.path.join( fixtures_dir(), 'native.pdb'))
traj = Trajectory.load_trajectory_file( os.path.join(fixtures_dir(), 'trj0.xtc') , Conf=Conf)
traj_asa = calculate_asa(traj, probe_radius=0.14, n_sphere_points = 960)
# the algorithm used by gromacs' g_sas is slightly different than the one
# used here, so the results are not exactly the same -- see the comments
# in src/python/geomtry/asa.py or the readme file src/ext/asa/README.txt
# for details
npt.assert_array_almost_equal(traj_asa, traj_ref, decimal=2)
示例13: setUp
# 需要导入模块: from msmbuilder import Trajectory [as 别名]
# 或者: from msmbuilder.Trajectory import load_trajectory_file [as 别名]
def setUp(self):
test_dir = os.path.join( reference_dir(), 'cfep_reference/' )
self.generators = Trajectory.load_trajectory_file(test_dir + 'Gens.lh5')
N = len(self.generators)
self.counts = io.mmread(test_dir + 'tCounts.mtx')
self.lag_time = 1.0
self.pfolds = np.random.rand(N)
self.rescale = False
self.reactant = 0
self.product = N
示例14: main
# 需要导入模块: from msmbuilder import Trajectory [as 别名]
# 或者: from msmbuilder.Trajectory import load_trajectory_file [as 别名]
def main(args, metric):
assignments_path = os.path.join(args.output_dir, "Assignments.h5")
distances_path = os.path.join(args.output_dir, "Assignments.h5.distances")
#arglib.die_if_path_exists(args.output_dir)
if not os.path.exists(args.output_dir):
os.mkdir(args.output_dir)
project = Project.load_from(args.project)
gens = Trajectory.load_trajectory_file(args.generators)
if isinstance(metric, metrics.RMSD):
# this is really bad design, and we're going to fix it soon in
# MSMBuilder3, but here's the deal. When Cluster.py loads up the
# trajectories (Cluster.py:load_trajectories()), it only loads the
# required indices for RMSD. This means that when it saves the Gens
# file, that file contains only a subset of the atoms. So when
# we run *this* script, we need to perform a restricted load of the
# the trajectories on disk, but we need to NOT perform a restricted
# load of the gens.lh5 file. (By restricted load, I mean loading
# only a subset of the data in the file)
if gens['XYZList'].shape[1] != len(metric.atomindices):
msg = ('Using RMSD clustering/assignment, this script expects '
'that the Cluster.py script saves a generators file that '
'only contains the indices of the atoms of interest, and '
'not any of the superfluous degrees of freedom that were '
'not used for clustering. But you supplied %d cluster '
'centers each containg %d atoms. Your atom indices file '
'on the other hand contains %d atoms') \
% (gens['XYZList'].shape[0], gens['XYZList'].shape[1],
len(metric.atomindices))
raise ValueError(msg)
# now that we're telling the assign function only to load up a
# subset of the atoms, an the generator is already only a subset,
# the actual RMSD object needs to, from ITS perspective, operate on
# every degree of freedom. So it shouldn't be aware of any special
# atom_indices
atom_indices = metric.atomindices
metric.atomindices = None
# this runs assignment and prints them to disk
assign_with_checkpoint(metric, project, gens, assignments_path,
distances_path, atom_indices_to_load=atom_indices)
else:
assign_with_checkpoint(metric, project, gens, assignments_path,
distances_path)
logger.info('All Done!')
示例15: run
# 需要导入模块: from msmbuilder import Trajectory [as 别名]
# 或者: from msmbuilder.Trajectory import load_trajectory_file [as 别名]
def run(project, pdb, traj_fn, atom_indices, alt_indices, permute_indices):
#project = Project.load_from_hdf(options.projectfn)
traj = Trajectory.load_trajectory_file(traj_fn, Conf=project.Conf)
# you could replace this with your own metric if you like
metric = LPRMSD(atom_indices, permute_indices, alt_indices)
ppdb = metric.prepare_trajectory(pdb)
ptraj = metric.prepare_trajectory(traj)
print ppdb['XYZList'].shape
print ptraj['XYZList'].shape
distances, xout = metric.one_to_all_aligned(ppdb, ptraj, 0)
print distances
return distances