使用mdconvert转换分子动力学模拟轨迹

  常见的分子动力学模拟软件包括Amber,Gromacs,Namd,openMM等,不同软件运行之后产生的轨迹文件格式不尽相同,而某些分析模块则只能处理特定格式的轨迹文件,因而需要一款足够稳健的工具来转换不同的文件格式,比如mdconvert。现将其使用方法记录于下,以作备忘:
  mdconvert 是MDTraj工具包里面的一个命令行工具,能够方便地转换分子动力学模拟的轨迹文件。它支持所有常见的轨迹文件格式,包括DCD, XTC, TRR, binpos, NetCDF, binpos, 和 HDF5 等格式(.xtc, .nc, .trr, .h5, .pdb, .binpos, .dcd)。

$ mdconvert -h
usage: mdconvert [-h] 
                 -o OUTPUT         # 必需,指定输出文件 
                 [-c CHUNK]        # 可选,指定一次读入内存的帧数,默认1000.
                 [-f]              # 可选,如果输出文件已存在,则强制覆盖 
                 [-s STRIDE]       # 可选,只加载 every stride-th frame 
                 [-i INDEX]        # 可选,更加灵活地指定加载特定的帧(Python格式),eg: -i N; -i -1; -i N:M 
                 [-a ATOM_INDICES] # 可选,通过文件指定只加载特定的某些原子,文件内容为原子序号(从0开始计数)
                 [-t TOPOLOGY]     # 可选,指定拓扑文件(PDB/prmtop 格式),一旦指定即可将轨迹输出为pdb格式。
                 input [input ...] # 必需,指定输入文件(可以是多条轨迹)

mdconvert -o test.dcd  -t npt.pdb md_pbc_fit.xtc

Notes:

  1. mdconvert 不但能用于转换轨迹文件的格式,同时还能连接、截取轨迹,甚至是提用来取结构中的部分原子
  2. 输入的pdb为gmx产生的pdb,故没有TER标识,所以如果结构中包含多条链的话,原子序号可能会不一致
  3. 只会输出’xyz’, ‘cell_lengths’, ‘cell_angles’等信息,会忽略’step’, ‘time’等信息
  4. 另一款轨迹转换工具catdcd

Source