#AMBER 分子动力学软件Amber18介绍与基础教程(持续更新)

  • Post author:
  • Post category:其他




Amber是由多模块所组成的分子动力学软件,其工作流主要如下:

在这里插入图片描述



其中又分为:




1.系统预处理预处理(pdb预处理,LEAP,antechamber和gaff等)




2.运行动力学模拟(sander,pmemd等)




3.结果分析(mdout_analyzer.py,MMPBSA,cpptraj,FEW等)



1.系统预处理:


> 首先,进行分子动力学模拟我们需要对手中的pdb格式的3D蛋白质,核酸或者小分子配体,进行预先处理,使得其能够成为amber可识别可操作的形式,并解决其中的错误



一.蛋白质处理:


蛋白质主要存在的问题有

:


非必要结构: (1)非必须的水分子 (2) 配体



结构的不完整: (1)结构片段缺失(尤其loop);(2)残基结构不完整甚至出错;(3)二硫键问题.



很多软件多提供了自动处理蛋白结构的功能:如Schrodinger的Protein Preparation Wizard,MOE的Automated Structure Preparation等

.


我于此篇文章中写了如何用MOE处理蛋白



二.小分子处理:


小分子参数化的关键程序是Ambertools里的antechamber 会自动计算小分子的属性并获得参数,并处理小分子解决如下问题



Antechamber时, 你可能解决以下问题

:


1. 自动识别化学键以及原子类型



2. 判断原子等价性



3. 生成残基拓扑文件



4. 发现缺失的力场参数并提供合理的建议值



结合自带的GAFF 立场和parmchk程序 最终生成正确的LEAP可识别的 fcmod参数文件和mol2文件



详细的使用请参照此教程:

Amber基础教程B4:使用antechamber和GAFF模拟药物分子



三.读取处理好了的蛋白文件以生成amber可识别的 prmtop和inpcrd文件(坐标和轨迹文件)


涉及tleap的使用:

 tleap   #打开tleap
 source oldff/leaprc.ff03 #读取蛋白立场文件 
 mol =loadpdb protein.pdb #读取pdb文件
 solvatebox mol TIP3PBOX 12.0 #为蛋白质添加水盒子(模拟体内的真实环境)
 charge mol  #计算电荷
 addions comp Cl- 7  # 分子模拟需要电中性,阳则补CL-例子,阴性则补Na+离子
 aveamberparm mol mol.prmtop mol.inpcrd #保存蛋白的坐标文件和轨迹文件


三.读取小分子参数文件(fcmod):
 tleap   #打开tleap
 source leaprc.gaff #读取小分子立场文件 
 lig=loadmol2 ligand.mol2 #读取antechamber生成的小分子mol2文件
 aveamberparm lig ligand.prmtop ligand.inpcrd #保存小分子的坐标文件和轨迹文件


上述的LEAP 都可以先写入tleap.in文件再执行



2运行分子动力学模拟:

首先需要的输入文件有



1. 最小化文件 min.in



2. 加热文件 heat.in



3. 平衡文件 density.in



4. 动力学文件 md.in

分别举行实例进行解释

> ##############################################

```bash
> 1.min.in
> minimise
   &cntrl
   imin=1, maxcyc=10000, ncyc=5000,
   cut=10.0, ntb=1,
   ntpr=500,
   ntr=1, restraintmask=':1-199',
   restraint_wt=10.0,
   / 
   ##############################################
> 2. heat.in
> heating
 &cntrl
  imin=0,irest=0,ntx=1,
  nstlim=25000,dt=0.002,
  ntc=2,ntf=2,
  cut=10.0, ntb=1,
  ntpr=500, ntwx=500,
  ntt=3, gamma_ln=2.0,
  tempi=0.0, temp0=300.0,
  ntr=1, restraintmask=':1-500',
  restraint_wt=1.0,
  nmropt=1
 /
 ##############################################
>3. density.in
>equilibration
 &cntrl
  imin=0, irest=1, ntx=5,
  nstlim=250000, dt=0.002,
  ntc=2, ntf=2,
  cut=10.0, ntb=2, ntp=1, taup=2.0,
  ntpr=500, ntwx=500, ntwr=5000,
  ntt=3, gamma_ln=2.0,
  temp0=300.0,
 /
 #############################################
>4. md.in
>10ns equilibration NPT
 &cntrl
  imin=0, irest=1, ntx=7,
  ntb=2, pres0=1.0, ntp=1,
  taup=1.0,
  cut=10.0, ntr=0,
  ntc=2, ntf=2,
  tempi=310.0, temp0=310.0,
  ntt=3, gamma_ln=1.0,
  nstlim=5000000, dt=0.002,
  ntpr=500, ntwx=500, ntwr=500,
 /
 ############################################

**
imin =0 不执行最小化 =1 执行最小化 
maxcyc=10000, ncyc=5000 最大循环数为10000 而前5000次循环采用最速下降法进行能量最小化 
cut 其数值越大,越精准,单是会大大增加计算负担.不要使用低于8.0的值 
ntb =1 周期性边界,恒容  =2 恒压  =0 不设定周期性边界
ntf = 1 进行力评估,计算出完整的相互作用 (默认值) 
=2 ,忽略氢键相互作用 
=3忽略所有键相互作用,
=4涉及H原子的角度且忽略所有键,
=5忽略所有键和角相互作用,
=6涉及H原子的二面体和所有键且忽略所有角度相互作用,
=7忽略所有键、角和二面体相互作用,
=8省略所有键、角、二面体和非键相互作用
ntr = 1标志用于使用谐波势限制特定原子
ntpr= 500 指定输出文件间隔,500次输出一次结果至out文件中
restraintmask=':1-500' 限制残基长度
inhibitort_wt = 2.0 指定限制权重

irest =0 不进行重新启动,也就是输入坐标文件中的如果有坐标值将被忽略,时间步长计数将被设置为0=1 重新启动.接着已有的文件进行分子模拟.

其参数有

有两种指令:



1.sander



2.pmemd

以实例进行展示



串行版本



sander -O -i md.in -p complex.prmtop -c density.rst -x md1.nc -o md.out -r md.rst -inf md.mdinfo

-O 文件若存在则重写文件
-i   指定输入文件
-p  指定输入的top文件(包含参数以及拓扑信息)
-c  指定输入的rst文件文件(包含坐标以速度信息)
-x  指定生成的mdcrd文件(轨迹文件)
-o  指定输出文件
-r   输出包含坐标和速度的重启文件(restrt)
-inf 输出包含模拟状态的MD信息文件



并行版本



mpirun -np 24 sander.MPI -O -i md.in -p complex.prmtop -c density.rst -x md1.nc -o md.out -r md.rst -inf md.mdinfo

-np 指定运行的核数



pmemd的是性能比sander更高的指令,其并行和穿行的用法和sander一致,但其独有gpu加速功能



pmemd.CUDA.MPI -O -i md.in -p complex.prmtop -c density.rst -x md1.nc -o md.out -r md.rst -inf md.mdinfo



版权声明:本文为recher_He1107原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。