Coordinate I/O tends to be the most time-consuming part of trajectory analysis. In addition, many types of analyses (for example two-dimensional RMSD and cluster analysis) require using coordinate frames multiple times. To simplify this, trajectory coordinates may be saved as a separate data set via the loadcrd command or createcrd action. Any action can then be performed on the COORDS data set with the crdaction command. The crdout command can be used to write coordinates to an output trajectory (similar to trajout).
Although COORDS data sets store everything internally with single-precision, they can still use a large amount of memory. Because of this there is a specialized type of COORDS data set called a TRAJ data set (trajectory), which functions exactly like a COORDS data set except all data is stored on disk. TRAJ data sets can be created with the loadtraj command. TRAJ data sets cannot be modified.
There are several analyses that can be performed using COORDS data sets, either as part of the normal analysis list or via the runanalysis command. Note that while these analyses can be run on specified COORDS data sets, if one is not specified a default COORDS data set will be created, made up of frames from trajin commands.
As an example of where this might be useful is in the calculation of atomic positional fluctuations. Previously this required two steps: one to generate an average structure, then a second to rms-fit to that average structure prior to calculating the fluctuations. This can now be done in one pass with the following input:
parm topology.parm7 loadcrd mdcrd.nc # Generate average structure PDB, @CA only crdaction mdcrd.nc average avg.pdb @CA # Load average structure PDB as reference parm avg.pdb reference avg.pdb parm avg.pdb # RMS-fit to average structure PDB crdaction mdcrd.nc rms reference @CA # Calculate atomic fluctuations for @CA only crdaction mdcrd.nc atomicfluct out fluct.dat bfactor @CA
Another example is using COORDS sets to rms fit two structures and generate a new reoriented PDB file:
parm gcg10.pdb name template reference gcg10.pdb parm template parm tmp.opt.pdb name fragment loadcrd tmp.opt.pdb parm fragment crdaction tmp.opt.pdb rms @N9,C8,N7 reference :9@N9,C8,N7 out del.dat crdout tmp.opt.pdb crd1.pdb run
parm gcg10.pdb name template reference gcg10.pdb parm template parm tmp.opt.pdb name fragment loadcrd tmp.opt.pdb parm fragment rotatedihedral crdset tmp.opt.pdb value 85.64 @O4' @C1' @N9 @C8 crdaction tmp.opt.pdb rms @N9,C8,N7 reference :9@N9,C8,N7 out del.dat crdout tmp.opt.pdb new-9-51G.pdb
The following COORDS data set commands are available:
Command | Description |
catcrd | Concatenate two or more COORDS sets. |
combinecrd | Combine two or more COORDS sets. |
crdaction | Run a single Action on a COORDS set. |
crdout | Write a COORDS set to a file. |
crdtransform | Transform a COORDS set to a file. |
createcrd | (Action) Create a COORDS set during a run. |
emin | Run simple energy minimization on a frame of a COORDS set. |
extendedcomp | Calculate extended comparison similarity values for each frame in COORDS set. |
graft | Graft part of one COORDS set onto another COORDS set. |
loadcrd | Create or append to a COORDS set from a file. |
loadtraj | Create special COORDS set where frames remain on disk. |
permutedihedrals | Rotate specified dihedral(s) in given COORDS set by specific interval or to random values. |
prepareforleap | Prepare a structure (usually loaded from a PDB) for processing with LEaP from Amber. |
reference | Load a single trajectory frame as a reference. |
rotatedihedral | Rotate specified dihedral to specified value orĀ by given increment. |
sequence | Create a new molecule from a sequence of COORDS sets. |
splitcoords | Split molecules in a COORDS set into a trajectory. |
zmatrix | Apply Z-matrix to a COORDS set or calculate Z-matrix for a molecule/frame in a COORDS set. |