Amber学习---小分子肽段的MD(第一天)

news2024/9/20 3:13:12

参考资料:1.科学网—AMBER基础教程B0:AMBER分子动力学模拟入门 - 李继存的博文 (sciencenet.cn)

2.Benjamin D. Madej & Ross Walker, An Introduction to Molecular Dynamics Simulations using AMBER 

1 使用wsl(windows的子系统linux),了解几个常用的操作

打开cmd,输入wsl启动ubuntu,终端如图所示

1.1 使用cd命令进入指定文件夹  cd /home/lxy

1.2 使用ls命令列出当前目录中的内容 ls

1.3 使用mkdir命令创建一个名为Tutorial的目录 mkdir tutorial

输入ls命令检查所创建的文件夹

1.4 使用cd命令切换不同的目录 

如cd tutorial,cd .. ,cd ~,这三个命令分别代表进入当前目录下的tutorial目录,返回上一级目录以及返回根目录

2 准备拓扑文件和坐标文件

2.1启动leap

        使用tleap命令启动leap,如图

tleap

        现在用source命令加载蛋白质力场FF19SB

source leaprc.protein.ff19SB

2.2 建立肽段,即氨基酸序列,以 ALA VAL SER PHE为例子创建,在leap中N端残基需要在前面加上N,C端加上C,如NALA,CPHE。有三种方式建立肽或者蛋白质序列。

        1.标准氨基酸残基表示:{ALA VAL SER PHE}

        2.N或C标识:{NALA VAL SER CPHE}

        3.保护基团ACE/NME:{ACE ALA VAL SER PHE NME}

注:1.从pdb文件载入的时候,是以第二种形式。

        2.组氨酸可以以质子化的形式,或以δ或ε位置有氢的中性形式存在。对应的组氨酸残基名为HIP、HID或HIE(不是HIS)。标准的leaprc文件将HIS命名为HIE,因此,如果载入含残基HIS的PDB文件,则将该残基命名为HIE。

        3.AMBER力场可以区分残基半胱氨酸(CYS)和参与二硫键的残基胱氨酸(CYX)。此时,必须使用bond命令定义一对半胱氨酸的二硫键,因为PDB文件不能读取该信息。此外,还需使用loadPdbUsingSeq命令加载PDB文件,在将要创建二硫键的序列中将CYX替换为CYS。

foo = sequence { NALA VAL SER CPHE } 

2.3溶剂化 

        用显式的水分子溶剂化分子,模拟中, 将添加TIP3P模型水分子到系统中。在这种类型的模拟中, 系统具有周期性边界条件。因此,周期性盒子应当足够大, 即肽段周围有足够的水, 使肽段分子不与其自身的周期性映像发生相互作用。

        使用solvatebox命令对系统进行溶剂化.

source leaprc.water.tip3p
solvatebox foo TIP3PBOX 10.0

        其中第一行加载水力场,TIP3PBOX指定溶剂化水盒子的类型. 10.0表示水分子在肽段和周期性盒子之间至少有10 埃的缓冲区。溶剂化肽段后,终端如图所示,包含density,盒子大小等信息。

2.4 保存prmtopinpcrd输入文件

        保存prmtopinpcrd文件到当前工作目录. 现在Unit foo包括肽段,水分子和模拟所需的周期性盒子信息. 参数根据FF19SB力场指定。

        使用saveamberparm命令保存prmtop和inpcrd文件

saveamberparm foo prmtop inpcrd

2.5 退出LEaP, 使用quit命令

3 准备AMBER MD的sander输入文件

        首先进行能量最小化,其次在正则系综NVT下,20ps升温至298K,最后在标准状态下,NPT系综下,进行60ps的MD。每2 ps保存一次轨迹并写入输出文件一次,使用Langevin恒温器控制温度, 使用随机种子初始化随机数发生器。要控制这些设置, 需要使用文本编辑器编写一个简单的sander输入文件. 我们将使用ubuntu上的gedit文本编辑器。

3.1能量最小化

        使用gedit打开文本编辑器,输入以下内容,并将文件命名为01_min.in。

 Minimize
 &cntrl
  imin=1,
  ntx=1,
  irest=0,
  maxcyc=2000,
  ncyc=1000,
  ntpr=100,
  ntwx=0,
  cut=8.0,
 /
 

  设置含义如下:

  • imin=1: 选择运行能量最小化

  • ntx=1: 从ASCII格式的inpcrd坐标文件读取坐标, 但不读取速度

  • irest=0: 不重启模拟

  • maxcyc=2000: 最小化的最大循环数

  • ncyc=1000: 最初的0到ncyc循环使用最速下降算法, 此后的ncycmaxcyc循环切换到共轭梯度算法

  • ntpr=100: 每ntpr次循环写入Amber mdout输出文件一次

  • ntwx=0: 不输出Amber mdcrd轨迹文件,能量最小化不需要

  • cut=8.0: 以埃为单位的非键截断距离( 不要使用低于8.0的值. 较高的数字略微提高精度, 但是大大增加计算成本)

