You are on page 1of 4

Amber 教程网页:https://jerkwin.github.

io/tags/#amber

df -h 查内存
rst 文件应该是二进制。(默认的)这样比较省硬盘空间,CDF 文件吧
先用 cpptraj 读取二进制文件,然后存成 rst7.
用 cpptraj -p xx.top -y xx.rst -x yyy.rst7
然后用 ambpdb -p step5_input.parm7 -c step5_input.rst7 > G624A.pdb

VMD 是不识别.nc 文件的,所以用 cpptraj 读取.nc 然后保存成.mdcrd 文件


cpptraj -p system.parm7 -y 100ns-mm.nc -x mm.mdcrd
然后用 md 打开.prmtop 文件,再对.prmtop 文件载入.mdcrd 文件。(注意.prmtop 文件与.mdcrd 文件要内
容对应,即要么都有水分子和 Na+,Cl-什么的,要么都去除,不能一个又一个没有

1 假设轨迹文件共有 8000 帧,从第一帧到第八千帧,每 4 帧提取一帧。以 DNA 纳米管为例,加入其起始的拓扑


文件为 end.prmtop,跑出来的轨迹文件为 prod.nc(共 8000 帧)。

(1)对轨迹进行处理:(并且将轨迹文件里的)
cpptraj
>parm system.parm7
>trajin 07_Prod_in.nc 1 5000 2 (意思是读取第一帧到第 8000 帧,并且只是每四帧读取一次)
>trajout prod_new.nc nc
>go (此时会生成一个新的轨迹文件 prod_new.nc,共两千帧)
>strip :WAT,SOL,PA,PC,OL,Na+,K+,Cl-(除去轨迹文件中残基为 WAT 和 SOL 的残基)
>trajout prod_new_no_solvent.nc nc
>go(此时会生成一个新的轨迹文件,prod_new_solvent.nc,共 2000 帧,且没有溶剂,也就是乙醇和水)
>quit

strip :SOL,PA,PC,OL
strip :1, 3-869
(2)新生成的没有溶剂的轨迹文件由于没有乙醇分子和水分子,因此原子数目肯定和 end.prmtop 不匹配,因
此我们要生成一个新的 prmtop 文件,可以按照下列方法进行

>parm system.parm7
>parmstrip :Na+,K+,Cl-,PA,PC,OL,WAT,SOL
(>parmbox nobox)(这一步我们不用,因为盒子还是要的)
>parmwrite out nowat.parm7
>go
>quit

————————————————
parm nowat.parm7(生成 rst 文件,可以在断掉的时候续跑)
trajin nowat.nc 1 1
trajout 01.rst7 restart
go

Ligand 的 RMSD 计算(文件前缀可以代替,只是我自己跑的过程中记的笔记)


parm 12.parm7
reference 01.pdb (第一帧为参考结构文件)
loadcrd 450.nc prodrun
crdaction prodrun rms reference @CA,C,N
crdaction prodrun rmsd lig_rmsd ":LIG & !@/H" first out lig_rmsd450.dat nofit
go
complex AB (A、B 两条链分开计算,序列号分别对应 1 和 2)
parm com.parm7
reference sys_nowat.pdb
loadcrd 22.nc prodrun
crdaction prodrun rms reference @CA,C,N
crdaction prodrun rmsd lig_rmsd ":2 & !@/H" first out lig_rmsdb2.dat nofit
go

质心距离(两个残基的 Cα 原子距离) 与下面


cpptraj
parm system.parm7
trajin md.nc
distance end-to-end :1416 :1464 out dist-end-to-endB.agr
go
quit

蛋白 RMSD
parm com.parm7
reference01.pdb
loadcrd 600.nc prodrun
crdaction prodrun rms reference @CA out prot_rmsd1.dat
go

服务器运行 MMPB/GBSA
CUDA_VISIBLE_DEVICES=2 mpirun -np 1 MMPBSA.py -O -i mmgbsa.in -o result.dat -cp
sys_nowat.parm7 -rp rec_nowat.parm7 -lp ligand.parm7 -y 200.nc > mmgbsa2.log

结构聚类:
cluster C0 \
dbscan minpoints 25 epsilon 0.9 sievetoframe \
rms :1-1593@N2,O6,C1',P,:2@H2,N6,C1',P,:3@O2,H5,C1',P,:4@O2,H5,C1',P \
sieve 10 \
out cnumvtime.dat \
summary summary.dat \
info info.dat \
cpopvtime cpopvtime.agr normframe \
repout rep repfmt pdb \
singlerepout singlerep.nc singlerepfmt netcdf \
avgout Avg avgfmt restart
cluster C1 \
kmeans minpoints 4 epsilon 0.3 sievetoframe \
rms :2@CA \
sieve 10 \
out cnumvtime.dat \
summary summary.dat \
info info.dat \
cpopvtime cpopvtime.agr normframe \
repout rep repfmt pdb \
singlerepout singlerep.nc singlerepfmt netcdf \
avgout Avg avgfmt restart

cluster c1 kmeans clusters 10 randompoint maxit 100 rms :2 sieve 10 random out
cnumvtime.dat summary summary.dat info info.dat cpopvtime cpopvtime.agr normframe
repout rep repfmt pdb singlerepout singlerep.nc singlerepfmt netcdf avgout Avg
avgfmt restart
cluster C0 dbscan kdist 5 rms :2 sieve 5 loadpairdist pairdist CpptrajPairDist
cluster C0 dbscan minpoints 25 epsilon 0.3 sievetoframe rms :2. sieve 20 random out
cnumvtime.dat summary summary.dat info info.dat cpopvtime cpopvtime.agr normframe
repout rep repfmt pdb singlerepout singlerep.nc singlerepfmt netcdf avgout Avg
avgfmt restart
run

cluster C1 dbscan minpoints 25 epsilon 4 sievetoframe rms :2 sieve 10 random out


cnumvtime.dat summary summary.dat info info.dat cpopvtime cpopvtime.agr normframe
repout rep repfmt pdb singlerepout singlerep.nc singlerepfmt netcdf avgout Avg
avgfmt restart
cluster C0 dbscan kdist 4 rms :2@CA sieve 10 loadpairdist pairdist CpptrajPairDist
gmx cluster -f 6.pdb -s rec2.gro -cutoff 0.25 -wcl 10 -method gromacs -sz

RMSF-bfcator 分析
parm com.parm7
trajin 600.nc
center :3-1740
image center familiar
reference sys_nowat.pdb
atomicfluct out bfactor-b.dat :3-1740@CA byres bfactor
atomicfluct out RMSF-b.dat :3-1740@CA byres
average average.pdb pdb
go
quit

PCA 以及残基方差分析(具体看网页教程)
网页:http://thegrantlab.org/bio3d_v2/tutorials/trajectory-analysis#fn:1

轨迹转换(超算,服务器安装 mdtraj)
module load anaconda/2020.11
source activate mdtraj
mdconvert -o 5oyb_bb.dcd 5oyb_bb.nc

library(bio3d)
dcdfile <- system.file("examples/5oyb_aa.dcd", package="bio3d")
pdbfile <- system.file("examples/5-a.pdb", package="bio3d")
dcd <- read.dcd(dcdfile)
pdb <- read.pdb(pdbfile)
print(pdb)
print(pdb$xyz)
print(dcd)
ca.inds <- atom.select(pdb, elety="CA")
xyz <- fit.xyz(fixed=pdb$xyz, mobile=dcd,
fixed.inds=ca.inds$xyz,
mobile.inds=ca.inds$xyz)
dim(xyz) == dim(dcd)
cij<-dccm(xyz[,ca.inds$xyz])
plot(cij)

write.csv(cij,file="D:/cij5oyb-a.csv")

pc <- pca.xyz(xyz[,ca.inds$xyz])
plot(pc, col=bwr.colors(nrow(xyz)) )

hc <- hclust(dist(pc$z[,1:2]))
grps <- cutree(hc, k=2)
plot(pc, col=grps)
plot.bio3d(pc$au[,1], ylab="PC1 (A)", xlab="Residue Position", typ="l")
points(pc$au[,2], typ="l", col="blue")

p1 <- mktrj.pca(pc, pc=1, b=pc$au[,1], file="pc1.pdb")


p2 <- mktrj.pca(pc, pc=2,b=pc$au[,2], file="pc2.pdb")

You might also like