VMD提取DSSP计算的蛋白二级结构逐帧变化做图

标签:
vmddssp作图杂谈 |
#上一个博文中介绍用vmd提取dssp计算的二级结构,生成sec4traj.txt数据文件。然后就是需要做图,如同gmx的do_dssp生成的类似的图。
#导入数据
mysecdata <-
read.table("sec4traj.txt", header=T, check.names=F,
colClasses="character")
#定义为matrix
mysecdata <-
as.matrix(mysecdata)
#拷贝一个进行数据处理
mysec <-
mysecdata
#现在的情况是mysec的data还是character类型,先转换一下,根据dssp的定义
#H = alpha helix
#B = residue in isolated beta-bridge
#E = extended strand, participates in beta ladder
#G = 3-helix (3/10 helix)
#I = 5 helix (pi helix)
#T = hydrogen bonded turn
#S = bend
#我们的数据里的
X = loop or irregular
#其实到这里为止就可以统计各种二级结构的百分含量了,例如我们要统计alpha helix的含量,就是计算每一行中字母“H”的含量;
perH <- NULL
for(i in 1:nrow(mysec)){perH[i]=length(which(mysec[i,]=="H"))/ncol(mysec)}
myhelix <- data.frame(rownames(mysec), perH)
#对于myhelix就可以做图观察其含量变化了
#其实到这里为止就可以统计各种二级结构的百分含量了,例如我们要统计alpha helix的含量,就是计算每一行中字母“H”的含量;
perH <- NULL
for(i in 1:nrow(mysec)){perH[i]=length(which(mysec[i,]=="H"))/ncol(mysec)}
myhelix <- data.frame(rownames(mysec), perH)
#对于myhelix就可以做图观察其含量变化了
#还是需要转换为数值型的
mysec[] <-
match(mysecdata, c("X", "H", "B", "E", "G", "I", "T",
"S"))
mode(mysec) <-
"numeric"
mycol <-
as.numeric(colnames(mysec))
myrow <-
as.numeric(rownames(mysec))
#然后做图
#先定义一个颜色板吧,分别代表X H B E G I T S
mycolor <- c("white",
"blueviolet", "black", "yellow", "blue", "cyan", "red",
"green",)
image(min(myrow):max(myrow),
min(mycol):max(mycol), mysec, col=mycolor)
后一篇:另类风格的拉氏构象图