Rosetta scoring

2023-04-24,

参考:https://www.rosettacommons.org/demos/latest/tutorials/scoring/scoring

介绍

Rosetta有一个被称为ref2015的优化能量函数或打分函数,用于计算由L-氨基酸组成的球状蛋白质中所有原子相互作用的能量。还有几个全原子评分函数用于其他生物分子的特殊应用。此外,也可以自定义打分函数。

在Rosetta中,打分函数是能量项的加权和,其中一些表示物理力,如静电和范德华相互作用,而另一些表示统计项,如在Ramachandran space中找到扭转角的概率。

ref2015打分函数的各能量项及权重

能量项 解释 权重
fa_atr Lennard-Jones attractive between atoms in different residues 1
fa_rep Lennard-Jones repulsive between atoms in different residues 0.55
fa_sol  Lazaridis-Karplus solvation energy 0.9375
fa_intra_sol_xover4 Intra-residue Lazaridis-Karplus solvation energy  
lk_ball_wtd Asymmetric solvation energy  
fa_intra_rep  Lennard-Jones repulsive between atoms in the same residue 0.005
fa_elec Coulombic electrostatic potential with a distance-dependent dielectric 0.875
pro_close Proline ring closure energy and energy of psi angle of preceding residue 1.25
hbond_sr_bb   Backbone-backbone hbonds close in primary sequence  1.17
hbond_lr_bb Backbone-backbone hbonds distant in primary sequence 1.17
hbond_bb_sc  Sidechain-backbone hydrogen bond energy 1.17
hbond_sc  Sidechain-sidechain hydrogen bond energy 1.1
dslf_fa13 Disulfide geometry potential 1.25
rama_prepro Ramachandran preferences (with separate lookup tables for pre-proline positions and other positions) 0.25
omega Omega dihedral in the backbone. A Harmonic constraint on planarity with standard deviation of ~6 deg. 0.625
p_aa_pp  Probability of amino acid, given torsion values for phi and psi 0.4
fa_dun  Internal energy of sidechain rotamers as derived from Dunbrack's statistics 0.7
yhh_planarity A special torsional potential to keep the tyrosine hydroxyl in the plane of the aromatic ring 0.625
ref  Reference energy for each amino acid. Balances internal energy of amino acid terms.  Plays role in design. 1
METHOD_WEIGHTS Not an energy term itself, but the parameters for each amino acid used by the ref energy term.  

Rosetta Scores与真实能量比较

尽管得分较低的结构更接近天然结构,但Rosetta Scores不能直接转换为物理能量单位,如kcal/mol。而是使用Rosetta Energy Units (REU)来表示Rosetta Scores另外,由于分数取决于使用的评分函数,比较使用不同评分函数的得分是没有意义的。

Demo

准备PDB文件用于打分

1)示例1

在Rosetta,使用score_jd2应用来进行打分,pdb文件直接从PDB文件下载即可,不需要额外处理。执行命令如下:

score_jd2.mpi.linuxgccrelease -in:file:s input_files/from_rcsb/3tdm.pdb

注:官网的说法是从PDB数据库直接下载的PDB文件可能和score_jd2不兼容,导致运行出错。但我直接运行并没有报错(猜测rosetta更新版本解决不兼容问题了吧)。如果真的遇到PDB格式不兼容问题,也不用慌!在命令后加选项-ignore_unrecognized_res就会忽略PDB文件中的磷酸基团。

运行结束后,会在执行命令的当前目录下生成一个sore.sc文件。执行多次,评分结果将会追加在此sore.sc文件中。

2)示例2

另外,如果输入的PDB缺少重原子或含有Rosetta默认识别的不寻常残基(不像磷酸盐),Rosetta会添加或更改原子以满足要求。在执行命令后加选项-out:pdb可以输出Rosetta实际评分的结构。命令如下:

score_jd2.mpi.linuxgccrelease -in:file:s input_files/from_rcsb/1qys.pdb -out:pdb

