DCD (CHARMM, NAMD, or LAMMPS trajectory)¶
DCD is used by NAMD, CHARMM and LAMMPS as the default trajectory format.
Generally, DCD trajectories produced by any code can be read (with the
DCDReader) although there can be issues with the unitcell dimensions (simulation box).
Currently, MDAnalysis tries to guess the correct format for the unitcell representation but it can be wrong.
Check the unitcell dimensions, especially for triclinic unitcells (see Issue 187).
MDAnalysis always uses
(*A*, *B*, *C*, *alpha*, *beta*, *gamma*) to
represent the unit cell. Lengths A, B, C are in the MDAnalysis length
unit (Å), and angles are in degrees.
The ordering of the angles in the unitcell is the same as in recent
versions of VMD’s DCDplugin (2013), namely the X-PLOR DCD format: The
original unitcell is read as
[A, gamma, B, beta, alpha, C] from the DCD
file. If any of these values are < 0 or if any of the angles are > 180
degrees then it is assumed it is a new-style CHARMM unitcell (at least
since c36b2) in which box vectors were recorded.
Check your unit cell dimensions carefully, especially when using triclinic boxes. Old CHARMM trajectories might give wrong unitcell values.
The DCD file format is not well defined. In particular, NAMD and CHARMM use it differently. DCD trajectories produced by CHARMM and NAMD( >2.5) record time in AKMA units. If other units have been recorded (e.g., ps) then employ the configurable LAMMPS DCD format and set the time unit as an optional argument. You can find a list of units used in the DCD formats on the MDAnalysis wiki.
The writer follows recent NAMD/VMD convention for the unitcell (box lengths in Å and angle-cosines,
[A, cos(gamma), B, cos(beta), cos(alpha), C]). It writes positions in Å and time in AKMA time units.
Reading and writing these trajectories within MDAnalysis will work seamlessly. However, if you process those trajectories with other tools, you need to watch out that time and unitcell dimensions are correctly interpreted.