Data Type: Molecule Trajectory ()

Description:

An object of type Molecule Trajectory represents a series of molecular configurations. A trajectory can be created by loading a file containing a trajectory, or it can be attached to an object of type Molecule Trajectory Bundle, extracting one of the trajectories contained in that bundle.

Connections:

Bundle [optional]
The trajectory may be connected to a trajectory bundle. If so, the Trajectory port will appear in the user interface of the data object which enables you to control which member of the bundle this trajectory represents.

Ports:

Trajectory

The Trajectory port is visible only if the connection port Bundle is connected to a trajectory bundle. The menu lets you select one of the trajectories contained in the bundle.

Commands:

getTrajectoryName
Returns the name of the trajectory.

Timestep editing commands:

getNumTimeSteps
Returns the number of time steps in the trajectory.

getCoordinate <stepIx> <atomIx>
Returns the coordinate of atom atomIx of timestep <stepIx>. No return value.

setCoordinate <stepIx> <atomIx> <x> <y> <z>
Sets the coordinate of atom atomIx of time step stepIx. No return value.

removeTimestep <stepIx>
Removes stepIx'th timestep. No return value.

removeTimestepRange <firstStepIx> <lastStepIx>
Removes all timesteps starting with the firstStepIx'th end ending with the lastStepIx'th. No return value.

restrictToTimestepRange <firstStepIx> <lastStepIx>
Restricts trajectory to timesteps within the range <firstStepIx> and <lastStepIx>. No return value.

appendTrajectory <trajectory2>
Appends all timesteps of a trajectory of given name in the Project View. This only works if both trajectories have the same topologies and observables. No return value.

splitByObservable <observableIx>
Splits the trajectory by creating a trajectory for each different value found in the observable. Each new trajectory will contain all timesteps which had the specific observable value. Return the name of the new trajectory bundle object containing all trajectories.

Topology editing commands:

addHydrogens
Add hydrogens until the valences of all atoms are saturated. No return value.

addMMFFParameterization
Adds parameters of MMFF94 force field. No return value.

removeWater
Removes all water molecules and unbonded oxygens and hydrogens. No return value.

addHydrogens
Add hydrogens until the valences of all atoms are saturated. No return value.

removeHydrogens
Removes hydrogens. No return value.

removeNonPolarHydrogens
Removes hydrogens on non polar heavy atoms. No return value.

generateSmiles
Returns SMILES string of molecule.

assignKekuleBondOrders
Converts all aromatic bond orders to single and double to create a kekule structure. No return value.

assignNonKekuleBondOrders
Reverses the kekule structure assignment. No return value.

Observables commands:

getNumObservables
Returns number of observables.

getObservableNames
Returns the names of all observables as a list.

getObservableIx <obsName>
Returns index of obervable with given name. Returns 0 if no such observable exists.

getObservableName <obsIx>
Returns name of obervable with given index.

addFloatObservable <name>
Adds a new float observable with the given name. Initial values will be 0. Returns index.

addIntegerObservable <name>
Adds a new integer observable with the given name. Initial values will be 0. Returns index.

setObservableValue <obsIx> <stepIx> <value>
Sets value of stepIx'th timestep of observable with index obsIx to value. If stepIx is 0 the value will be set for all timesteps. No return value.

getObservableValue <obsIx> <stepIx> <value>
Returns value of stepIx'th timestep of observable with index obsIx.

sortByObservable <obsIx> [a/d]
Sorts timesteps of the trajectory so that the values of the given trajectory are in ascending (a) or descending order. The sort order is an optional argument and is ascending. No return value.

computeObservableRange <obsIx>
Returns range (minimum and maximum) of values of given observable.

computeObservableStatistics <obsIx1> [<obsIx2>]
Computes variance and mean of the given observable. If a second observable is specified it will also compute the correlation and covariance between the two observables.

Alignment:

alignTimestep <stepIx> <alignToStepIx>
Aligns coordinates timestep stepIx to coordinates of timestep alignToStepIx by minimizing RMSD. No return value.

alignTimesteps <alignToStepIx>
Aligns coordinates of all timesteps to coordinates of timestep alignToStepIx by minimizing RMSD. No return value.

Clustering commands:

clusterTimestepsKMeans <clusterNumber> [observableName]
Applies K-Means clustering to the timesteps of the trajectory with the rmsd between the coordinates of two timesteps used as distance metric. The parameter <clusterNumber> determines how many clusters will be created. The command will generate an integer observable in the range of [1...clusterNumber] containing the cluster index of each timestep. If no observable name is given, the name clusterIx will be used. The K-Means algorithm is non deterministic. No return value.

clusterTimestepsQT <clusterRadius> <minMemberNum> [observableName]
Applies QT clustering to the timesteps of the trajectory with the rmsd between the coordinates of two timesteps used as distance metric. Unlike K-Means clustering, QT clustering does not have a predefined cluster number. Instead the parameter <clusterRadius> determines the rmsd threshold for a cluster and the larger this radius, the larger the clusters will be and the smaller the number of clusters. To avoid a large number of small clusters and focus on significant clusters the parameter <minMemberNum> restricts the clustering to clusters which have this minimum number of members. The command will generate an integer observable in the range of [0...clusterNumber] containing the cluster index of each timestep whereby 0 means that the timestep was not assigned to any cluster. If no observable name is given, the name clusterIx will be used. The QT algorithm is deterministic. QT-Clustering is singificantly more computationally demanding than K-Means. The latter algorithms should be thus preferred for large trajectories. No return value.

Miscellaneous commands:

getGlobalWeight
Returns the global weight of the trajectory, which is the probability of the molecule to be in the metastable conformation (conformational ensemble) represented by the trajectory.

setGlobalWeight
Sets the global weight.

loadIntoMemory
Makes sure that all coordinates of the Trajectory are stored in local memory.