蛋白质界面(protein interface)是指两个或更多蛋白质之间的接触面或结合区域。它们是蛋白质相互作用的关键部分,可以调节细胞功能的许多重要过程,如信号传导、代谢、免疫反应和细胞黏附。蛋白质界面的形状、化学特性和静电性质等因素对于蛋白质的相互作用方式和特异性都有着重要的影响。由于蛋白质界面在生物学和生物医学中的重要性,因此研究蛋白质界面的结构和功能已成为生物学、生物医学、生物信息学和药物设计领域的热门课题。
蛋白质设计者通常采用“seeded interface design”方法,即使用一个已知结构中的小型motif来结合目标位点(target site),从而启动设计过程。然后将该motif 嫁接/移植(graft)到较大的蛋白质支架(scaffold)中,以实现优秀的packing 和优化相互作用界面。
注:以下内容建立在你已经安装好Rosetta的基础上,请事先安装
包括以下步骤:
PDB:1GWQ
ERα是一种被类固醇激活的转录因子,通过招募共激活因子到靶基因。ERα共激活因子相互作用是通过一个具有LXXLL特征序列(其中L代表亮氨酸,X代表任何氨基酸)的螺旋Motif建立的,其中Leu 亮氨酸残基(热点氨基酸)与ERα表面的疏水裂缝结合。
本案例将展示如何将这个螺旋Motif 嫁接到一个新的蛋白质Scaffold上。
一般情况处理一下蛋白质文件,当然有教程显示你也可以不做,如果你做了MD也可以,假如你有其余方式优化结构也可以。。。
context.pdb
motif.pdb
为了准备一个可以搜索各种结构Motif的Scaffold数据库,从PDB数据库中下载,按照四个标准进行过滤:
可以自己构建,不过这些过滤没有什么特别之处,找之前的旧版本作为测试使用是OK的。或者直接找一些Online的工具进行搜索。
准备好的:https://meilerlab.org/wp-content/uploads/2022/02/scaffolding-1.zip
Online搜索工具:
这里直接使用准备好的,准备好的Scaffold 需要使用Rosetta进行能量最小化以便减少一些结构上的冲突,可以采用relax进行最小化操作,也可以使用Rosetta script XML code,或者其余方式。
Realx操作
ls -1 *.pdb >pdb_files.list
${Rosetta}/main/source/bin/relax.macosclangrelease -database ${Rosetta}/main/database/ -ignore_unrecognized_res -relax:constrain_relax_to_start_coords -ex1 -ex2 -use_input_sc -l pdb_files.list
这里采用已经处理好的:
PyMOL看两眼
左下角是Motif.pdb,其余全都为SideChainGraft中的Scaffolds
将其与Motif进行Super,长着白角的就是
基元移植(Motif Grafting)和蛋白质界面设计(Interface Design)是不同的两个不同的概念,但由于RosettaScripts的灵活性,两者可以包含在单个计算步骤中。
由于Side Chain Graft(侧链移植)和Backbone Graft(主链移植)的支架匹配(Scaffold Match)不同,因此首先将使用Side Chain Graft程序。
注:建议在尝试Motif 时先尝试Side Chain Graft,因为Side Chain Graft对蛋白质支架(Scaffold)的改变较少,在实验验证期间获得正确折叠设计的机会要比Main Chain Graft高。
构建一个scaffol list,如果觉得不放心,自己改成绝对路径
ls ../scaffolds/*.pdb > scaffolds.list
cat scaffolds.list
../scaffolds/1ji6_0001.pdb
../scaffolds/1lp1_0001.pdb
../scaffolds/1pze_0001.pdb
../scaffolds/1qkk_0001.pdb
../scaffolds/1srv_0001.pdb
../scaffolds/1tk1_0001.pdb
../scaffolds/1x1h_0001.pdb
../scaffolds/1yo7_0001.pdb
../scaffolds/2b81_0001.pdb
../scaffolds/2j5y_0001.pdb
../scaffolds/2xj4_0001.pdb
../scaffolds/3cxr_0001.pdb
../scaffolds/3fbl_0001.pdb
../scaffolds/3mix_0001.pdb
../scaffolds/3vbc_0001.pdb
../scaffolds/4e6h_0001.pdb
../scaffolds/4tve_0001.pdb
../scaffolds/4xwu_0001.pdb
创建MotifGraftsc.xml,官方已经给出,XML的学习知识见参考。
<ROSETTASCRIPTS>
<TASKOPERATIONS>
<ProteinInterfaceDesign name="pido" repack_chain1="1" repack_chain2="1" design_chain1="0" design_chain2="1" interface_distance_cutoff="8.0"/>
<OperateOnCertainResidues name="hotspot_repack">
<ResiduePDBInfoHasLabel property="HOTSPOT"/>
<RestrictToRepackingRLT/>
</OperateOnCertainResidues>
</TASKOPERATIONS>
<SCOREFXNS>
</SCOREFXNS>
<FILTERS>
<Ddg name="ddg" confidence="0"/>
<BuriedUnsatHbonds name="unsat" confidence="0"/>
<ShapeComplementarity name="Sc" confidence="0"/>
</FILTERS>
<MOVERS>
<MotifGraft name="motif_grafting" context_structure="context.pdb" motif_structure="motif.pdb" RMSD_tolerance="0.3" NC_points_RMSD_tolerance="0.5"
clash_score_cutoff="5" clash_test_residue="GLY" hotspots="3:7" combinatory_fragment_size_delta="2:2" full_motif_bb_alignment="1" graft_only_hotspots_by_replacement="1" revert_graft_to_native_sequence="1"/>
<build_Ala_pose name="ala_pose" partner1="0" partner2="1" interface_cutoff_distance="8.0" task_operations="hotspot_repack"/>
<Prepack name="ppk" jump_number="0"/>
<PackRotamersMover name="design" task_operations="hotspot_repack,pido"/>
<MinMover name="rb_min" bb="0" chi="1" jump="1"/>
</MOVERS>
<PROTOCOLS>
<Add mover_name="motif_grafting"/>
<Add mover_name="ala_pose"/>
<Add mover_name="ppk"/>
<Add mover_name="design"/>
<Add mover_name="rb_min"/>
<Add mover_name="design"/>
<Add filter_name="unsat"/>
<Add filter_name="ddg"/>
<Add filter_name="Sc"/>
</PROTOCOLS>
</ROSETTASCRIPTS>
使用MotifGraftsc.xml,注意修改其中的motif.pdb和scaffold.pdb的文件路径
rosetta_scripts.static.macosclangrelease -l scaffolds.list -use_input_sc -ex1 -ex2 -nstruct 1 -parser:protocol MotifGraft_sc.xml
失败的案例各有各的失败,但是假如你运行成功了,应该就会出现以下界面。
以及以下这些文件:
cat score.sc
SEQUENCE:
SCORE: total_score Sc ddg dslf_fa13 fa_atr fa_dun fa_elec fa_intra_rep fa_intra_sol_xover4 fa_rep fa_sol graft_RMSD graft_clashScore graft_max_motif_fragment_RMSD hbond_bb_sc hbond_lr_bb hbond_sc hbond_sr_bb lk_ball_wtd omega p_aa_pp pro_close rama_prepro ref unsat yhh_planarity graft_full_bb_mode graft_in_motif_ranges graft_in_scaffold_ranges graft_out_scaffold_ranges graft_scaffold_size_change description
SCORE: -2271.973 0.524 -7.997 0.000 -5128.790 1028.353 -1465.508 9.988 161.151 711.191 3061.067 0.171 2.000 0.000 -147.202 -177.446 -142.286 -339.808 -116.419 55.667 -116.565 5.588 42.762 284.196 112.000 2.089 1 3,7 62,66 305,309 0 1ji6_0001_0001
SCORE: -679.022 0.668 -24.194 0.000 -1781.796 372.821 -507.127 3.393 53.867 258.088 1106.464 0.148 0.000 0.000 -35.392 -5.873 -21.367 -178.791 -49.345 10.669 -30.426 2.976 -0.328 123.146 30.000 0.000 1 3,7 4,8 247,251 0 1lp1_0001_0001
随意截取了一个成品,长角的便是Motif.pdb
截取出原始的Motif和嫁接之后的Super了一下
迄今为止,还没有一种计算方法能够完美准确地预测哪些设计在实验中会具有活性(即便AI也一样)。因此,指定多个标准来选择具有良好属性的设计序列是非常明智的。
1. 根据计算出的Interface指标对设计进行筛选,例如:a favorable binding energy (有利的结合能,ddG < 0 ROSETTA energy units,最好比天然界面的能量更低),high shape complementarity (高形状互补性,Sc>0.65), a low number of buried unsatisfied hydrogen-bonding atoms(较少的埋藏的未满足氢键原子数量)。可以从score.sc中看到这些指标并进行选择。
2. 一旦根据上述指标选择了一组设计,进行人为辅助的设计结构检查便显得非常重要。存在一些结构生物学家能够看到,但是并不包含在在标准指标中影响因素。例如:ROSETTA 设计结构中的两个常见缺陷需要避免:i)埋藏的带电残基和 ii)由丙氨酸残基占主导的未充分packed的Interface。
3. 将设计还原为天然氨基酸:还要考虑设计的Scaffold是否能够折叠到其预期的结构;如果在实验环境中无法将蛋白质折叠成预期的结构,则计算模型上再完美的接口也是完全没有意义的。这对于具有大量疏水残基主导的Interface设计尤其成问题。通常认为,设计出的序列正确折叠的概率与在设计过程中对Scaffold施加的突变数呈反比关系。因此,通过将序列上的氨基酸恢复为其自然序列以尽可能的减少变异是非常有意义的。
你可以按照以下方式进行尝试
cat context.pdb ../scaffolds/1ji6_0001.pdb > nativecplx.pdb
revert_design_to_native.static.macosclangrelease -revert_app:wt nativecplx.pdb revert_app:design 1ji6_0001_0001.pdb -ex1 -ex2 -use_input_sc > revert.log
revert_design_to_native.static.macosclangrelease \
-revert_app:wt nativecplx_2.pdb -revert_app:design 1ji6_0001_0001.pdb -ex1 -ex2 \
-use_input_sc > revert.log
4. 手动调整设计:用户可能希望纠正ROSETTA设计中的一些常见问题,比如暴露在界面边缘可能接触水的疏水性残基,将其修改为自然序列,将埋藏的带电氨基酸突变为疏水性氨基酸等。手动改进设计中没有硬性规则,仅仅取决于设计者的个人喜好和经验。
5. 基于折叠概率筛选设计:许多设计的序列在实验测试中可能无法正确折叠,用Alphafold2或者RosettaFold进行再次验证。
步骤同Side Chain Graft,XML code有差异
<ROSETTASCRIPTS>
<TASKOPERATIONS>
<ProteinInterfaceDesign name="pido_far" interface_distance_cutoff="15.0"/>
<ProteinInterfaceDesign name="pido_med" interface_distance_cutoff="12.0"/>
<ProteinInterfaceDesign name="pido_near" interface_distance_cutoff="8.0"/>
<OperateOnCertainResidues name="hotspot_repack">
<ResiduePDBInfoHasLabel property="HOTSPOT"/>
<RestrictToRepackingRLT/>
</OperateOnCertainResidues>
<SelectBySASA name="core" mode="sc" state="bound" probe_radius="2.2" core_asa="0" surface_asa="30" core="1" boundary="0" surface="0"/>
<SelectBySASA name="core_and_boundary" mode="sc" state="bound" probe_radius="2.2" core_asa="0" surface_asa="30" core="1" boundary="1" surface="0"/>
</TASKOPERATIONS>
<SCOREFXNS>
</SCOREFXNS>
<FILTERS>
<Ddg name="ddg" confidence="0"/>
<BuriedUnsatHbonds name="unsat" confidence="0"/>
<ShapeComplementarity name="Sc" confidence="0"/>
</FILTERS>
<MOVERS>
<MotifGraft name="motif_grafting" context_structure="context.pdb" motif_structure="motif.pdb" RMSD_tolerance="1.0" NC_points_RMSD_tolerance="1.0"
clash_score_cutoff="5" clash_test_residue="GLY" hotspots="3:7" combinatory_fragment_size_delta="2:2" max_fragment_replacement_size_delta="-8:8" full_motif_bb_alignment="0" graft_only_hotspots_by_replacement="0"/>
<build_Ala_pose name="ala_pose" partner1="0" partner2="1" interface_cutoff_distance="8.0" task_operations="hotspot_repack"/>
<Prepack name="ppk" jump_number="0"/>
<PackRotamersMover name="design_core" task_operations="hotspot_repack,pido_far,core"/>
<PackRotamersMover name="design_boundary" task_operations="hotspot_repack,pido_med,core_and_boundary"/>
<PackRotamersMover name="design_interface" task_operations="hotspot_repack,pido_near"/>
<MinMover name="sc_min" bb="0" chi="1" jump="1"/>
</MOVERS>
<PROTOCOLS>
<Add mover_name="motif_grafting"/>
<Add mover_name="ala_pose"/>
<Add mover_name="ppk"/>
<Add mover_name="design_core"/>
<Add mover_name="design_boundary"/>
<Add mover_name="design_interface"/>
<Add mover_name="sc_min"/>
<Add filter_name="unsat"/>
<Add filter_name="ddg"/>
<Add filter_name="Sc"/>
</PROTOCOLS>
</ROSETTASCRIPTS>
Motif Graft主要由三个结构组成:
目标是找到与Motif兼容的Pose中的片段,然后用Motif替换这些片段:为了确定片段是否兼容,用户可定义的三个截止值来进行评判: