pyrosetta5-Low-Res Scoring and Fragments

Low-Resolution (Centroid) Scoring

Rosetta 可以将蛋白质构象结构以低分辨率表示,这能让能量得分计算过程加快。
首先导入pdb结构,然后计算 full-atom 能量得分:

pose = pyrosetta.pose_from_pdb("inputs/6Q21_A.pdb")
sfxn = pyrosetta.get_score_function()
sfxn(pose)
1215.729069796814

查看第五个氨基酸残基,并注意原子数目以及第五个氨基酸残基的坐标。

print(pose.residue(5))
Residue 5: LYS (LYS, K):
Base: LYS
 Properties: POLYMER PROTEIN CANONICAL_AA POLAR CHARGED POSITIVE_CHARGE METALBINDING SIDECHAIN_AMINE ALPHA_AA L_AA
 Variant types:
 Main-chain atoms:  N    CA   C  
 Backbone atoms:    N    CA   C    O    H    HA 
 Side-chain atoms:  CB   CG   CD   CE   NZ  1HB  2HB  1HG  2HG  1HD  2HD  1HE  2HE  1HZ  2HZ  3HZ 
Atom Coordinates:
   N  : 20.315, 43.835, 78.015
   CA : 20.418, 42.863, 79.118
   C  : 19.697, 43.46, 80.329
   O  : 20.096, 44.486, 80.897
   CB : 21.858, 42.487, 79.491
   CG : 22.791, 42.176, 78.316
   CD : 22.406, 40.943, 77.485
   CE : 23.009, 40.932, 76.075
   NZ : 22.748, 42.169, 75.307
   H  : 21.0493, 44.5172, 77.8902
   HA : 19.9193, 41.9417, 78.815
  1HB : 22.3125, 43.3019, 80.0551
  2HB : 21.8492, 41.6078, 80.1356
  1HG : 22.8124, 43.0262, 77.6332
  2HG : 23.8008, 42.0064, 78.6884
  1HD : 22.7418, 40.0399, 77.9965
  2HD : 21.3219, 40.8985, 77.3807
  1HE : 24.088, 40.801, 76.1421
  2HE : 22.5982, 40.0953, 75.5101
  1HZ : 23.1708, 42.0938, 74.3926
  2HZ : 21.751, 42.2999, 75.2069
  3HZ : 23.1434, 42.9592, 75.7961
Mirrored relative to coordinates in ResidueType: FALSE

然后通过SwitchResidueTypeSetMover 将pose转换成centroid,然后查看第五个氨基酸残基的情况是否发生了改变:

switch = SwitchResidueTypeSetMover("centroid")
switch.apply(pose)
print(pose.residue(5))
core.chemical.GlobalResidueTypeSet: Finished initializing centroid residue type set.  Created 62 residue types
core.chemical.GlobalResidueTypeSet: Total time to initialize 0.058948 seconds.
Residue 5: LYS (LYS, K):
Base: LYS
 Properties: POLYMER PROTEIN CANONICAL_AA POLAR CHARGED POSITIVE_CHARGE SIDECHAIN_AMINE ALPHA_AA L_AA
 Variant types:
 Main-chain atoms:  N    CA   C  
 Backbone atoms:    N    CA   C    O    H  
 Side-chain atoms:  CB   CEN
Atom Coordinates:
   N  : 20.315, 43.835, 78.015
   CA : 20.418, 42.863, 79.118
   C  : 19.697, 43.46, 80.329
   O  : 20.096, 44.486, 80.897
   CB : 21.8754, 42.543, 79.454
   CEN: 23.4957, 41.1851, 79.3707
   H  : 21.0493, 44.5172, 77.8902
Mirrored relative to coordinates in ResidueType: FALSE

从原子数量上看,主链没有发生改变,但是侧链的原子数减少了很多。从坐标上看,主链没有发生改变,侧脸上的CB没有发生变化,但是新增一个CEN原子。
然后,通过 standard centroid score function定义score3 对新的pose进行打分:

cen_sfxn = pyrosetta.create_score_function("score3")
cen_sfxn(pose)
-4.509358254597608
#分数与之前的发生了变化

同样,我们可以通过SwitchResidueTypeSetMover("fa_standard") 将centroid转换成full-atom的pose,并查看第五个氨基酸是否发生了变化。

