htmd.simlist module#

HTMD can handle a large amount of simulations. Simulation lists allow to create a simple list containing all relevant information about the simulations to later perform any type of analysis.

class htmd.simlist.Frame(sim, piece, frame)#

Bases: object

Class used for referencing a specific frame of a Sim object object.

Parameters:
  • sim (Sim object) – The simulation.

  • piece (int) – Which trajectory piece the frame corresponds to.

  • frame (int) – The frame of the specific trajectory piece.

frame#
piece#
sim#
class htmd.simlist.Sim(trajf, topology=None, inputf=None, _simid=None, _parent=None, _input=None, _trajectory=None, _molfile=None, _numframes=None)#

Bases: object

Information on a single simulation trajectory.

This class is used for storing information related to simulations. This information includes the path to the simulation, the path to a structure file (pdb) which corresponds to the simulation, the folder containing the input files used to generate the simulation (useful for adaptive), the parent of the simulation (if it was filtered it will point to the original simulation) and a unique simulation id.

copy()#
static fromHDF5(h5group: Group)#
toHDF5(h5group: Group)#
htmd.simlist.simfilter(sims, outfolder, filtersel, njobs=None)#

Filters a list of simulations generated by simlist()

This function takes as input a list of simulations produced by simList and writes new trajectories containing only the desired atoms in a new directory.

Parameters:
  • sims (list) – A simulation list produced by the simList function

  • outfolder (str) – The folder in which to write the modified trajectories

  • filtersel (str) – Atom selection string describing the atoms we want to keep. See more here

  • njobs (int) – Number of parallel jobs to spawn for filtering of trajectories. If None it will use the default from htmd.config.

Returns:

fsims – A list of filtered simulations

Return type:

np.ndarray of Sim objects

Example

>>> sims  = simlist(glob('data/*/'), glob('input/*/structure.pdb'))
>>> fsims = simfilter(sims, 'filtered', filtersel='not water')
htmd.simlist.simlist(datafolders, topologies, inputfolders=None)#

Creates a list of simulations

Parameters:
  • datafolders (str list) – A list of directories, each containing a single trajectory

  • topologies (str list) – A list of topology files or folders containing a topology file corresponding to the trajectories in dataFolders. Can also be a single path to a single structure which corresponds to all trajectories. If the single path is a folder, topology files will be auto-detected in that folder.

  • inputfolders (optional, str list) – A list of directories, each containing the input files used to produce the trajectories in dataFolders

Returns:

sims – A list of simulations

Return type:

np.ndarray of Sim objects

Examples

>>> simlist(glob('./test/data/*/'), './test/data/0/')
>>> simlist(glob('./test/data/*/'), glob('./test/input/*/'), glob('./test/input/*/'))
>>> simlist(glob('./test/data/*/'), glob('./test/input/*/*.pdb'), glob('./test/input/*/'))
htmd.simlist.simmerge(simlist1, simlist2)#

Merges two simlists by updating their simid fields

Parameters:
  • simlist1 (numpy array of Sim objects) – First list

  • simlist2 (numpy array of Sim objects) – Second list

Returns:

newlist – A new list containing all simulations

Return type:

np.ndarray of Sim objects