OpenStructure
Public Member Functions | Data Fields
OligoLDDTScorer Class Reference

Inherits object.

Public Member Functions

def __init__ (self, ref, mdl, alignments, calpha_only, settings, penalize_extra_chains=False, chem_mapping=None)
 
def oligo_lddt (self)
 
def weighted_lddt (self)
 
def lddt_ref (self)
 
def lddt_mdl (self)
 
def oligo_lddt_scorer (self)
 
def mapped_lddt_scorers (self)
 
def sc_lddt_scorers (self)
 
def sc_lddt (self)
 

Data Fields

 ref
 
 mdl
 
 alignments
 
 calpha_only
 
 settings
 
 penalize_extra_chains
 
 chem_mapping
 

Detailed Description

Oligo-lDDT scores.

Helper class to calculate oligomeric lDDT scores.

This class can be used independently, but commonly it will be created by
calling :func:`QSscorer.GetOligoLDDTScorer`.

.. note::

  By construction, lDDT scores are not symmetric and hence it matters which
  structure is the reference (:attr:`ref`) and which one is the model
  (:attr:`mdl`). Extra residues in the model are generally not considered.
  Extra chains in both model and reference can be considered by setting the
  :attr:`penalize_extra_chains` flag to True.

:param ref: Sets :attr:`ref`
:param mdl: Sets :attr:`mdl`
:param alignments: Sets :attr:`alignments`
:param calpha_only: Sets :attr:`calpha_only`
:param settings: Sets :attr:`settings`
:param penalize_extra_chains: Sets :attr:`penalize_extra_chains`
:param chem_mapping: Sets :attr:`chem_mapping`. Must be given if
                     *penalize_extra_chains* is True.

.. attribute:: ref
               mdl

  Full reference/model entity to be scored. The entity must contain all chains
  mapped in :attr:`alignments` and may also contain additional ones which are
  considered if :attr:`penalize_extra_chains` is True.

  :type: :class:`~ost.mol.EntityHandle`

.. attribute:: alignments

  One alignment for each mapped chain of :attr:`ref`/:attr:`mdl` as defined in
  :attr:`QSscorer.alignments`. The first sequence of each alignment belongs to
  :attr:`ref` and the second one to :attr:`mdl`. Sequences must have sequence
  naming and attached views as defined in :attr:`QSscorer.alignments`.

  :type: :class:`list` of :class:`~ost.seq.AlignmentHandle`

.. attribute:: calpha_only

  If True, restricts lDDT score to CA only.

  :type: :class:`bool`

.. attribute:: settings

  Settings to use for lDDT scoring.

  :type: :class:`~ost.mol.alg.lDDTSettings`

.. attribute:: penalize_extra_chains

  If True, extra chains in both :attr:`ref` and :attr:`mdl` will penalize the
  lDDT scores.

  :type: :class:`bool`

.. attribute:: chem_mapping

  Inter-complex mapping of chemical groups as defined in
  :attr:`QSscorer.chem_mapping`. Used to find "chem-mapped" chains in
  :attr:`ref` for unmapped chains in :attr:`mdl` when penalizing scores.
  Each unmapped model chain can add extra reference-contacts according to the
  average total contacts of each single "chem-mapped" reference chain. If
  there is no "chem-mapped" reference chain, a warning is shown and the model
  chain is ignored.


  Only relevant if :attr:`penalize_extra_chains` is True.

  :type: :class:`dict` with key = :class:`tuple` of chain names in
         :attr:`ref` and value = :class:`tuple` of chain names in
         :attr:`mdl`.

Definition at line 956 of file qsscoring.py.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
  ref,
  mdl,
  alignments,
  calpha_only,
  settings,
  penalize_extra_chains = False,
  chem_mapping = None 
)

Definition at line 1037 of file qsscoring.py.

Member Function Documentation

◆ lddt_mdl()

def lddt_mdl (   self)
The model entity used for oligomeric lDDT scoring
(:attr:`oligo_lddt` / :attr:`oligo_lddt_scorer`).

Like :attr:`lddt_ref`, this is a single chain X containing all chains of
:attr:`mdl`. The residue numbers match the ones in :attr:`lddt_ref` where
aligned and have unique numbers for additional residues.

