首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Pymol中获得所有的二面角

在Pymol中获得所有的二面角
EN

Stack Overflow用户
提问于 2014-08-18 09:54:26
回答 2查看 6.6K关注 0票数 2

我想在Pymol中得到蛋白质的所有二面角( phi,psi,chi1,chi2,chi3,chi4),但我只能设法找到一个能显示phi和psi的函数。

例如:

代码语言:javascript
复制
 PyMOL>phi_psi 1a11
 SER-2:    (   67.5,  172.8 )
 GLU-3:    (  -59.6,  -19.4 )
 LYS-4:    (  -66.4,  -61.7 )
 MET-5:    (  -64.1,  -17.9 )
 SER-6:    (  -78.3,  -33.7 )
 THR-7:    (  -84.0,  -18.1 )
 ALA-8:    (  -85.7,  -40.8 )
 ILE-9:    (  -75.1,  -30.8 )
 SER-10:   (  -77.6,  -47.0 )
 VAL-11:   (  -61.3,  -27.4 )
 LEU-12:   (  -60.7,  -47.5 )
 LEU-13:   (  -71.1,  -38.6 )
 ALA-14:   (  -46.2,  -50.7 )
 GLN-15:   (  -69.1,  -47.4 )
 ALA-16:   (  -41.9,  -52.6 )
 VAL-17:   (  -82.6,  -23.7 )
 PHE-18:   (  -53.4,  -63.4 )
 LEU-19:   (  -61.2,  -30.4 )
 LEU-20:   (  -61.1,  -32.3 )
 LEU-21:   (  -80.6,  -60.1 )
 THR-22:   (  -45.9,  -34.4 )
 SER-23:   (  -74.5,  -47.8 )
 GLN-24:   (  -83.5,   11.0 )

它缺少手性角。有人知道如何得到所有的二面角吗?

非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2014-09-25 08:32:12

你可以用get_dihedral得到任意的二面角。创建四个选择,每个选择都有一个原子,然后像这样使用它:

代码语言:javascript
复制
get_dihedral s1, s2, s3, s4

它以cmd.get_dihedral()的形式向Python API公开。我建议编写一个Python脚本,将此函数与cmd.iterate()一起使用来循环遍历残差。创建一个字典,这样你就可以在每个残基上查找定义X角的原子四元组的列表。

票数 3
EN

Stack Overflow用户

发布于 2017-11-22 16:42:05

你可以很容易地在R中做到这一点。这是包含如何计算主链和侧链扭转/二面角的信息的链接:http://thegrantlab.org/bio3d/html/torsion.pdb.html

但是首先你必须安装R:http://thegrantlab.org/bio3d/download的Bio3D包

安装程序包后,通过在R控制台提示符下键入library(bio3d)来加载它。

代码语言:javascript
复制
>library(bio3d)

这个R脚本回答了你的问题:

#返回当前工作目录的文件路径。

代码语言:javascript
复制
getwd()   

#将工作目录设置为您想要的位置。

代码语言:javascript
复制
setwd("home/R/Rscripts") 

#从蛋白质数据库获取pdb文件并保存到dataframe 'pb‘

代码语言:javascript
复制
pb <- read.pdb("insert PDB ID")  

#仅修剪到蛋白质

代码语言:javascript
复制
pb.prot <- trim.pdb(pb, "protein") 

#计算蛋白质的扭转角并保存到dataframe 'tor‘

代码语言:javascript
复制
tor <- torsion.pdb(pb.prot)  

#获取'tor‘的行数和列数

代码语言:javascript
复制
dim(tor$tbl) 

#通过从PDB条目中获取的链、残基ID和残基编号来标识每一行

代码语言:javascript
复制
res_label <- paste(pb.prot$atom$chain[pb.prot$calpha], pb.prot$atom$resid[pb.prot$calpha], pb.prot$atom$resno[pb.prot$calpha], sep="-") 

rownames(tor$tbl) <- res_label

#创建扭转角度表

代码语言:javascript
复制
torsion <- tor$tbl  

#例如,要查看VAL的角度,链A的残差为223

代码语言:javascript
复制
tor$tbl["A-VAL-223",]

#将表写出到文件中

代码语言:javascript
复制
write.table(torsion, file = "torsion_angles.txt", quote = F, sep = "\t")    

保存在工作目录中的输出文件将包含一个表,其中包含chain-resID-resNo及其对应的phi、psi、chi1、chi2、chi3、chi4和chi5值。祝你好运!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25355401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档