mdconvert is a command-line script installed with MDTraj to convert molecular dynamics trajectories between formats. The DCD, XTC, TRR, binpos, NetCDF, binpos, and HDF5 formats are supported (.xtc, .nc, .trr, .h5, .pdb, .binpos, .dcd). mdconvert is memory-efficient, and processes trajectories in a chunked, streaming fashion. It is capable of converting trajectory files which cannot be fully loaded into memory. It can also concatenate trajectories, convert only a subset of the atoms in a trajectory (i.e. strip solvent molecules), and down-sample trajectories by extract only a subset of the frames.
After installing the library, it should be in your $PATH. You can check this from the command line with this command.
$ which mdconvert
Here’s the mdconvert help text.
$ mdconvert -h usage: mdconvert [-h] -o OUTPUT [-c CHUNK] [-f] [-s STRIDE] [-i INDEX] [-a ATOM_INDICES] [-t TOPOLOGY] input [input ...] Convert molecular dynamics trajectories between formats. The DCD, XTC, TRR, binpos, NetCDF, binpos, and HDF5 formats are supported (.xtc, .nc, .trr, .h5, .pdb, .binpos, .dcd) positional arguments: input path to one or more trajectory files. Multiple trajectories, if supplied, will be concatenated together in the output file in the order supplied. all of the trajectories should be in the same format. the format will be detected based on the file extension required arguments: -o OUTPUT, --output OUTPUT path to the save the output. the output format will chosen based on the file extension (.xtc, .nc, .trr, .h5, .pdb, .binpos, .dcd) optional arguments: -h, --help show this help message and exit -c CHUNK, --chunk CHUNK number of frames to read in at once. this determines the memory requirements of this code. default=1000 -f, --force force overwrite if output already exsits -s STRIDE, --stride STRIDE load only every stride-th frame from the input file(s), to subsample. -i INDEX, --index INDEX load a *specific* set of frames. flexible, but inefficient for a large trajectory. specify your selection using (pythonic) "slice notation" e.g. '-i N' to load the the Nth frame, '-i -1' will load the last frame, '-i N:M to load frames N to M, etc. see http://bit.ly/143kloq for details on the notation -a ATOM_INDICES, --atom_indices ATOM_INDICES load only specific atoms from the input file(s). provide a path to file containing a space, tab or newline separated list of the (zero-based) integer indices corresponding to the atoms you wish to keep. -t TOPOLOGY, --topology TOPOLOGY path to a PDB file. this will be used to parse the topology of the system. it's optional, but useful. if specified, it enables you to output the coordinates of your dcd/xtc/trr/netcdf/binpos as a PDB file. If you're converting *to* .h5, the topology will be stored inside the h5 file.