python分子化学模拟_#分子模拟#MDTraj分子模拟python包(一)
大家好,又见面了,我是你们的朋友全栈君。
MDTraj是分子动力学模拟的一个python包,相对于MDAnalysis个人觉得操作性更强,更加Python范一些。其能够进行不同模拟软件的轨迹转换,常规计算,分析等等一体化。今天我们介绍其安装方法和简单使用。
官方地址:点击进入
安装方法
推荐使用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’)
下期我们将会介绍其基本的原子选择操作。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/141933.html原文链接:https://javaforall.cn
相关文章
- 二级Python选择题_二级python选择题题库
- python的进制转换器,Python进制转换[通俗易懂]
- 极具参考价值的Python面试题!从创业公司到一线大厂的所有面经汇总
- python中的 += 与 +
- python解释器安装教程的方法步骤
- python在线代码编辑器-5种最佳Python IDE和代码编辑器
- 【说站】python编写程序的常见错误
- 【说站】python WSGI规范是什么
- python 跨进程通信可以使用哪些消息中间件?
- 谷歌是python开发的吗_google python
- Python 之 tkinter 学习笔记
- python抛出异常会终止程序吗_python抛出异常的作用
- python django 数据库_Apache+Mysql+PHP/Python简单项目
- 2022年10个用于时间序列分析的Python库推荐
- python之对比两张图像的相似度
- Python爬虫中:get和post方法使用
- Python之Selenium模拟浏览器
- Python 自动化指南(繁琐工作自动化)第二版:十九、处理图像
- python-Python与SQLite数据库-SQLite数据库的基本知识(一)
- Python使用map,reduce高阶函数模拟实现Spark的reduceByKey算子功能详解编程语言
- Linux 启动 Python编程之旅(linux打开python)
- 使用Python连接SQL Server数据库(python连接sqlserver)
- 下的应用玩转Python:Linux下的Python应用之旅(python在linux)
- Connecting to MSSQL with Python: A Comprehensive Guide for Beginners(python连接mssql)
- 在Linux上安装Python学习快乐(linux下载python)
- python二分法实现实例
- python定时器使用示例分享