3.2 NVT升温

          使用gedit打开文本编辑器,输入以下内容,并将文件命名为02_heat.in。

Heat
 &cntrl
  imin=0,
  ntx=1,
  irest=0,
  nstlim=10000,
  dt=0.002,
  ntf=2,
  ntc=2,
  tempi=0.0,
  temp0=298.0,
  ntpr=100,
  ntwx=1000,
  cut=8.0,
  ntb=1,
  ntp=0,
  ntt=3,
  gamma_ln=2.0,
  nmropt=1,
  ig=-1,
 /
 &wt type='TEMP0', istep1=0, istep2=9000, value1=0.0, value2=298.0,/
 &wt type='TEMP0', istep1=9001, istep2=10000, value1=298.0, value2=298.0,/
 &wt type='END',/

设置含义如下:

  • imin=0: 选择运行分子动力学(MD),不运行能量最小化

  • nstlim=10000: 要运行的MD步数(运行时间长度为nstlim*dt, 单位ps)

  • dt=0.002: 以皮秒(ps)为单位的时间步长. 每一MD步骤的时间长度

  • ntf=2: 不计算受SHAKE约束的键所受的力

  • ntc=2: 启用SHAKE来约束所有包含氢的键

  • tempi=0.0: 初始恒温器的温度, 单位K

  • temp0=298.0: 最终恒温器的温度 单位K

  • ntwx=1000: 每ntwx步输出Amber轨迹文件mdcrd一次,也就是每2ps输出一次

  • ntb=1: 等容的周期性边界

  • ntp=0: 无压力控制

  • ntt=3: 使用Langevin恒温器控制温度

  • gamma_ln=2.0: Langevin恒温器的碰撞频率

  • nmropt=1: 读入NMR限制和权重变化

  • ig=-1: 随机化伪随机数发生器的种子

  • 通过NMROPT控制的恒温器温度:上面输入文件的最后三行允许恒温器在整个模拟过程中改变其目标温度. 对于前9000步, 温度将从0 K增加到290 K. 对于9001至10000步, 温度将保持在298 K.

        注意:本MD的NTPRNTWX设置得非常低, 这样才可以对这个很短的模拟进行分析. 使用这样的设置进行更长时间的MD模拟会产生非常大的输出文件和轨迹文件, 并且比常规MD设置更慢. 对于真正的成品MD, 需要增加NTPRNTWX的值。 

3.3 NPT生产

         使用gedit打开文本编辑器,输入以下内容,并将文件命名为03_prod.in。

Production
 &cntrl
  imin=0,
  ntx=5,
  irest=1,
  nstlim=30000,
  dt=0.002,
  ntf=2,
  ntc=2,
  temp0=290.0,
  ntpr=100,
  ntwx=100,
  cut=8.0,
  ntb=2,
  ntp=1,
  ntt=3,
  gamma_ln=2.0,
  ig=-1,
 /

  • ntx=5: 从无格式的inpcrd坐标文件中读取坐标和速度

  • irest=1: 重新启动以前的MD运行(这意味着inpcrd文件中存在速度, 并将使用它们来提供初始原子速度)

  • temp0=298.0: 恒温器温度. 在298 K运行

  • ntb=2: 在恒定压力下使用周期性边界条件

  • ntp=1: 使用Berendsen恒压器进行恒压模

        至此,sander输入文件准备完成,包括参数和拓扑文件prmtop, 坐标文件inpcrd和输入文件01_min.in02_heat.in03_prod.in, 接下来我们准备运行实际的最小化, 升温和成品MD. 

4 运行Amber MD模拟程序sander

4.1 运行肽段的能量最小化

        使用程序sander, Amber的通用MD引擎(也有一个高性能的版本, 称为pmemd,, 是MD引擎的最佳选择,但是是商业版)。在命令行上, 我们可以指定更多的选项, 并选择使用哪个文件用于输入。

$AMBERHOME/bin/sander -O -i 01_min.in -o 01_min.out -p prmtop -c inpcrd -r 01_min.rst -inf 01_min.mdinfo