:getter: Computed on first use (cached)
:type: :class:`~ost.mol.EntityHandle`

Definition at line 1167 of file qsscoring.py.

◆ lddt_ref()

def lddt_ref (   self)
The reference entity used for oligomeric lDDT scoring
(:attr:`oligo_lddt` / :attr:`oligo_lddt_scorer`).

Since the lDDT computation requires a single chain with mapped residue
numbering, all chains of :attr:`ref` are appended into a single chain X with
unique residue numbers according to the column-index in the alignment. The
alignments are in the same order as they appear in :attr:`alignments`.
Additional residues are appended at the end of the chain with unique residue
numbers. Unmapped chains are only added if :attr:`penalize_extra_chains` is
True. Only CA atoms are considered if :attr:`calpha_only` is True.

:getter: Computed on first use (cached)
:type: :class:`~ost.mol.EntityHandle`

Definition at line 1147 of file qsscoring.py.

◆ mapped_lddt_scorers()

def mapped_lddt_scorers (   self)
List of scorer objects for each chain mapped in :attr:`alignments`.

:getter: Computed on first use (cached)
:type: :class:`list` of :class:`MappedLDDTScorer`

Definition at line 1197 of file qsscoring.py.

◆ oligo_lddt()

def oligo_lddt (   self)
Oligomeric lDDT score.

The score is computed as conserved contacts divided by the total contacts
in the reference using the :attr:`oligo_lddt_scorer`, which uses the full
complex as reference/model structure. If :attr:`penalize_extra_chains` is
True, the reference/model complexes contain all chains (otherwise only the
mapped ones) and additional contacts are added to the reference's total
contacts for unmapped model chains according to the :attr:`chem_mapping`.

The main difference with :attr:`weighted_lddt` is that the lDDT scorer
"sees" the full complex here (incl. inter-chain contacts), while the
weighted single chain score looks at each chain separately.

:getter: Computed on first use (cached)
:type: :class:`float`

Definition at line 1077 of file qsscoring.py.

◆ oligo_lddt_scorer()

def oligo_lddt_scorer (   self)
lDDT Scorer object for :attr:`lddt_ref` and :attr:`lddt_mdl`.

:getter: Computed on first use (cached)
:type: :class:`~ost.mol.alg.lDDTScorer`

Definition at line 1183 of file qsscoring.py.

◆ sc_lddt()

def sc_lddt (   self)
List of global scores extracted from :attr:`sc_lddt_scorers`.

If scoring for a mapped chain fails, an error is displayed and a score of 0
is assigned.

:getter: Computed on first use (cached)
:type: :class:`list` of :class:`float`

Definition at line 1220 of file qsscoring.py.

◆ sc_lddt_scorers()

def sc_lddt_scorers (   self)
List of lDDT scorer objects extracted from :attr:`mapped_lddt_scorers`.

:type: :class:`list` of :class:`~ost.mol.alg.lDDTScorer`

Definition at line 1212 of file qsscoring.py.

◆ weighted_lddt()

def weighted_lddt (   self)
Weighted average of single chain lDDT scores.

The score is computed as a weighted average of single chain lDDT scores
(see :attr:`sc_lddt_scorers`) using the total contacts of each single
reference chain as weights. If :attr:`penalize_extra_chains` is True,
unmapped chains are added with a 0 score and total contacts taken from
the actual reference chains or (for unmapped model chains) using the
:attr:`chem_mapping`.

See :attr:`oligo_lddt` for a comparison of the two scores.

:getter: Computed on first use (cached)
:type: :class:`float`

Definition at line 1115 of file qsscoring.py.

Field Documentation

◆ alignments

alignments

Definition at line 1061 of file qsscoring.py.

◆ calpha_only

calpha_only

Definition at line 1062 of file qsscoring.py.

◆ chem_mapping

chem_mapping

Definition at line 1065 of file qsscoring.py.

◆ mdl

mdl

Definition at line 1060 of file qsscoring.py.

◆ penalize_extra_chains

penalize_extra_chains

Definition at line 1064 of file qsscoring.py.

◆ ref

ref

Definition at line 1059 of file qsscoring.py.

◆ settings

settings

Definition at line 1063 of file qsscoring.py.


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