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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WDA报错

    WDA报错WDA报错记录RuntimeErrors    UNCAUGHT_EXCEPTIONException       CX_FQDN”CX_FQDN=======================CP””UNCAUGHT_EXCEPTION”报错的代码如下:应该是网址配置不对导致的,由于是个人练习使用的虚拟机,直接注释这段代码。 

    2022年7月12日
    19
  • java初学者Win 10下eclipse的安装教程(超级详细)

    java初学者Win 10下eclipse的安装教程(超级详细)安装的前准备首先查看电脑的位数方法:1.同时按Win键+R键,在打开的运行窗口中输入“dxdiag”,并确定。(Win键就是键盘上显示WINDOWS标志的按键)可以看到系统是64位的,等会要按照位数下载安装适合自己系统的vs下载安装JDK(由于jdk9和eclipse适配现在有问题这里安装jdk8)1.打开Oracle的官网http://www.oracle.com/techne

    2022年5月25日
    29
  • python安装教程[通俗易懂]

    python安装教程[通俗易懂]python安装教程本章节我们将向大家介绍如何在本地搭建Python开发环境。Python可应用于多平台包括Linux和MacOSX。你可以通过终端窗口输入"python&

    2022年7月5日
    23
  • JavaScript算法题整理

    JavaScript算法题整理1.获得两个数相除的商和余数console.log(10/3);//商:3.3333console.log(10%3);//余数:1//获得两个数相除的商和余数console.log(Math.floor(10/3));//13//Math.floor(向下取整)、Math.ceil(向上取整)、round(四舍五入)console.log(0.1+0.2);//在js中,尽量避免做小数点运算//如果有小数位的运算varsum=(0.1*100+0.2*100)/100;c

    2022年6月14日
    32
  • 什么是数据安全,为什么需要数据安全,怎么才能实现数据安全?

    什么是数据安全,为什么需要数据安全,怎么才能实现数据安全?WHAT何为数据安全?数据安全指的是用技术手段识别网络上的文件、数据库、帐户信息等各类数据集的相对重要性、敏感性、合规性等,并采取适当的安全控制措施对其实施保护等过程。与边界安全、文件安全、用户行为安全等其他安全问题相同,数据安全并非是唯一一种能提升信息系统安全性的技术手段,也不是一种能全面保障信息系统安全的技术手段。它就是一种能够合理评估及减少由数据存储所带来的安全风险的技术方式。数据安全…

    2022年5月22日
    30
  • CentOS6.5

    CentOS6.5

    2022年2月22日
    44

发表回复

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

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