python分子化学模拟_#分子模拟#MDTraj分子模拟python包(一)

python分子化学模拟_#分子模拟#MDTraj分子模拟python包(一)MDTraj是分子动力学模拟的一个python包,相对于MDAnalysis个人觉得操作性更强,更加Python范一些。其能够进行不同模拟软件的轨迹转换,常规计算,分析等等一体化。今天我们介绍其安装方法和简单使用。官方地址:点击进入安装方法推荐使用conda安装mdtraj.$condainstall-cconda-forgemdtraj同样也可以使用pip来安装mdtraj测试安装运…

大家好,又见面了,我是你们的朋友全栈君。

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

19e7a9833ee1c6d324dc18c39af1aebd.png

官方地址:点击进入

安装方法

推荐使用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’)

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

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

108da3abdd430b2f7ab159f41ec5c92e.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141933.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 详解SpringMVC执行流程[通俗易懂]

    详解SpringMVC执行流程[通俗易懂]SpringMVC执行流程SpringMVC执行流程整体如下:执行流程分析(1)浏览器提交请求到中央调度器。(2)中央调度器直接将请求转给处理器映射器。(3)处理器映射器会根据请求,找到处理该请求的处理器,并将其封装为处理器执行链后返回给中央调度器。(4)中央调度器根据处理器执行链中的处理器,找到能够执行该处理器的处理器适配器。(5)处理器适配器调用执行处理器。(6)处理器将处理结果及要跳转的视图封装到一个对象ModelAndView中,并将其返回给处理器适配器。(7)处理器适配

    2022年6月28日
    30
  • Python实战-暴力破解zip文件解压密码

    Python实战-暴力破解zip文件解压密码使用Python暴力解压传统加密的ZIP文件。

    2022年5月22日
    39
  • matlab中三角函数的反函数怎么表示(反三角函数的对应数值)

    原文地址:Matlab反三角函数表示作者:蓝薇-Matlab反三角函数命令:asin(),acos(),atan(),acot()生成的值为弧度值,即rad;asind(),acosd(),atand(),acotd()生成的值为角度值;将弧转换为角度的命令:rad2deg()deg2rad()作用则相反…

    2022年4月10日
    370
  • 御用导航提示提醒_又现神操作!广西两车主开车走楼梯,车主:导航让我走的!…[通俗易懂]

    御用导航提示提醒_又现神操作!广西两车主开车走楼梯,车主:导航让我走的!…[通俗易懂]大家有没有被导航坑坏的经历?近日柳州市某小区内有两辆小轿车跟着导航走结果都开到了同一楼梯处卡在了同样的地方……2月12日上午,在柳州市柳江区柳西新城小区,一司机开车跟着导航走,结果将车子开到楼梯上了。据网友描述,事故发生在该小区31栋平台上,一辆红色小轿车的四个车轮都在楼梯上,走下楼梯直达小区门口。随后,司机用其他车子把他的汽车拉起来,自己也没有受伤。无独有偶此前就发生过一样的事…

    2022年5月7日
    171
  • characterEncodingFilter作用[通俗易懂]

    characterEncodingFilter作用[通俗易懂]characterEncoding表示编码方式,enabled表示是否启用编码,分别从初始化参数中取值。web.xml中的配置如下:如果使用的字符编码Filter、request中取出的字符可能是

    2022年7月4日
    33
  • javascript下载文件

    javascript下载文件function DownURL(strRemoteURL,strLocalURL){ try {  var xmlHTTP=new ActiveXObject(“Microsoft.XMLHTTP”);  xmlHTTP.open(“Get”,strRemoteURL,false);  xmlHTTP.send();  var adodbStream=new ActiveXObject(“ADO

    2022年5月5日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号