打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
TutorialAcpype4Gromacs

Introduction

This tutorial is to show how to prepare a system to run on GROMACS, starting with a PDB file for a complex protein/ligand.

It is a mere proof of concept. One should see how ACPYPE is trying to do it in

HowAcpypeWorks.
If you have suggestions about how to improve this tutorial, please send a comment (at the bottom of the page).

NB: Besides acpype, antechamber and babel, you will need GROMACS with ffAMBER. GROMACS 4.5.x comes with AMBER force fields now.

Getting GROMACS

Install GROMACS. Something like:

  • sudo apt-get install gromacs # if you use Ubuntu Linux, or
  • fink install gromacs # if you use Mac

should do the trick.

Getting ffAMBER

If you are installing GMX 4.5.x, you don't need ffAMBER.

For GMX 4.0.x fetch the appropriate version of ffAMBER. Got it with PDFs. You definitely need to read those papers.

To summarise in a script-like way:

# Do this block only if not using GMX 4.5.x# assuming you are at acpype installation foldergmx_top_dir=/sw/share/gromacs/topwget -c http://ffamber.cnsm.csulb.edu/ffamber_v4.0-doc.tar.gztar xvfz ffamber_v4.0-doc.tar.gzcd ffamber_v4.0/sudo cp -bv ffamber_* ${gmx_top_dir}sudo cp -bv ffamber*/* ${gmx_top_dir}sudo cp -bv vdwradii.dat ${gmx_top_dir}sudo cp -bv aminoacids-NA.dat ${gmx_top_dir}/aminoacids.dat# Get ACPYPE additions:# go to acpype foldersudo cp -vb ffamber_additions/* ${gmx_top_dir}

NB: /sw/share/gromacs/top/ is pertinent to Mac. Find the equivalent GROMACS top folder within your platform.

Now you should have an operative GROMACS with ffAMBER.

Running an Example

This is for protein 1BVG.pdb (get it at PDB), a homodimer (HIV protease) with a ligand called DMP. We will use force field Amber99SB.

Luckily, this pdb file has all hydrogens for the ligand, which is necessary for antechamber. One can use either, e.g., babel -h _mol_w/o_H_.pdb _mol_with_H.pdb or YASARA View to automatically add missing hydrogens to your compound. The former just puts 'H' for atom names while the latter puts more meaningful atom name, e.g., 'HCA' for a H bonded to a CA and not a simply 'H' as babel does.

In a script-like way:

