OpenStructure
Public Member Functions | Data Fields
SCRMSDScorer Class Reference

Inherits LigandScorer.

Public Member Functions

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)
 
- Public Member Functions inherited from LigandScorer
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)
 
def state_matrix (self)
 
def model_ligand_states (self)
 
def target_ligand_states (self)
 
def score_matrix (self)
 
def coverage_matrix (self)
 
def aux_matrix (self)
 
def assignment (self)
 
def score (self)
 
def aux (self)
 
def unassigned_target_ligands (self)
 
def unassigned_model_ligands (self)
 
def get_target_ligand_state_report (self, trg_lig_idx)
 
def get_model_ligand_state_report (self, mdl_lig_idx)
 
def guess_target_ligand_unassigned_reason (self, trg_lig_idx)
 
def guess_model_ligand_unassigned_reason (self, mdl_lig_idx)
 
def unassigned_model_ligands_reasons (self)
 
def unassigned_target_ligands_reasons (self)
 

Data Fields

 bs_radius
 
 lddt_lp_radius
 
 model_bs_radius
 
 binding_sites_topn
 
 full_bs_search
 
- Data Fields inherited from LigandScorer
 model
 
 target
 
 target_ligands
 
 model_ligands
 
 resnum_alignments
 
 rename_ligand_chain
 
 substructure_match
 
 coverage_delta
 
 max_symmetries
 
 state_decoding
 

Detailed Description

 :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.

Constructor & Destructor Documentation

◆ __init__()

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.

Field Documentation

◆ binding_sites_topn

binding_sites_topn

Definition at line 127 of file ligand_scoring_scrmsd.py.

◆ bs_radius

bs_radius

Definition at line 124 of file ligand_scoring_scrmsd.py.

◆ full_bs_search

full_bs_search

Definition at line 128 of file ligand_scoring_scrmsd.py.

◆ lddt_lp_radius

lddt_lp_radius

Definition at line 125 of file ligand_scoring_scrmsd.py.

◆ model_bs_radius

model_bs_radius

Definition at line 126 of file ligand_scoring_scrmsd.py.


The documentation for this class was generated from the following file: