高精度量子化学计算

该博客介绍了如何利用Python的MDAnalysis库处理.sander.nc文件,从中抽取分子构象,并通过ORCA软件进行高精度量子化学计算。文章详细阐述了从数据抽取到预处理,包括坐标转换、随机选取构象、能量计算、单位转换和数据标准化的过程,为量子化学计算的自动化提供了一种方法。
摘要由CSDN通过智能技术生成

在对分子构象进了充分的抽样之后,就可以在其中随机抽取若干构象进行高精度量子化学计算。sander程序得到的轨迹文件后缀名是.nc,使用MDAnalysis这个工具包,就可以在Python中读取对应的坐标文件。例如,使用下面的脚本就可以将nc文件中的坐标转换为numpy数组:

代码如下:

import numpy as np

import MDAnalysis as mda

parmfile = 'cba.prmtop'

nfile = 4

xyz = []

for idx in range(nfile):

    ncfile = 'cba_metad_mw' + str(idx)+'.nc'

    print(ncfile)

    u = mda.Universe(parmfile,ncfile)

    print(u.trajectory)

    for ts in u.trajectory:

        r = ts.positions

        xyz.append(r.copy())

xyz = np.array(xyz)

np.savez('cba_metad.npz',R=xyz)

之后我们需要随机抽取一定数量的构象,我们用Python脚本随机选取一定的数量的构象并保存为xyz格式:

代码如下:

import os

import numpy as np

dataname = 'cba_metad.npz'

data = np.load(dataname)

R = data['R']

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值