使用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