【R】PDB 형식 파일을 3d-plot으로 표시한다
17920 단어 Rbioinformatics
목적
단백질의 입체 구조에 좌표축을 꼬치에 통과시킨 그림을 그리고 싶었다
PyMOL에서 어떻게 할지 몰랐기 때문에 R을 사용했습니다.
표시해 본 것
R 정보
사용한 패키지
코드
pdb_lineplot3d.r
#パッケージ読み込み
library(bio3d)
library(scatterplot3d)
#ファイルの読み込み
pdb <- read.pdb("5btr") #RCSB PDBのIDを指定
#A鎖のCαの座標をdata.frameにする
ca.inds <- atom.select(pdb, "calpha",chain = "A")
pdb_xyz <- matrix(pdb$xyz[, ca.inds$xyz],ncol=3,byrow=T)
pdb_xyz <- data.frame(pdb_xyz)
#resveratrolの座標
stl.inds <- atom.select(pdb,resid = "STL",chain = "A")
stl_xyz <- matrix(pdb$xyz[, stl.inds$xyz],ncol=3,byrow=T)
stl_xyz <- data.frame(stl_xyz)
#3D plot
colnames(pdb_xyz) <- c("x","y","z")
scatterplot3d(pdb_xyz,type="l",color="#b2df8a",lwd=3,
xlim=c(min(pdb_xyz$x),max(pdb_xyz$x)),
ylim=c(min(pdb_xyz$y),max(pdb_xyz$y)),
zlim=c(min(pdb_xyz$z),max(pdb_xyz$z)),
col.axis="gray",col.lab="gray")
par(new=T)
scatterplot3d(stl_xyz,type="p",color="#1f78b4",pch=16,
xlim=c(min(pdb_xyz$x),max(pdb_xyz$x)),
ylim=c(min(pdb_xyz$y),max(pdb_xyz$y)),
zlim=c(min(pdb_xyz$z),max(pdb_xyz$z)),
axis = FALSE,grid=FALSE)
#串刺し
axis_line <- rbind(c(min(pdb_xyz$x),60,0),c(max(pdb_xyz$x),60,0),
c(-10,min(pdb_xyz$y),-0),c(-10,max(pdb_xyz$y),0),
c(-10,60,min(pdb_xyz$z)),c(-10,60,max(pdb_xyz$z)))
par(new=T)
scatterplot3d(axis_line[1:2,],type="l",color=1,
xlim=c(min(pdb_xyz$x),max(pdb_xyz$x)),
ylim=c(min(pdb_xyz$y),max(pdb_xyz$y)),
zlim=c(min(pdb_xyz$z),max(pdb_xyz$z)),
axis = FALSE,grid=FALSE)
par(new=T)
scatterplot3d(axis_line[3:4,],type="l",color=1,
xlim=c(min(pdb_xyz$x),max(pdb_xyz$x)),
ylim=c(min(pdb_xyz$y),max(pdb_xyz$y)),
zlim=c(min(pdb_xyz$z),max(pdb_xyz$z)),
axis = FALSE,grid=FALSE)
par(new=T)
scatterplot3d(axis_line[5:6,],type="l",color=1,
xlim=c(min(pdb_xyz$x),max(pdb_xyz$x)),
ylim=c(min(pdb_xyz$y),max(pdb_xyz$y)),
zlim=c(min(pdb_xyz$z),max(pdb_xyz$z)),
axis = FALSE,grid=FALSE)
결과
할 수 있었다.
Reference
이 문제에 관하여(【R】PDB 형식 파일을 3d-plot으로 표시한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/motthy/items/21d7e71862e17fe05359텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)