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


相关推荐

  • springboot mybatis缓存_secure boot未正确配置

    springboot mybatis缓存_secure boot未正确配置什么是缓存?简单来讲,缓存就是存储在缓冲区里的内容,或者可以理解为存在内存中的内容。用户可以将经常查询的内容放到缓存中,再次使用时直接从缓存中取值,而不需要再查询数据库。这样做的优点是响应迅速,减少了系统资源(网络资源、CPU资源等)开销;缺点是需要占用内存资源,服务器一旦关机,缓存就会丢失,重启后需要重新将写一遍数据到内存。Mybatis的缓存Mybatis的缓存分为一级缓存和二级缓存。一级缓存是默认开启的,二级缓存需要手动开启。一级缓存是SqlSession级别的缓存,作用域是一个SqlSess

    2022年9月19日
    2
  • ubuntu下deb包安装方法_ubuntu安装下载文件

    ubuntu下deb包安装方法_ubuntu安装下载文件deb包是Debian,Ubuntu等Linux发行版的软件安装包,扩展名为.deb,是类似于rpm的软件包,Debian,Ubuntu系统不推荐使用deb软件包,因为要解决软件包依赖问题,安装也比较麻烦。如果Ubuntu要安装新软件,已有deb安装包(例如:linuxidc.deb),但是无法登录到桌面环境。那该怎么安装?答案是:使用dpkg命令。dpkg是Debianlinuxidc的简写,是为Debian专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自Debian的Linux发行

    2022年10月20日
    2
  • or1200于IMMU分析

    or1200于IMMU分析

    2021年9月8日
    58
  • dom 自定义事件_pix4D生成dom

    dom 自定义事件_pix4D生成dom之前做项目都是直接用jquery的bind绑定事件,不过当时都不是动态生成dom元素,而是已经页面中原本存在的dom元素进行事件绑定,最近在测试给动态生成的dom绑定事件的时候发现事件失效,于是就测试了一下:1.事件失效的原因:(1)bind事件绑定只对dom中存在的元素有效,对于我们后来动态增加的元素是监测不到,所以绑定不了(2)同样,当你使用varaa=docu

    2022年9月11日
    3
  • 远程读取elasticSearch数据库并导出数据「建议收藏」

    远程读取elasticSearch数据库并导出数据「建议收藏」packageorg.elasticsearch.esTest;importjava.awt.List;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileWriter;importjava.io.IOException;importjava.util.ArrayList;importjava

    2022年6月6日
    78
  • MyBatis面试题(2020最新版)

    MyBatis面试题(2020最新版)整理好的MyBatis面试题库,史上最全的MyBatis面试题,MyBatis面试宝典,特此分享给大家MyBatis介绍MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO(Plai…

    2022年6月14日
    30

发表回复

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

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