本文整理汇总了Python中htmd.molecule.molecule.Molecule.fileloc方法的典型用法代码示例。如果您正苦于以下问题:Python Molecule.fileloc方法的具体用法?Python Molecule.fileloc怎么用?Python Molecule.fileloc使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类htmd.molecule.molecule.Molecule
的用法示例。
在下文中一共展示了Molecule.fileloc方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: reconstructAdaptiveTraj
# 需要导入模块: from htmd.molecule.molecule import Molecule [as 别名]
# 或者: from htmd.molecule.molecule.Molecule import fileloc [as 别名]
def reconstructAdaptiveTraj(simlist, trajID):
""" Reconstructs a long trajectory out of short adaptive runs.
Parameters
----------
simlist : numpy.ndarray of :class:`Sim <htmd.simlist.Sim>` objects
A simulation list generated by the :func:`simlist <htmd.simlist.simlist>` function
trajID : int
The id of the trajectory from which to start going back.
Returns
-------
mol : :class:`Molecule <htmd.molecule.molecule.Molecule>` object
A Molecule object containing the reconstructed trajectory
chain : np.ndarray
The simulation IDs of all simulations involved
pathlist : np.ndarray of str
The names of all simulations involved.
Examples
--------
>>> mol, chain, pathlist = reconstructAdaptiveTraj(data.simlist, 52)
"""
sim = None
for s in simlist:
if s.simid == trajID:
sim = s
break
if sim is None:
raise NameError('Could not find sim with ID {} in the simlist.'.format(trajID))
pathlist = []
pathlist.append(sim.trajectory[0])
chain = []
chain.append((sim, -1, -1))
epo = None
while epo != 1:
[sim, piece, frame, epo] = _findprevioustraj(simlist, _simName(sim.trajectory[0]))
pathlist.append(sim.trajectory[piece])
chain.append((sim, piece, frame))
pathlist = pathlist[::-1]
chain = chain[::-1]
mol = Molecule(sim.molfile)
mol.coords = np.zeros((mol.numAtoms, 3, 0), dtype=np.float32)
mol.fileloc = []
mol.box = np.zeros((3, 0))
for i, c in enumerate(chain):
tmpmol = Molecule(sim.molfile)
tmpmol.read(c[0].trajectory)
endpiece = c[1]
fileloc = np.vstack(tmpmol.fileloc)
filenames = fileloc[:, 0]
pieces = np.unique(filenames)
firstpieceframe = np.where(filenames == pieces[endpiece])[0][0]
endFrame = firstpieceframe + c[2]
if endFrame != -1:
tmpmol.coords = tmpmol.coords[:, :, 0:endFrame + 1] # Adding the actual respawned frame (+1) since the respawned sim doesn't include it in the xtc
tmpmol.fileloc = tmpmol.fileloc[0:endFrame + 1]
tmpmol.box = tmpmol.box[:, 0:endFrame + 1]
mol.coords = np.concatenate((mol.coords, tmpmol.coords), axis=2)
mol.box = np.concatenate((mol.box, tmpmol.box), axis=1)
mol.fileloc += tmpmol.fileloc
#mol.fileloc[:, 1] = range(np.size(mol.fileloc, 0))
return mol, chain, pathlist