Rosetta scoring
参考: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的更多相关文章
- AASM rule of scoring sleep stages using EEG signal
Reference: AASM (2007). The AASM Manual for the Scoring of Sleep and Associated Events: Rules, Termi ...
- rosetta common sh: mpiCC command not found解决方法
在执行多线程编译rosetta时执行: python scons.py bin mode=release extras=mpi -j8 编译安装rosetta 会出现错误sh: mpiCC comma ...
- 酶设计软件rosetta安装
1.Rosetta uses SCons as a compile assistant. You will likely need to download and install this first ...
- 外语学习强烈推荐Rosetta Stone
外语学习强烈推荐Rosetta Stone 外语学习强烈推荐Rosetta Stone
- Scoring and Modeling—— Underwriting and Loan Approval Process
https://www.fdic.gov/regulations/examinations/credit_card/ch8.html Types of Scoring FICO Scores V ...
- rosetta geometric constraint file(用于match和design)
cst(constraint file)文件示例: CST::BEGIN TEMPLATE:: ATOM_MAP: atom_name: C6 O4 O2 TEMPLATE:: ATOM_MAP: r ...
- ROSETTA使用技巧随笔--relax使用
Purpose: 主要说目的,relax的作用就是对一个给定的蛋白进行构象搜索,寻找与WT相似并能量低于WT的结构,既包含packer又包含minimizer.主要的应用在对一个结构构象进行取样,获得 ...
- ROSETTA使用技巧随笔--蛋白蛋白对接
先写简略版,以后再详细写. 1. 对输入结构进行预处理(refine) $> relax.default.linuxgccrelease -in:file:s input_files/from_ ...
- ROSETTA使用技巧随笔--PyMOL实时观测ROSETTA模拟过程中的结构变化
没有梦想的人,就是一只咸鱼,像我,就有一个梦想,就是让蛋白模拟过程变成动画,动起来! 虽然MD中有很多方法可以方模拟过程像动画一样播放出来,但是我一直想在ROSETTA中也找一个这样的功能,这不,我发 ...
- ROSETTA使用技巧随笔--控制Log输出等级
一般运行ROSETTA,屏幕上的Log很多,而且很复杂,让我们看着眼晕,现在我们可以通过控制Log等级来控制屏幕上输出的东西. Integer Level 0 Fatal 100 Error 200 ...
随机推荐
- python中利用openpyxl、xlsxwriter库操作Excel
删除Excel指定行或列 使用openpyxl库操作Excel,可以删除指定的列 import openpyxl def excel_delete(fp): wb = openpyxl.load_wo ...
- mysql5.7主从多线程同步
数据库复制的主要性能问题就是数据延时 为了优化复制性能,Mysql 5.6 引入了 "多线程复制" 这个新功能 但 5.6 中的每个线程只能处理一个数据库,所以如果只有一个数据库, ...
- jeecg 导出加批注
public static void main(String[] args) throws IOException { // 创建工作簿对象 XSSFWorkbook wb = new XSSFWor ...
- 全文检索引擎:solr lucene
solr在lucene外边做了一层厚厚的封装,主要是为了简化二次开发,提供了一些成熟的解决方案. Lucene是全文检索是对索引中Document的各field进行匹配,可返回document,得到查 ...
- Html5本地存储概念,有什么优点,与cookie有什么区别?
html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有 ...
- STM32F103RCT6驱动AD7705(cubeide)
首先在cubeide上配置spi,使用spi1,由于正点开发板上的nr24l01与ad7705正好相同,因此根据引脚配置PA1为DRDY,PC4为CS片选 根据手册上所写,配置寄存器初始化 uint8 ...
- Write down for Segments, Extents, and Blocks
Segments, Extents, and Blocks(段.区.块) • Segments exist in a tablespace. • Segments are collections of ...
- element table合计行自定义及单元格合并
问题:项目需求要求table下面加合计一行 图片展示: 代码示例: TEMPLATE: span-method是自定义table单元 show-summary是展示合并行 summary-meth ...
- 快速搭建基于webpack的babylon.js开发手脚架
原文:https://doc.babylonjs.com/how_to/page2 目录 创建一个项目 安装Babylon.js 设置webpack 安装依赖 配置webpack 插件 创建场景 设置 ...
- C++/Lua栈操作
一.Lua栈结构 1. index为正数 c++获取lua的数组元素的实例: // 接口参数:void lua_rawgeti (lua_State *L, int index, int n); lu ...