fa_switch = SwitchResidueTypeSetMover("fa_standard")
fa_switch.apply(pose)
print(pose.residue(5))
Residue 5: LYS (LYS, K):
Base: LYS
 Properties: POLYMER PROTEIN CANONICAL_AA POLAR CHARGED POSITIVE_CHARGE METALBINDING SIDECHAIN_AMINE ALPHA_AA L_AA
 Variant types:
 Main-chain atoms:  N    CA   C  
 Backbone atoms:    N    CA   C    O    H    HA 
 Side-chain atoms:  CB   CG   CD   CE   NZ  1HB  2HB  1HG  2HG  1HD  2HD  1HE  2HE  1HZ  2HZ  3HZ 
Atom Coordinates:
   N  : 20.315, 43.835, 78.015
   CA : 20.418, 42.863, 79.118
   C  : 19.697, 43.46, 80.329
   O  : 20.096, 44.486, 80.897
   CB : 21.8754, 42.5429, 79.4539
   CG : 22.8944, 43.244, 78.5655
   CD : 22.2113, 44.1202, 77.5262
   CE : 20.6967, 44.0574, 77.6573
   NZ : 20.2706, 43.1587, 78.7642
   H  : 21.0493, 44.5172, 77.8902
   HA : 19.9306, 41.9373, 78.8101
  1HB : 22.0814, 42.8255, 80.4867
  2HB : 22.0409, 41.4686, 79.3693
  1HG : 23.5468, 43.8654, 79.1801
  2HG : 23.5056, 42.4999, 78.0558
  1HD : 22.5361, 45.154, 77.6512
  2HD : 22.4937, 43.7874, 76.5274
  1HE : 20.3065, 45.0564, 77.8461
  2HE : 20.2655, 43.6934, 76.7248
  1HZ : 19.2619, 43.1443, 78.8176
  2HZ : 20.6116, 42.2236, 78.5898
  3HZ : 20.6485, 43.497, 79.6375
Mirrored relative to coordinates in ResidueType: FALSE

主链的坐标未发生改变,但是侧链的坐标发生了细微的变化。
我们可以将这种大分的方法应用到我们上一篇文章中的折叠算法,可以发现速度有了很大的提升。

Note about Movers

不考虑特殊的存在PyMOLMoverSwitchResidueTypeSetMover 是我们使用pyrosetta遇到的第一个Mover。Pyrosetta中的每一个Mover都已经被设计好去应用的改变的pose。每一个Mover都要首先被创建,并且有一些参数需要被选择,最后可以通过apply()来应用到pose中。SwitchResidueTypeSetMover 是一个相对简单的Mover,只有一个参数centroid

Protein Fragments

查看pyrosetta官网提供的 3mer.frags
首先load这个文件:

from pyrosetta.rosetta.core.fragment import *
fragset = ConstantLengthFragSet(3)
fragset.read_fragment_file("3mer.frags")

Using FragmentMover and MoveMap

然后我们创建一个新的Mover--FragmentMover --然后使用上面的fragment set 和MoveMap的参数。MoveMap是当我们使用Mover应用到pose的时候,控制改变pose的自由度(在这里,是主链的二面角),当MoveMap刚创建的时候,自由度设置为False,也就是0:

from pyrosetta.rosetta.protocols.simple_moves import ClassicFragmentMover
movemap = MoveMap()
movemap.set_bb(True)
mover_3mer = ClassicFragmentMover(fragset, movemap)

我们创建一个新的pose,然后通过mover_3mer 对其进行改造,我们可以通过PyMOL去观察改变前后的情况:

test_pose = pyrosetta.pose_from_sequence("RFPMMSTFKVLLCGAVLSRIDAG")
pmm = PyMOLMover()
pmm.apply(test_pose)
pmm.send_movemap(test_pose, movemap)
mover_3mer.apply(test_pose)
pmm.apply(test_pose)

每次使用mover_3mer,他都会随机选择一个3-mer的窗口,从fragment set中随机选择一个对应的片段来改变主链的二面角。

最后,我们上个随机折叠的算法是通过随机改变的二面角,同样也可以使用这里的在自然界中出现的二面角,随机应用到pose中,使他折叠的成功的可能性更大。

参考

RosettaCommonsPyRosetta.notebooks

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容