执行以上命令会在屏幕上看到

1):表示Rosetta将残基MSE转换成了MET

2):表示Rosetta发现13号残基缺少Cγ原子,并为13号残基构建了侧链。

运行结束后,会在执行命令的当前目录下生成一个sore.sc文件和新的1qys_0001.pdb文件。

注:由于Rosetta非确定性地重建缺失的侧链,因此这个示例的每次运行都将产生不同的结果,包括PDB结构和分数文件。另外,sore.sc将显示一个大的正total_score,表示一个不利的结构;但这并不意味着结构不稳定,这只是意味着Rosetta认为在这个PDB中可能存在一些小的空间冲突。建议使用评分函数的relaxi协议来优化PDB可避免以上问题。

Basic Scoring

使用flag文件来评分改进过的1QYS结构(/demos/tutorials/scoring/input_files)。flag文件内容如下:

-in:file:s input_files/1qys.pdb

-out:file:scorefile output_files/score.sc

执行命令为:

score_jd2.mpi.linuxgccrelease @flag

运行结束后会在output_files目录下生成名为score.sc的评分文件,内容如下:

SEQUENCE:
SCORE: total_score score dslf_fa13 fa_atr fa_dun fa_elec fa_intra_rep fa_intra_sol_xover4 fa_rep fa_sol hbond_bb_sc hbond_lr_bb hbond_sc hbond_sr_bb linear_chainbreak lk_ball_wtd omega overlap_chainbreak p_aa_pp pro_close rama_prepro ref time yhh_planarity description
SCORE: -224.872 -224.872 0.000 -501.794 104.484 -146.069 1.118 18.786 71.043 304.630 -5.915 -35.139 -18.005 -33.177 0.000 -6.481 3.494 0.000 -13.948 0.000 7.351 24.518 0.000 0.230 1qys_0001

total_score:结构的总加权分数。分数越低表示结构越稳定。经验法则:使用ref2015评分函数对精细结构进行评分时,每个残基通常为-1至-3 REU。

fa_atr:fa_atr权重评分。各项的评分可帮助理解哪种能量项贡献最大。

注:较大的fa_rep加权分数(如,比fa_atr的稳定效果大得多)表明结构中存在冲突。

更多评分选项

更改评分函数

使用docking.wts(/main/database/scoring/weights)文件中给出的评分函数对1qys和1ubq进行评分,并将评分文件重命名为score_docking.sc。

flags文件内容如下:

-in:file:l input_files/pdblist

-score:weights docking

-out:file:scorefile output_files/score_docking.sc

pdblist文件内容如下:

input_files/1qys.pdb
input_files/1ubq.pdb

docking.wts内容如下:

fa_atr 0.338
fa_rep 0.044
fa_dun 0.036
fa_sol 0.242
fa_pair 0.164
hbond_lr_bb 0.245
hbond_sr_bb 0.245
hbond_bb_sc 0.245
hbond_sc 0.245
fa_elec 0.026
dslf_ss_dst 0.5
dslf_cs_ang 2
dslf_ss_dih 5
dslf_ca_dih 5

执行命令为:

score_jd2.mpi.linuxgccrelease @flag_docking

运行结束后会在output_files目录下生成名为score_docking.sc的评分文件,其内容如下:

SEQUENCE:
SCORE: total_score score dslf_ca_dih dslf_cs_ang dslf_ss_dih dslf_ss_dst fa_atr fa_dun fa_elec fa_pair fa_rep fa_sol hbond_bb_sc hbond_lr_bb hbond_sc hbond_sr_bb linear_chainbreak overlap_chainbreak time description
SCORE: -111.103 -111.103 0.000 0.000 0.000 0.000 -169.606 5.373 -3.798 -2.237 5.683 73.720 -0.822 -8.609 -2.680 -8.128 0.000 0.000 0.000 1qys_0001
SCORE: -83.850 -83.850 0.000 0.000 0.000 0.000 -131.980 4.479 -3.295 -2.059 3.845 58.363 -1.663 -5.786 -1.092 -4.661 0.000 0.000 0.000 1ubq_0001

