1.讀取蛋白問題
讀取無配體pdb文件(loadpdb complex.pdb)時,出現一堆 FATAL: Atom .R<ARG 18>.A<HD1 27> does not have a type 錯誤,導致 check不過關,也無法 saveamberparm:
錯誤原因:AMBER不能識別用戶PDB文件里特定殘基(<ARG 18>)的H原子
解決方法:我遇到的問題是很多H原子都無法被識別,所以解決方法比較直接,刪除所有氫,再根據AMBER的規則,重新添加H:
1) 使用pdb4amber刪除所有氨基酸的H:
pdb4amber -i WT.pdb -o WT_noH.pdb -y --dry
pdb4amber的幫助信息如下:
$ pdb4amber -h Options: --version show program's version number and exit -h, --help show this help message and exit -i FILE, --in=FILE PDB input file (default: stdin) -o FILE, --out=FILE PDB output file (default: stdout) -y, --nohyd remove all hydrogen atoms (default: no) -d, --dry remove all water molecules (default: no) -p, --prot keep only Amber-compatible residues (default: no) --noter remove TER, MODEL, ENDMDL cards (default: no) --constantph rename GLU,ASP,HIS for constant pH simulation --most-populous keep most populous alt. conf. (default is to keep 'A') --reduce Run Reduce first to add hydrogens. (default: no) --model=MODEL Model to use from a multi-model pdb file (integer). (default: use all models)
2) 使用reduce添加H原子:
reduce WT_noH.pdb > WT_H.pdb
3) 使用pdb4amber對加氫后的pdb文件進行規划化處理:
pdb4amber -i WT_H.pdb -o WT_new.pdb
2.小分子文件准備問題:
非標准殘基或者小分子文件,若想被amber讀入,則需要對小分子文件進行定義及分配力場參數。
簡單來說,需要以下兩類文件:
AGI.frcmod
AGI.lib
1.先對小分子文件加氫:
reduce AGI.pdb > AGI_h.pdb
2.加氫完畢轉換為mol2格式:
antechamber -i AGI_new.pdb -fi pdb -o AGI.mol2 -fo mol2 -c bcc -s 2
3.用parmchk檢查參數的可用性,產生frcmod力場參數文件:
parmchk -i AGI.mol2 -f mol2 -o AGI.frcmod
4.加載AGI.frcmod和mol2文件到tleap中,產生lib庫文件:
$ tleap -f oldff/leaprc.ff99SB
> source leaprc.gaff
> AGI = loadmol2 AGI.mol2 > check AGI > loadamberparams AGI.frcmod > saveoff AGI AGI.lib
可以參考另外一篇博客https://www.cnblogs.com/wq242424/p/9157072.html
3. GPU加速及多GPU運行問題:
擁有多GPU card時,使用 export CUDA_VISIBLE_DEVICES 命令指定使用哪張顯卡,
1.使用命令前先用 unset CUDA_VISIBLE_DEVICES 命令清空變量;
2.再使用 export CUDA_VISIBLE_DEVICES 命令設置使用哪張或者哪幾張顯卡;
export CUDA_VISIBLE_DEVICES=0 使用0號顯卡(pmemd.cuda)
export CUDA_VISIBLE_DEVICES=0,1 使用0,1兩張顯卡(mpirun -np 2 pmemd.cuda.MPI)
3.指定顯卡后,我們使用pmemd.cuda命令或者mpirun -np 2 pmemd.cuda.MPI命令(指定兩張顯卡)運行amber。