Professional Documents
Culture Documents
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
(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
蛋白 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
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")