OpenStructure
|
Inherits LigandScorer.
Data Fields | |
bs_radius | |
lddt_lp_radius | |
model_bs_radius | |
binding_sites_topn | |
full_bs_search | |
![]() | |
model | |
target | |
target_ligands | |
model_ligands | |
resnum_alignments | |
rename_ligand_chain | |
substructure_match | |
coverage_delta | |
max_symmetries | |
state_decoding | |
:class:`LigandScorer` implementing symmetry corrected RMSD. :class:`SCRMSDScorer` computes a score for a specific pair of target/model ligands. The returned RMSD is based on a binding site superposition. The binding site of the target structure is defined as all residues with at least one atom within *bs_radius* around the target ligand. It only contains protein and nucleic acid residues from chains that pass the criteria for the :class:`chain mapping <ost.mol.alg.chain_mapping>`. This means ignoring other ligands, waters, short polymers as well as any incorrectly connected chains that may be in proximity. The respective model binding site for superposition is identified by naively enumerating all possible mappings of model chains onto their chemically equivalent target counterparts from the target binding site. The *binding_sites_topn* with respect to lDDT score are evaluated and an RMSD is computed. You can either try to map ALL model chains onto the target binding site by enabling *full_bs_search* or restrict the model chains for a specific target/model ligand pair to the chains with at least one atom within *model_bs_radius* around the model ligand. The latter can be significantly faster in case of large complexes. Symmetry correction is achieved by simply computing an RMSD value for each symmetry, i.e. atom-atom assignments of the ligand as given by :class:`LigandScorer`. The lowest RMSD value is returned Populates :attr:`LigandScorer.aux_data` with following :class:`dict` keys: * rmsd: The score * lddt_lp: lDDT of the binding site used for superposition * bs_ref_res: :class:`list` of binding site residues in target * bs_ref_res_mapped: :class:`list` of target binding site residues that are mapped to model * bs_mdl_res_mapped: :class:`list` of same length with respective model residues * bb_rmsd: Backbone RMSD (CA, C3' for nucleotides) for mapped residues given transform * target_ligand: The actual target ligand for which the score was computed * model_ligand: The actual model ligand for which the score was computed * chain_mapping: :class:`dict` with a chain mapping of chains involved in binding site - key: trg chain name, value: mdl chain name * transform: :class:`geom.Mat4` to transform model binding site onto target binding site * inconsistent_residues: :class:`list` of :class:`tuple` representing residues with inconsistent residue names upon mapping (which is given by bs_ref_res_mapped and bs_mdl_res_mapped). Tuples have two elements: 1) trg residue 2) mdl residue :param model: Passed to parent constructor - see :class:`LigandScorer`. :type model: :class:`ost.mol.EntityHandle`/:class:`ost.mol.EntityView` :param target: Passed to parent constructor - see :class:`LigandScorer`. :type target: :class:`ost.mol.EntityHandle`/:class:`ost.mol.EntityView` :param model_ligands: Passed to parent constructor - see :class:`LigandScorer`. :type model_ligands: :class:`list` :param target_ligands: Passed to parent constructor - see :class:`LigandScorer`. :type target_ligands: :class:`list` :param resnum_alignments: Passed to parent constructor - see :class:`LigandScorer`. :type resnum_alignments: :class:`bool` :param rename_ligand_chain: Passed to parent constructor - see :class:`LigandScorer`. :type rename_ligand_chain: :class:`bool` :param substructure_match: Passed to parent constructor - see :class:`LigandScorer`. :type substructure_match: :class:`bool` :param coverage_delta: Passed to parent constructor - see :class:`LigandScorer`. :type coverage_delta: :class:`float` :param max_symmetries: Passed to parent constructor - see :class:`LigandScorer`. :type max_symmetries: :class:`int` :param bs_radius: Inclusion radius for the binding site. Residues with atoms within this distance of the ligand will be considered for inclusion in the binding site. :type bs_radius: :class:`float` :param lddt_lp_radius: lDDT inclusion radius for lDDT-LP. :type lddt_lp_radius: :class:`float` :param model_bs_radius: inclusion radius for model binding sites. Only used when full_bs_search=False, otherwise the radius is effectively infinite. Only chains with atoms within this distance of a model ligand will be considered in the chain mapping. :type model_bs_radius: :class:`float` :param binding_sites_topn: maximum number of model binding site representations to assess per target binding site. :type binding_sites_topn: :class:`int` :param full_bs_search: If True, all potential binding sites in the model are searched for each target binding site. If False, the search space in the model is reduced to chains around (`model_bs_radius` Å) model ligands. This speeds up computations, but may result in ligands not being scored if the predicted ligand pose is too far from the actual binding site. :type full_bs_search: :class:`bool`
Definition at line 9 of file ligand_scoring_scrmsd.py.
def __init__ | ( | self, | |
model, | |||
target, | |||
model_ligands = None , |
|||
target_ligands = None , |
|||
resnum_alignments = False , |
|||
rename_ligand_chain = False , |
|||
substructure_match = False , |
|||
coverage_delta = 0.2 , |
|||
max_symmetries = 1e5 , |
|||
bs_radius = 4.0 , |
|||
lddt_lp_radius = 15.0 , |
|||
model_bs_radius = 25 , |
|||
binding_sites_topn = 100000 , |
|||
full_bs_search = False |
|||
) |
Definition at line 109 of file ligand_scoring_scrmsd.py.
binding_sites_topn |
Definition at line 127 of file ligand_scoring_scrmsd.py.
bs_radius |
Definition at line 124 of file ligand_scoring_scrmsd.py.
full_bs_search |
Definition at line 128 of file ligand_scoring_scrmsd.py.
lddt_lp_radius |
Definition at line 125 of file ligand_scoring_scrmsd.py.
model_bs_radius |
Definition at line 126 of file ligand_scoring_scrmsd.py.