# Assuming Complex.pdb (= 1BVG.pdb), split it in Protein.pdb and Ligand.pdbwget -c "http://www.pdb.org/pdb/download/downloadFile.do?fileFormat=pdb&compression=NO&structureId=1BVG" -O 1BVG.pdbgrep 'ATOM  ' 1BVG.pdb>| Protein.pdbgrep 'HETATM' 1BVG.pdb>| Ligand.pdb# If using GMX 4.0.x# Edit Protein.pdb according to ffAMBER (http://ffamber.cnsm.csulb.edu/#usage)sed s/PRO\ A\ \ \ 1/NPROA\ \ \ 1/g Protein.pdb | sed s/PRO\ B\ \ \ 1/NPROB\ \ \ 1/g | sed s/PHE\ A\ \ 99/CPHEA\ \ 99/g | sed s/PHE\ B\ \ 99/CPHEB\ \ 99/g | sed s/O\ \ \ CPHE/OC1\ CPHE/g | sed s/OXT\ CPHE/OC2\ CPHE/g | sed s/HIS\ /HID\ /g | sed s/LYS\ /LYP\ /g | sed s/CYS\ /CYN\ /g >| ProteinAmber.pdb# If using GMX 4.5.x\cp Protein.pdb ProteinAmber.pdb# Process with pdb2gmx and define waterpdb2gmx -ff amber99sb -f ProteinAmber.pdb -o Protein2.pdb -p Protein.top -water spce -ignh# Generate Ligand topology file with acpype (GAFF)acpype -i Ligand.pdb# Merge Protein2.pdb + updated Ligand_NEW.pdb -> Complex.pdbgrep -h ATOM Protein2.pdb Ligand.acpype/Ligand_NEW.pdb >| Complex.pdb# Edit Protein.top -> Complex.top\cp Ligand.acpype/Ligand_GMX.itp Ligand.itp\cp Protein.top Complex.top# See NB(1) below# If using GMX 4.0.xcat Complex.top | sed '/\#include\ \"ffamber99sb\.itp\"/a#include "Ligand.itp"' >| Complex2.top# If using GMX 4.5.xcat Complex.top | sed '/forcefield\.itp\"/a#include "Ligand.itp"' >| Complex2.topecho "Ligand   1" >> Complex2.top\mv Complex2.top Complex.top# Setup the box and add watereditconf -bt triclinic -f Complex.pdb -o Complex.pdb -d 1.0genbox -cp Complex.pdb -cs spc216.gro -o Complex_b4ion.pdb -p Complex.top# Create em.mdp filecat << EOF >| em.mdpdefine                   = -DFLEXIBLEintegrator               = cg ; steepnsteps                   = 200constraints              = noneemtol                    = 1000.0nstcgsteep               = 10 ; do a steep every 10 steps of cgemstep                   = 0.01 ; used with steepnstcomm                  = 1coulombtype              = PMEns_type                  = gridrlist                    = 1.0rcoulomb                 = 1.0rvdw                     = 1.4Tcoupl                   = noPcoupl                   = nogen_vel                  = nonstxout                  = 0 ; write coords every # stepoptimize_fft             = yesEOF# Create md.mdp filecat << EOF >| md.mdpintegrator               = mdnsteps                   = 1000dt                       = 0.002constraints              = all-bondsnstcomm                  = 1ns_type                  = gridrlist                    = 1.2rcoulomb                 = 1.1rvdw                     = 1.0vdwtype                  = shiftrvdw-switch              = 0.9coulombtype              = PME-SwitchTcoupl                   = v-rescaletau_t                    = 0.1 0.1tc-grps                  = protein non-proteinref_t                    = 300 300Pcoupl                   = parrinello-rahmanPcoupltype               = isotropictau_p                    = 0.5compressibility          = 4.5e-5ref_p                    = 1.0gen_vel                  = yesnstxout                  = 2 ; write coords every # steplincs-iter               = 2DispCorr                 = EnerPresoptimize_fft             = yesEOF# Setup ionsgrompp -f em.mdp -c Complex_b4ion.pdb -p Complex.top -o Complex_b4ion.tpr\cp Complex.top Complex_ion.top# If using GMX 4.0.xecho 13| genion -s Complex_b4ion.tpr -o Complex_b4em.pdb -neutral -conc 0.15 -p Complex_ion.top -norandom# If using GMX 4.5.xecho 15| genion -s Complex_b4ion.tpr -o Complex_b4em.pdb -neutral -conc 0.15 -p Complex_ion.top -norandom\mv Complex_ion.top Complex.top# Run minimisatongrompp -f em.mdp -c Complex_b4em.pdb -p Complex.top -o em.tprmdrun -v -deffnm em# Run a short simulationgrompp -f md.mdp -c em.gro -p Complex.top -o md.tprmdrun -v -deffnm md# or with openmpi, for a dual coregrompp -f em.mdp -c Complex_b4em.pdb -p Complex.top -o em.tprom-mpirun -n 2 mdrun_mpi -v -deffnm emgrompp -f md.mdp -c em.gro -p Complex.top -o md.tprom-mpirun -n 2 mdrun_mpi -v -deffnm md# Visualise with VMDvmd md.gro md.trr

NB(1): #include "Ligand.itp" has to be inserted right after ffamber**.itp line and before Protein_*.itp line in Complex.top.

Voila!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
gromacs示例
科学网
分子对接简明教程 (一)
结构生物信息学系列之分子对接(二)
AutoDock分子对接实战
【速递】每日最新论文快讯精选
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服