新浪博客

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

2012-12-18 23:48阅读:
#上一个博文中介绍用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就可以做图观察其含量变化了
#还是需要转换为数值型的
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)
#这样应该差不多了,同样的做图适应于amber产生的数据
VMD提取DSSP计算的蛋白二级结构逐帧变化做图

我的更多文章

下载客户端阅读体验更佳

APP专享