注:不同蛋白质的总得分与结构稳定性之间不存在良好的相关性。

Patch Files and Changing Term Weights

更改能量选项权重的三种方式:

创建一个自定义weights文件,并将路径传递给-score:weights
使用补丁文件修改已存在权重
从命令行设置特定选项的权重

获得每个残基评分

使用可执行文件per_residue_energies和out:file:silent选项来指定要写入每个残基分解的文件。

flags文件内容如下:

-in:file:s input_files/1qys.pdb

-out:file:silent output_files/per_res.sc

执行命令为:

per_residue_energies.mpi.linuxgccrelease @flag_per_residue

运行结束后会在output_files目录下生成名为per_res.sc的评分文件,其部分内容如下:

SCORE:     pose_id     pdb_id     fa_atr     fa_rep     fa_sol    fa_intra_rep    fa_intra_sol_xover4    lk_ball_wtd    fa_elec    pro_close    hbond_sr_bb    hbond_lr_bb    hbond_bb_sc    hbond_sc    dslf_fa13      omega     fa_dun    p_aa_pp    yhh_planarity        ref    rama_prepro      score description
SCORE: input_files/1qys.pdb 3A -2.902 0.187 3.047 0.011 0.940 -0.046 -1.618 0.000 0.000 0.000 0.000 -0.828 0.000 0.019 1.594 0.000 0.000 -2.146 0.000 -1.743 residue_1
SCORE: input_files/1qys.pdb 4A -7.106 0.617 2.317 0.034 0.096 -0.041 -1.661 0.000 0.000 -0.734 0.000 0.000 0.000 0.001 0.785 -0.448 0.000 2.304 -0.160 -3.997 residue_2
SCORE: input_files/1qys.pdb 5A -5.601 1.002 5.613 0.009 0.500 0.427 -3.629 0.000 0.000 -1.490 0.000 -1.216 0.000 -0.002 3.033 0.281 0.000 -1.451 -0.068 -2.592 residue_3
SCORE: input_files/1qys.pdb 6A -6.259 1.078 1.135 0.018 0.048 0.081 -1.953 0.000 0.000 -1.295 0.000 0.000 0.000 0.033 0.032 -0.594 0.000 2.643 -0.047 -5.081 residue_4
SCORE: input_files/1qys.pdb 7A -4.785 0.307 4.224 0.008 0.198 0.384 -3.215 0.000 0.000 -1.182 0.000 -1.140 0.000 -0.051 2.698 0.310 0.000 -1.451 -0.044 -3.740 residue_5
SCORE: input_files/1qys.pdb 8A -7.435 2.567 1.530 0.016 0.046 0.005 -1.899 0.000 0.000 -1.603 0.000 0.000 0.000 0.022 0.014 -0.674 0.000 2.643 -0.033 -4.802 residue_6
SCORE: input_files/1qys.pdb 9A -5.439 0.350 5.395 0.005 0.270 0.320 -3.457 0.000 0.000 -1.180 0.000 -1.140 0.000 -0.051 3.249 -0.007 0.000 -1.340 -0.032 -3.056 residue_7
SCORE: input_files/1qys.pdb 10A -7.240 1.299 2.026 0.028 0.084 0.212 -2.108 0.000 0.000 -1.389 0.000 0.000 0.000 0.002 0.191 -0.628 0.000 2.304 -0.042 -5.260 residue_8
SCORE: input_files/1qys.pdb 11A -4.225 0.271 4.842 0.004 0.293 0.030 -3.017 0.000 0.000 -0.400 0.000 -0.774 0.000 0.082 2.007 0.750 0.000 -2.146 0.068 -2.215 residue_9
SCORE: input_files/1qys.pdb 12A -4.157 0.258 4.716 0.009 0.869 -0.099 -0.996 0.000 0.000 0.000 0.000 -0.901 0.000 0.967 1.636 -0.746 0.000 -2.146 0.995 0.405 residue_10
SCORE: input_files/1qys.pdb 13A -1.747 0.226 2.290 0.007 0.316 -0.204 0.672 0.000 0.000 0.000 0.000 0.000 0.000 -0.014 1.687 -0.855 0.000 -1.340 2.307 3.344 residue_11
SCORE: input_files/1qys.pdb 14A -0.955 0.126 0.958 0.000 0.000 -0.060 0.031 0.000 0.000 0.000 0.000 0.000 0.000 -0.113 0.000 -1.245 0.000 0.798 1.152 0.691 residue_12
SCORE: input_files/1qys.pdb 15A -3.936 0.288 3.337 0.008 0.155 -0.289 -0.091 0.000 0.000 0.000 0.000 0.000 0.000 0.112 1.465 0.248 0.000 -0.715 0.436 1.018 residue_13
SCORE: input_files/1qys.pdb 16A -2.981 0.169 2.557 0.005 0.258 -0.360 -0.773 0.000 0.000 0.000 0.000 0.000 0.000 -0.023 2.023 0.432 0.000 -1.340 0.902 0.868 residue_14
SCORE: input_files/1qys.pdb 17A -6.072 0.782 3.154 0.022 0.282 0.068 -2.010 0.000 0.000 -1.389 0.000 0.000 0.000 0.087 1.913 -0.083 0.000 1.218 0.013 -2.015 residue_15
SCORE: input_files/1qys.pdb 18A -2.735 0.127 3.375 0.010 0.704 -0.141 -0.198 0.000 0.000 0.000 0.000 0.000 0.000 0.025 1.595 -0.603 0.000 -2.146 -0.003 0.010 residue_16

