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(simid, parent, input, trajectory, molfile, numframes=None)

Bases: object

Information class for a single simulation.

Do not use directly. Objects of this class are constructed by the simlist() and simfilter() functions. This class is used for storing information on 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.

simid

int – A unique simulation ID

parent

Sim object – The parent of the simulations

input

str – The path to the input folder which generated this simulation

trajectory

list – A list of trajectory files

molfile

str – The path to the structural information about the simulation. Usually a PDB file

numframes

list – Number of frames in trajectories

copy()
htmd.simlist.simfilter(sims, outfolder, filtersel)

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
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 string to a single structure which corresponds to all trajectories.
  • 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/*/'), 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