#分子模拟#MDTraj分子模拟python包(一)

MDTraj是分子动力学模拟的一个python包,相对于MDAnalysis个人觉得操作性更强,更加Python范一些。其能够进行不同模拟软件的轨迹转换,常规计算,分析等等一体化。今天我们介绍其安装方法和简单使用。

#分子模拟#MDTraj分子模拟python包(一)_第1张图片

官方地址:点击进入

安装方法

推荐使用conda安装mdtraj.


$ conda install -c conda-forge mdtraj

同样也可以使用pip来安装mdtraj

测试安装

运行测试是一个非常好的方法来认证工作,测试套件采用nose,如果还没有安装可以使用pip来进行安装


pip install nose

运行测试命令如下


nosetests mdtraj -v

例子

这段文字提供一系列的例子,资源和代码来帮助使用mdtraj

如果是通过编译安装的mdtraj可以进入path-to-mdtraj/examples查看,如果是一键安装,可以通过Github进行查看,其为Ipython notebook格式。

1. MDTraj介绍

首先从硬盘中加载轨迹,MDTraj会自动的使用最合适的方式加载不同的文件格式。


import mdtraj as md
t=md.load('trajectory.xtc',top='trajectory.pdb')
print t



一些轨迹例如Gromacs XTC轨迹文件并不包含拓扑信息,我们需要采用top关键字来加载拓扑文件,例如PDB文件.

如果你只对部分轨迹感兴趣,你可以切割(slice)他们


#查看十帧(frames)
print t[1:10]



#查看最后一帧

print t[-1]



轨迹对象包含许多对象,最多显而易见的是卡迪儿(Cartesuab)坐标.作为numpy array存储在xyz下.轨迹中的距离单位均为纳米(nanometers).时间单位为皮秒(picoseconds).角度存储为度(不是弧度).


print t.xyz.shape
print np.mean(t.xyz)


#第一个十帧时间模拟
print t.time[0:10]


# 最后一帧的晶胞长度
t.unitcell_lengths[-1]

(100, 22, 3)
0.89365752249053032

array([ 0.002,  0.004,  0.006,  0.008,  0.01 ,  0.012,  0.014,  0.016,0.018,  0.02 ], dtype=float32)

array([ 2.,  2.,  2.], dtype=float32)

保存轨迹到文件也非常容易操作


# 保存成hdf5格式,最后一个2表示每2帧保存一次
t[::2].save('halftraj.h5')

#个人推荐的保存成dcd格式
t[0:10].save_dcd('first-ten-frames.dcd)

轨迹包含拓扑对象的引用,这可以派上用场。例如,如果你想保存你的轨迹一份只含有α碳原子的轨迹,你可以这样做:


atoms_to_keep=[a.index for a in t.topology.atoms if a.name == 'CA']
t.restrict_atoms(atoms_to_keep) #在轨迹中扮演适当的作用
t.save('CA-only.h5')

下期我们将会介绍其基本的原子选择操作。

更多原创精彩内容敬请关注生信杂谈

你可能感兴趣的:(#分子模拟#MDTraj分子模拟python包(一))