sander对MD模拟的每一步都使用一致的语法. 以下是sander命令行选项的总结:

  • -O: 覆盖输出文件, 如果它们已经存在

  • -i 01_min.in: 选择输入文件

  • -o 01_min.out: 输出文件

  • -p prmtop: 选择参数和拓扑文件prmtop

  • -c inpcrd: 选择坐标文件inpcrd

  • -r 01_min.rst: 输出包含坐标和速度的重启文件

  • -inf 01_min.mdinfo: 输出包含模拟状态的MD信息文件

sander运行完成后, 应该有一个输出文件01_min.out, 一个重启文件01_min.rst和一个MD信息文件01_min.mdinfo. 将使用重启文件01_min.rst来升温系统.

       使用gedit打开输出文件01_min.out,可以看到系统能量逐步降低

4.2 运行升温MD

        使用sander运行升温MD

$AMBERHOME/bin/sander -O -i 02_heat.in -o 02_heat.out -p prmtop -c 01_min.rst -r 02_heat.rst -x 02_heat.mdcrd -inf 02_heat.mdinfo

以下是sander命令行选项的总结:

  • -c 01_min.rst: 从最小化的重启文件获取输入坐标

  • -x 02_heat.mdcrd: MD模拟的输出轨迹文件

        使用gegit打开输出文件02_heat.out查看。在02_heat.out文件中, 能找到升温MD的输出,能够看到系统的信息, 包括每步的能量和温度. 例如在1000步的时候:

   

一些重要的数值包括:

  • NSTEP: MD模拟的时间步

  • TIME: 模拟的总时间(包括重新启动)

  • TEMP: 系统温度

  • PRESS: 系统压力

  • Etot: 系统的总能量

  • EKtot: 系统的总动能

  • EPtot: 系统的总势能

此时发现并未升温到298步,故将时间改为80ps,并去除nmropt限制条件,再次查看最后一步的能量,温度等数据。

4.3运行生产NPT MD

        使用sander运行NPT MD,

$AMBERHOME/bin/sander -O -i 03_prod.in -o 03_prod.out -p prmtop -c 02_heat.rst -r 03_prod.rst -x 03_prod.mdcrd -inf 03_prod.info &

注意: 命令的末尾加上了&, 使sander在后台运行

        如果我们想监控NPT MD的状态,通过sander输出文件来检查运行状态。Linux程序tail可以输出文件的结尾部分。推出tail,使用ctrl+c

tail -f 03_prod.out

         当sander正在运行时, 上面的命令可以显示输出文件, 这对追踪过程很有帮助。 还可以监控mdinfo文件(cat 03_prod.info), 该文件提供了详细的性能数据以及预计的完成时间。

5 NPT MD模拟输出

        完成后, 打开输出文件检查模拟是否正常完成。本次学习到此为止,明日再学VMD软件可视化MD及MD后处理数据分析。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2147715.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VirtualBox 网络设置

VirtualBox 是一款非常流行的虚拟化软件,在计算机上创建虚拟环境运行不同操作系统和应用程序。网络设置在 VirtualBox 中至关重要,它决定了虚拟机能否连接到互联网或其他计算机,实现数据传输和共享。 在 VirtualBox 中创建虚拟机时&#xff…

Android15之源码分支qpr、dp、beta、r1含义(二百三十二)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…

【算法题】64. 最小路径和-力扣(LeetCode)

【算法题】64. 最小路径和-力扣(LeetCode) 1.题目 下方是力扣官方题目的地址 64. 最小路径和 给定一个包含非负整数的 *m* x *n* 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 **说明:**每次只能向下或者…

提升Windows 7中谷歌浏览器隐私设置的方法

