Scoring Poses
Rosetta的基本功能是计算生物分子的能量或得分。Rosetta具有用于所有原子计算的标准能量函数以及用于低分辨率蛋白质表示的多个评分函数。此外,您可以通过在自定义权重中包括对您选择的项计分来定制能量函数。
对于这些练习,请使用蛋白质PDB ID 1YY8,并将其加载到称为POSE的姿势中。
代码语言:javascript复制import pyrosetta
from pyrosetta import *
init()
#开始定义一个score_function
scorefxn=get_fa_scorefxn()
#get_fa_scorefxn告诉Rosetta加载默认的全原子打分
#查看打分内容
print(scorefxn)
#内容
'''
coreFunction::show():
weights: (fa_atr 1) (fa_rep 0.55) (fa_sol 1) (fa_intra_rep 0.005) (fa_intra_sol_xover4 1) (lk_ball_wtd 1) (fa_elec 1) (pro_close 1.25) (hbond_sr_bb 1) (hbond_lr_bb 1) (hbond_bb_sc 1) (hbond_sc 1) (dslf_fa13 1.25) (omega 0.4) (fa_dun 0.7) (p_aa_pp 0.6) (yhh_planarity 0.625) (ref 1) (rama_prepro 0.45)
energy_method_options: EnergyMethodOptions::show: aa_composition_setup_files:
EnergyMethodOptions::show: mhc_epitope_setup_files:
EnergyMethodOptions::show: netcharge_setup_files:
EnergyMethodOptions::show: aspartimide_penalty_value: 25
EnergyMethodOptions::show: etable_type: FA_STANDARD_DEFAULT
analytic_etable_evaluation: 1
EnergyMethodOptions::show: method_weights: ref 1.32468 3.25479 -2.14574 -2.72453 1.21829 0.79816 -0.30065 2.30374 -0.71458 1.66147 1.65735 -1.34026 -1.64321 -1.45095 -0.09474 -0.28969 1.15175 2.64269 2.26099 0.58223
EnergyMethodOptions::show: method_weights: free_res
EnergyMethodOptions::show: unfolded_energies_type: UNFOLDED_SCORE12
EnergyMethodOptions::show: split_unfolded_label_type: SPLIT_UNFOLDED_MM
EnergyMethodOptions::show: split_unfolded_value_type: SPLIT_UNFOLDED_BOLTZ
EnergyMethodOptions::show: atom_vdw_atom_type_set_name: centroid
EnergyMethodOptions::show: covalent_labeling_input:
EnergyMethodOptions::show: covalent_labeling_fa_input:
EnergyMethodOptions::show: exclude_protein_protein_fa_elec: false
EnergyMethodOptions::show: exclude_RNA_RNA_fa_elec: false
EnergyMethodOptions::show: exclude_RNA_protein_fa_elec: false
EnergyMethodOptions::show: exclude_monomer_fa_elec: false
EnergyMethodOptions::show: elec_max_dis: 5.5
EnergyMethodOptions::show: elec_min_dis: 1.6
EnergyMethodOptions::show: elec_die: 10
EnergyMethodOptions::show: elec_no_dis_dep_die: false
EnergyMethodOptions::show: elec_sigmoidal_die: true
EnergyMethodOptions::show: elec_sigmoidal_D: 80
EnergyMethodOptions::show: elec_sigmoidal_D0: 6
EnergyMethodOptions::show: elec_sigmoidal_S: 0.4
EnergyMethodOptions::show: smooth_fa_elec: true
EnergyMethodOptions::show: grpelec_fade_type: false
EnergyMethodOptions::show: grpelec_fade_param1: 1
EnergyMethodOptions::show: grpelec_fade_param2: 1
EnergyMethodOptions::show: grpelec_fade_hbond: 0
EnergyMethodOptions::show: grp_cpfxn: 1
EnergyMethodOptions::show: elec_group_file: /scoring/score_functions/elec_group_def.dat
EnergyMethodOptions::show: grpelec_context_dependent: 0
EnergyMethodOptions::show: use_polarization: true
EnergyMethodOptions::show: use_gen_kirkwood: true
EnergyMethodOptions::show: protein_dielectric: 1
EnergyMethodOptions::show: water_dielectric: 78.3
EnergyMethodOptions::show: exclude_DNA_DNA: true
EnergyMethodOptions::show: exclude_intra_res_protein: false
EnergyMethodOptions::show: count_pair_hybrid: false
EnergyMethodOptions::show: put_intra_into_total: false
EnergyMethodOptions::show: geom_sol_interres_path_distance_cutoff: false
EnergyMethodOptions::show: geom_sol_intrares_path_distance_cutoff: true
EnergyMethodOptions::show: eval_intrares_elec_ST_only: false
EnergyMethodOptions::show: envsmooth_zero_negatives: false
EnergyMethodOptions::show: cst_max_seq_sep: 18446744073709551615
EnergyMethodOptions::show: pb_bound_tag: bound
EnergyMethodOptions::show: pb_unbound_tag: unbound
EnergyMethodOptions::show: ordered_wat_penalty: 1.221
EnergyMethodOptions::show: ordered_pt_wat_penalty: 2.709
EnergyMethodOptions::show: nmer_ref_seq_length_: 9
EnergyMethodOptions::show: nmer_svm_term_length_: 3
EnergyMethodOptions::show: nmer_svm_pssm_feat_: 1
EnergyMethodOptions::show: nmer_svm_scorecut_defined_: 0
EnergyMethodOptions::show: nmer_svm_scorecut_: 0
EnergyMethodOptions::show: nmer_svm_avg_rank_as_energy_: 0
EnergyMethodOptions::show: nmer_svm_aa_matrix_defined_: 0
EnergyMethodOptions::show: nmer_svm_aa_matrix_:
EnergyMethodOptions::show: nmer_svm_list_defined_: 0
EnergyMethodOptions::show: nmer_svm_list_:
EnergyMethodOptions::show: nmer_svm_defined_: 0
EnergyMethodOptions::show: nmer_svm_:
EnergyMethodOptions::show: nmer_svm_rank_list_defined_: 0
EnergyMethodOptions::show: nmer_svm_rank_list_:
EnergyMethodOptions::show: nmer_svm_rank_defined_: 0
EnergyMethodOptions::show: nmer_svm_rank_:
EnergyMethodOptions::show: voids_penalty_energy_containing_cones_cutoff_:6
EnergyMethodOptions::show: voids_penalty_energy_cone_distance_cutoff_: 8
EnergyMethodOptions::show: voids_penalty_energy_cone_dotproduct_cutoff_: 0.1
EnergyMethodOptions::show: voids_penalty_energy_voxel_grid_padding_: 1
EnergyMethodOptions::show: voids_penalty_energy_voxel_size_: 0.5
EnergyMethodOptions::show: voids_penalty_energy_disabled_except_during_packing_: TRUE
EnergyMethodOptions::show: hbnet_bonus_ramping_function_: "quadratic"
EnergyMethodOptions::show: hbnet_max_network_size_: 0
EnergyMethodOptions::show: approximate_buried_unsat_penalty_hbond_energy_threshold_: -0.25
EnergyMethodOptions::show: approximate_buried_unsat_penalty_burial_atomic_depth_: 4.5
EnergyMethodOptions::show: approximate_buried_unsat_penalty_burial_probe_radius_: 2.3
EnergyMethodOptions::show: approximate_buried_unsat_penalty_burial_resolution_: 0.5
EnergyMethodOptions::show: approximate_buried_unsat_penalty_oversat_penalty_: 1
EnergyMethodOptions::show: approximate_buried_unsat_penalty_assume_const_backbone_:1
EnergyMethodOptions::show: bond_angle_central_atoms_to_score:
EnergyMethodOptions::show: bond_angle_residue_type_param_set: none
HBondOptions::show: exclude_DNA_DNA: true
HBondOptions::show: exclude_intra_res_protein_: false
HBondOptions::show: exclude_intra_res_RNA_: false
HBondOptions::show: put_intra_into_total_: false
HBondOptions::show: exclude_self_hbonds: true
HBondOptions::show: use_hb_env_dep: false
HBondOptions::show: use_hb_env_dep_DNA: true
HBondOptions::show: smooth_hb_env_dep: true
HBondOptions::show: bb_donor_acceptor_check: true
HBondOptions::show: decompose_bb_hb_into_pair_energies: false
HBondOptions::show: params_database_tag_: ref2015_params
HBondOptions::show: use_sp2_chi_penalty_: true
HBondOptions::show: sp2_BAH180_rise_: 0.75
HBondOptions::show: sp2_outer_width_: 0.357
HBondOptions::show: measure_sp3acc_BAH_from_hvy_: true
HBondOptions::show: fade_energy_: 1
HBondOptions::show: exclude_ether_oxygens_: 0
HBondOptions::show: Mbhbond: false
HbondOptions::show: mphbond: false
HBondOptions::show: hbond_energy_shift: 0
HBondOptions::show: water_hybrid_sf: false
RNA_EnergyMethodOptions::show: syn_G_potential_bonus: 0
RNA_EnergyMethodOptions::show: torsion_potential: ps_04282011
RNA_EnergyMethodOptions::show: suiteness_bonus: Richardson
RNA_EnergyMethodOptions::show: rna_base_pair_xy_filename: scoring/rna/rna_base_pair_xy.dat
FreeDOF_Options::show: free_suite_bonus: -1
FreeDOF_Options::show: free_2HOprime_bonus: -0.5
FreeDOF_Options::show: free_sugar_bonus: -1
FreeDOF_Options::show: pack_phosphate_penalty: 0.25
FreeDOF_Options::show: free_side_chain_bonus: -0.5
'''
#设置自己的自定义分数功能,仅包含范德华力,溶剂化和氢键键合项,所有权重均为1.0。使用以下内容开始:
#创建一个pose
from pyrosetta.toolbox import pose_from_rcsb
pose = pose_from_rcsb("1YY8")
#对这个pose进行打分
print(scorefxn(pose))
-465.267565112
#展示打分细节
scorefxn.show(pose)
core.scoring:
------------------------------------------------------------
Scores Weight Raw Score Wghtd.Score
------------------------------------------------------------
fa_atr 1.000 -4873.833 -4873.833
fa_rep 0.550 2000.420 1100.231
fa_sol 1.000 2808.888 2808.888
fa_intra_rep 0.005 2051.516 10.258
fa_intra_sol_xover4 1.000 149.253 149.253
lk_ball_wtd 1.000 -83.161 -83.161
fa_elec 1.000 -1176.256 -1176.256
pro_close 1.250 56.040 70.050
hbond_sr_bb 1.000 -75.843 -75.843
hbond_lr_bb 1.000 -402.601 -402.601
hbond_bb_sc 1.000 -125.566 -125.566
hbond_sc 1.000 -81.368 -81.368
dslf_fa13 1.250 -6.461 -8.076
omega 0.400 1.866 0.747
fa_dun 0.700 2796.540 1957.578
p_aa_pp 0.600 -248.924 -149.354
yhh_planarity 0.625 0.000 0.000
ref 1.000 289.140 289.140
rama_prepro 0.450 276.988 124.645
---------------------------------------------------
Total weighted score: -465.267
#每一个残基的打分
print(pose.energies().show())
#182位残基的打分
print(pose.energies().show(182))
#out
core.scoring.Energies: E fa_atr fa_rep fa_sol fa_intra_repfa_intra_sol_x 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
core.scoring.Energies: E(i) 182 -4.34 0.44 4.62 0.54 0.09 -0.12 -1.42 0.00 0.00 0.00 -0.79 0.00 0.00 0.01 0.76 -0.23 0.00 -0.29 -0.37
None
#计算原子与原子之间的相互作用力
r1 = pose.residue(24)
r2 = pose.residue(20)
#a1 = r1.atom("N")
#a2 = r2.atom("O")
etable_atom_pair_energies(r1,1, r2,2, scorefxn3)
#据说这个可以展示氢键
from rosetta.core.scoring import hbonds
from rosetta.core.scoring.hbonds import HBondSet
hbond_set= HBondSet()
pose.update_residue_neighbors()
hbonds.fill_hbond_set(pose, False, hbond_set)
hbond_set.show(pose)
#暂时就是这样,本来还有很多
#Dch Dn Dres Da Ach An Ares Aa length AHDang BAHang BAtor weight energy
#A 3 LEU N A 26 SER OG 1.79 156.8 119.1 -128.9 0.529 -1.824
#A 26 SER N A 3 LEU O 2.05 135.4 149.9 49.1 1.000 -0.605
#A 5 THR N A 24 ARG O 1.79 169.7 149.6 33.2 1.000 -1.288
#A 24 ARG N A 5 THR O 1.84 167.8 141.8 53.0 1.000 -1.244
#A 6 GLN NE2A 86 TYR O 2.00 151.1 113.6 -132.7 1.000 -1.113
#A 101 GLY N A 6 GLN OE1 1.95 131.8 111.8 76.0 1.000 -0.316
#A 7 SER N A 22 SER O 1.95 156.0 134.1 -48.7 1.000 -1.294
#A 22 SER N A 7 SER O 2.04 153.7 173.5 63.1 1.000 -0.827
#A 103 LYS N A 9 VAL O 2.07 170.5 148.3 -122.3 1.000 -1.263
#A 11 LEU N A 103 LYS O 1.84 173.8 163.7 107.5 1.000 -1.015
#A 105 GLU N A 11 LEU O 1.76 176.6 156.5 113.8 1.000 -0.915
#简单的方式
from pyrosetta.toolbox import get_hbonds
hbond_set = get_hbonds(pose)
hbond_set.show(pose)
#证明是骗人的
#残基24位相关的氢键
hbond_set.show(pose, 24)
#Dch Dn Dres Da Ach An Ares Aa length AHDang BAHang BAtor weight energy
#A 5 THR N A 24 ARG O 1.79 169.7 149.6 33.2 1.000 -1.288
#A 24 ARG N A 5 THR O 1.84 167.8 141.8 53.0 1.000 -1.244