注:确保在per_residue_energies中使用与在score_jd2中使用的相同的score函数,以获得可比的结果。

获得每个残基评分的分解

使用residue_energy_breakdown进一步获得每个残基评分的能量分解项。

flags文件内容如下:

-in:file:s input_files/1qys.pdb

-out:file:silent output_files/energy_breakdown.sc

执行命令为:

residue_energy_breakdown.mpi.linuxgccrelease @flag_residue_energy_breakdown

运行结束后会在output_files目录下生成名为energy_breakdown.sc的评分文件,其部分内容如下:

SCORE:     pose_id                resi1     pdbid1    restype1      resi2     pdbid2    restype2     fa_atr     fa_rep     fa_sol    fa_intra_rep    fa_elec    pro_close    hbond_sr_bb    hbond_lr_bb    hbond_bb_sc    hbond_sc    dslf_fa13       rama      omega     fa_dun    p_aa_pp    yhh_planarity        ref      total                    description
SCORE: input_files/1qys.pdb 1 3A ASP -- -- onebody 0.000 0.000 0.000 0.025 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
...
SCORE: input_files/1qys.pdb 1 3A ASP 2 4A ILE -1.518 0.072 1.027 0.000 0.721 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.301 input_files/1qys.pdb_1_2
...

第一行(在标题行之后)表示第一个残基(PDB编号3A)的内部(单体)能量的分值;第二行表示残基3A和4A的相互作用能。

注:确保在residue_energy_breakdown中使用与在score_jd2中使用的相同的score函数,以获得可比的结果。

其他

对于膜蛋白和对称蛋白则需要额外的文件来评分,不过多介绍了。

总结

虽然评分步骤是确定的,并且应该为给定的评分函数和输入结构提供相同的分数,但如果在相同的PDB上运行score_jd2,则可能得不到相同的分数。

不要比较不同分数函数产生的分数。它们可能意味着非常不同的东西。

在比较之前,应relex结构并使用相同的评分函数。

Rosetta scoring的相关教程结束。

《Rosetta scoring.doc》

下载本文的Word格式文档,以方便收藏与打印。