在数字化时代,保护个人隐私变得尤为重要。本文将详细介绍如何通过调整谷歌浏览器的隐私设置来提高您的隐私保护水平。(本文由https://www.liulanqibuluo.com/站点的作者进行编写,转载时请进行标注。)以下是具体的操作步骤&#xf…

有源滤波器UAF42

有源滤波器模块,在电路板上同时实现了低通,高通,带通 滤波器,可选其一进行输出,并可通过改变滑变阻值,轻松调节其滤波器中心频率,Q值,通带增益等, 也可方便实现Butterwo…

GUI编程16:图片按钮、单选框、多选框

视频链接:18、图片按钮、单选框、多选框_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1DJ411B75F?p18&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 1.图片按钮代码示例 package com.yundait.lesson05;import javax.swing.*; import java.awt.*; impo…

硬件检测工具 | CPU-Z v2.11.0 官方中文绿色版

CPU-Z是一款广受欢迎的硬件检测工具,主要用于收集电脑处理器的详细信息。这款软件能够提供关于CPU的详细数据,包括处理器名称、编号、代号、进程和缓存等信息。 此外,CPU-Z还能实时监测每个内核的内部频率和内存频率,以及收集主板…

行人动作行为识别系统源码分享

行人动作行为识别检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer…

pytorch入门(2)——TensorBoard的使用

TensorBoard 是Google开发的一个机器学习可视化工具。其主要用于记录机器学习过程,例如: 记录损失变化、准确率变化等记录图片变化、语音变化、文本变化等,例如在做GAN时,可以过一段时间记录一张生成的图片绘制模型 TensorBoard…

【JAVA】数据脱敏技术(对称加密算法、非对称加密算法、哈希算法、消息认证码(MAC)算法、密钥交换算法)使用方法

文章目录 数据脱敏的定义和目的数据脱敏的技术分类对称加密算法非对称加密算法哈希算法消息认证码(MAC)算法密钥交换算法 数据脱敏的技术方案实现字符替换哈希算法(例如:SHA-3 算法)消息认证码(MAC)算法(CM…

【Vmware16安装教程】

📖Vmware16安装教程 ✅1.下载✅2.安装 ✅1.下载 官网地址:https://www.vmware.com/ 百度云盘:Vmware16下载 123云盘:Vmware16下载 ✅2.安装 1.双击安装包VMware-workstation-full-16.1.0-LinuxProbe.Com.exe,点击…

对 JavaScript 原型的理解

笔者看了一些有关 JavaScript 原型的文章有感而发,就将所感所悟画了下来如果有理解错误和不足的地方,欢迎各位大佬指出,笔者感激不尽

Activiti7《第二式:破剑式》——工作流中的以柔克刚

冲冲冲!开干 这篇文章将分为九个篇章,带你逐步掌握工作流的核心知识。这篇文章将带你深入探讨工作流中的 “破剑式”,揭示如何通过 柔与刚 的结合来破解工作流的复杂性。本篇包含了 Activiti7 环境的进一步优化和表结构的深入分析&#xff0…

【ARM】中断的处理

ARM的异常向量表 如果发生异常后并没有exception level切换,并且发生异常之 前使用的栈指针是SP_EL0,那么使用第一组异常向量表。如果发生异常后并没有exception level切换,并且发生异常之 前使用的栈指针是SP_EL1/2/3,那么使用第…

字节推音乐生成神器 Seed-Music 支持多样化输入和精确控制

Seed-Music,字节跳动的最新音乐创作神器,能通过文字、音频等多种方式轻松生成音乐,仿佛拥有魔法般的魔力。它巧妙地融合了自回归语言模型与扩散模型,不仅确保了音乐作品的高品质,还赋予了用户对音乐细节的精准掌控能力…

基于Python flask的淘宝商品数据分析可视化系统,包括大屏和主题分析,还有回归预测

背景介绍 随着电子商务的迅猛发展,平台上积累了大量的用户行为和商品交易数据。这些数据蕴含着极大的商业价值,可以为市场趋势预测、商品优化以及用户行为分析提供重要的参考。淘宝作为全球最大的在线购物平台之一,拥有海量的商品和用户数据…

OJ在线评测系统 思考主流OJ的实现方案 常用概念 自己的思考

OJ判题系统常用概念 OJ系统 在线判题系统 AC all accpeted 测试样例全部通过 题目介绍 题目输入 题目输出 题目输出用例 题目输入用例 不能让用户随便引入包 随便遍历 暴力破解 需要使用正确的算法 提交后不会立刻出结果 而是异步处理 提交后会生成一个提交记录 有运…

好用的ai写作有哪些?5个软件帮助你快速进行ai写作

好用的ai写作有哪些?5个软件帮助你快速进行ai写作 AI写作工具正变得越来越流行,能够帮助用户更快速、高效地完成各种写作任务,包括生成文章、写小说、改进语法等。以下是5个非常好用的AI写作软件,它们可以帮助你快速进行AI写作&a…

秋招八股总结

transformer 损失函数 交叉熵的原理 公式 xi是true_label,yi是神经网络预测为正确的概率 对比学习loss 对比学习损失函数 InfoNEC Loss(bge中也用的这个) SimCSE的主要思想:同一句话通过不同的drop out作为正例&#xff0…

腾讯百度阿里华为常见算法面试题TOP100(6):回溯、二分查找、二叉树

之前总结过字节跳动TOP50算法面试题&#xff1a; 字节跳动常见算法面试题top50整理_沉迷单车的追风少年-CSDN博客_字节算法面试题 回溯 46.全排列 class Solution { private:vector<vector<int> > ans;void dfs(vector<int>& nums, vector<int>&a…