OpenStructure
Public Member Functions | Data Fields
Scorer Class Reference

Public Member Functions

def __init__ (self, model, target, resnum_alignments=False, molck_settings=None, cad_score_exec=None, custom_mapping=None, usalign_exec=None, lddt_no_stereochecks=False, n_max_naive=40320, oum=False, min_pep_length=6, min_nuc_length=4, lddt_add_mdl_contacts=False)
 
def model (self)
 
def model_orig (self)
 
def target (self)
 
def target_orig (self)
 
def aln (self)
 
def stereochecked_aln (self)
 
def pepnuc_aln (self)
 
def stereochecked_model (self)
 
def model_clashes (self)
 
def model_bad_bonds (self)
 
def model_bad_angles (self)
 
def stereochecked_target (self)
 
def target_clashes (self)
 
def target_bad_bonds (self)
 
def target_bad_angles (self)
 
def chain_mapper (self)
 
def mapping (self)
 
def rigid_mapping (self)
 
def model_interface_residues (self)
 
def target_interface_residues (self)
 
def lddt_scorer (self)
 
def bb_lddt_scorer (self)
 
def qs_scorer (self)
 
def contact_scorer (self)
 
def lddt (self)
 
def local_lddt (self)
 
def bb_lddt (self)
 
def bb_local_lddt (self)
 
def qs_global (self)
 
def qs_best (self)
 
def qs_target_interfaces (self)
 
def qs_model_interfaces (self)
 
def qs_interfaces (self)
 
def per_interface_qs_global (self)
 
def per_interface_qs_best (self)
 
def native_contacts (self)
 
def model_contacts (self)
 
def contact_target_interfaces (self)
 
def contact_model_interfaces (self)
 
def ics_precision (self)
 
def ics_recall (self)
 
def ics (self)
 
def per_interface_ics_precision (self)
 
def per_interface_ics_recall (self)
 
def per_interface_ics (self)
 
def ips_precision (self)
 
def ips_recall (self)
 
def ips (self)
 
def per_interface_ips_precision (self)
 
def per_interface_ips_recall (self)
 
def per_interface_ips (self)
 
def dockq_target_interfaces (self)
 
def dockq_interfaces (self)
 
def dockq_scores (self)
 
def fnat (self)
 
def nnat (self)
 
def nmdl (self)
 
def fnonnat (self)
 
def irmsd (self)
 
def lrmsd (self)
 
def dockq_ave (self)
 
def dockq_wave (self)
 
def dockq_ave_full (self)
 
def dockq_wave_full (self)
 
def mapped_target_pos (self)
 
def mapped_model_pos (self)
 
def transformed_mapped_model_pos (self)
 
def n_target_not_mapped (self)
 
def transform (self)
 
def rigid_mapped_target_pos (self)
 
def rigid_mapped_model_pos (self)
 
def rigid_transformed_mapped_model_pos (self)
 
def rigid_n_target_not_mapped (self)
 
def rigid_transform (self)
 
def gdt_05 (self)
 
def gdt_1 (self)
 
def gdt_2 (self)
 
def gdt_4 (self)
 
def gdt_8 (self)
 
def gdtts (self)
 
def gdtha (self)
 
def rmsd (self)
 
def cad_score (self)
 
def local_cad_score (self)
 
def patch_qs (self)
 
def patch_dockq (self)
 
def tm_score (self)
 
def usalign_mapping (self)
 

Data Fields

 resnum_alignments
 
 cad_score_exec
 
 usalign_exec
 
 lddt_no_stereochecks
 
 n_max_naive
 
 oum
 
 min_pep_length
 
 min_nuc_length
 
 lddt_add_mdl_contacts
 

Detailed Description

 Helper class to access the various scores available from ost.mol.alg

Deals with structure cleanup, chain mapping, interface identification etc.
Intermediate results are available as attributes.

:param model: Model structure - a deep copy is available as :attr:`model`.
              Additionally, :func:`ost.mol.alg.Molck` using *molck_settings*
              is applied.
:type model: :class:`ost.mol.EntityHandle`/:class:`ost.mol.EntityView`
:param target: Target structure - a deep copy is available as :attr:`target`.
              Additionally, :func:`ost.mol.alg.Molck` using *molck_settings*
              is applied.
:type target: :class:`ost.mol.EntityHandle`/:class:`ost.mol.EntityView`
:param resnum_alignments: Whether alignments between chemically equivalent
                          chains in *model* and *target* can be computed
                          based on residue numbers. This can be assumed in
                          benchmarking setups such as CAMEO/CASP.
:type resnum_alignments: :class:`bool`
:param molck_settings: Settings used for Molck on *model* and *target*, if
                       set to None, a default object is constructed by
                       setting everything except rm_zero_occ_atoms and
                       colored to True in
                       :class:`ost.mol.alg.MolckSettings` constructor.
:type molck_settings: :class:`ost.mol.alg.MolckSettings`
:param cad_score_exec: Explicit path to voronota-cadscore executable from
                       voronota installation from 
                       https://github.com/kliment-olechnovic/voronota. If
                       not given, voronota-cadscore must be in PATH if any
                       of the CAD score related attributes is requested.
:type cad_score_exec: :class:`str`
:param custom_mapping: Provide custom chain mapping between *model* and
                       *target*. Dictionary with target chain names as key
                       and model chain names as value.
:type custom_mapping: :class:`dict`
:param usalign_exec: Explicit path to USalign executable used to compute
                     TM-score. If not given, TM-score will be computed
                     with OpenStructure internal copy of USalign code.
:type usalign_exec: :class:`str`
:param lddt_no_stereochecks: Whether to compute lDDT without stereochemistry
                            checks
:type lddt_no_stereochecks: :class:`bool`
:param n_max_naive: Parameter for chain mapping. If the number of possible
                    mappings is <= *n_max_naive*, the full
                    mapping solution space is enumerated to find the
                    the optimum. A heuristic is used otherwise. The default
                    of 40320 corresponds to an octamer (8! = 40320).
                    A structure with stoichiometry A6B2 would be
                    6!*2! = 1440 etc.
:type n_max_naive: :class:`int`
:param oum: Override USalign Mapping. Inject mapping of :class:`Scorer`
            object into USalign to compute TM-score. Experimental feature
            with limitations.
:type oum: :class:`bool`
:param min_pep_length: Relevant parameter if short peptides are involved in
                       scoring. Minimum peptide length for a chain in the
                       target structure to be considered in chain mapping.
                       The chain mapping algorithm first performs an all vs.
                       all pairwise sequence alignment to identify \"equal\"
                       chains within the target structure. We go for simple
                       sequence identity there. Short sequences can be
                       problematic as they may produce high sequence identity
                       alignments by pure chance.
:type min_pep_length: :class:`int`
:param min_nuc_length: Relevant parameter if short nucleotides are involved
                       in scoring. Minimum nucleotide length for a chain in
                       the target structure to be considered in chain
                       mapping. The chain mapping algorithm first performs
                       an all vs. all pairwise sequence alignment to
                       identify \"equal\" chains within the target
                       structure. We go for simple sequence identity there.
                       Short sequences can be problematic as they may
                       produce high sequence identity alignments by pure
                       chance.
:type min_nuc_length: :class:`int`
:param lddt_add_mdl_contacts: lDDT specific flag. Only using contacts in
                              lDDT that are within a certain distance 
                              threshold in the target does not penalize
                              for added model contacts. If set to True, this
                              flag will also consider target contacts
                              that are within the specified distance
                              threshold in the model but not necessarily in
                              the target. No contact will be added if the
                              respective atom pair is not resolved in the
                              target.
:type lddt_add_mdl_contacts: :class:`bool`

Definition at line 92 of file scoring.py.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
  model,
  target,
  resnum_alignments = False,
  molck_settings = None,
  cad_score_exec = None,
  custom_mapping = None,
  usalign_exec = None,
  lddt_no_stereochecks = False,
  n_max_naive = 40320,
  oum = False,
  min_pep_length = 6,
  min_nuc_length = 4,
  lddt_add_mdl_contacts = False 
)

Definition at line 179 of file scoring.py.

Member Function Documentation

◆ aln()

def aln (   self)
 Alignments of :attr:`model`/:attr:`target` chains

Alignments for each pair of chains mapped in :attr:`mapping`.
First sequence is target sequence, second sequence the model sequence.

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

Definition at line 410 of file scoring.py.

◆ bb_lddt()

def bb_lddt (   self)
 Backbone only global lDDT score in range [0.0, 1.0]

Computed based on :attr:`~model` on backbone atoms only. This is CA for
peptides and C3' for nucleotides. No stereochecks are performed. In case
of oligomers, :attr:`~mapping` is used.

:type: :class:`float`

Definition at line 685 of file scoring.py.

◆ bb_lddt_scorer()

def bb_lddt_scorer (   self)
 Backbone only lDDT scorer for :attr:`~target`

No stereochecks applied for bb only lDDT which considers CA atoms
for peptides and C3' atoms for nucleotides.

:type: :class:`ost.mol.alg.lddt.lDDTScorer`

Definition at line 622 of file scoring.py.

◆ bb_local_lddt()

def bb_local_lddt (   self)
 Backbone only per residue lDDT scores in range [0.0, 1.0]

Computed based on :attr:`~model` on backbone atoms only. This is CA for
peptides and C3' for nucleotides. No stereochecks are performed. If a
residue is not covered by the target or is in a chain skipped by the
chain mapping procedure (happens for super short chains), the respective
score is set to None. In case of oligomers, :attr:`~mapping` is used.

:type: :class:`dict`

Definition at line 699 of file scoring.py.

◆ cad_score()

def cad_score (   self)
 The global CAD atom-atom (AA) score

Computed based on :attr:`~model`. In case of oligomers, :attr:`~mapping`
is used.

:type: :class:`float`

Definition at line 1456 of file scoring.py.

◆ chain_mapper()

def chain_mapper (   self)
 Chain mapper object for given :attr:`target`

:type: :class:`ost.mol.alg.chain_mapping.ChainMapper`

Definition at line 539 of file scoring.py.

◆ contact_model_interfaces()

def contact_model_interfaces (   self)
 Interfaces in :class:`model` which have at least one contact

Contact as defined in :attr:`~native_contacts`,
chain names are lexicographically sorted.

:type: :class:`list` of :class:`tuple` with 2 elements each
       (mdl_ch1, mdl_ch2)

Definition at line 856 of file scoring.py.

◆ contact_scorer()

def contact_scorer (   self)

Definition at line 648 of file scoring.py.

◆ contact_target_interfaces()

def contact_target_interfaces (   self)
 Interfaces in :class:`target` which have at least one contact

Contact as defined in :attr:`~native_contacts`,
chain names are lexicographically sorted.

:type: :class:`list` of :class:`tuple` with 2 elements each
       (trg_ch1, trg_ch2)

Definition at line 840 of file scoring.py.

◆ dockq_ave()

def dockq_ave (   self)
 Average of DockQ scores in :attr:`dockq_scores`

In its original implementation, DockQ only operates on single
interfaces. Thus the requirement to combine scores for higher order
oligomers.

:type: :class:`float`

Definition at line 1145 of file scoring.py.

◆ dockq_ave_full()

def dockq_ave_full (   self)
 Same as :attr:`~dockq_ave` but penalizing for missing interfaces

Interfaces that are not covered in model are added as 0.0
in average computation.

:type: :class:`float`

Definition at line 1169 of file scoring.py.

◆ dockq_interfaces()

def dockq_interfaces (   self)
 Interfaces in :attr:`dockq_target_interfaces` that can be mapped
to model

Target chain names are lexicographically sorted

:type: :class:`list` of :class:`tuple` with 4 elements each:
       (trg_ch1, trg_ch2, mdl_ch1, mdl_ch2)

Definition at line 1041 of file scoring.py.

◆ dockq_scores()

def dockq_scores (   self)
 DockQ scores for interfaces in :attr:`~dockq_interfaces` 

:class:`list` of :class:`float`

Definition at line 1061 of file scoring.py.

◆ dockq_target_interfaces()

def dockq_target_interfaces (   self)
 Interfaces in :attr:`target` that are relevant for DockQ

In principle a subset of :attr:`~contact_target_interfaces` that only
contains peptide sequences. Chain names are lexicographically sorted.

:type: :class:`list` of :class:`tuple` with 2 elements each:
       (trg_ch1, trg_ch2)

Definition at line 1023 of file scoring.py.

◆ dockq_wave()

def dockq_wave (   self)
 Same as :attr:`dockq_ave`, weighted by native contacts

:type: :class:`float`

Definition at line 1159 of file scoring.py.

◆ dockq_wave_full()

def dockq_wave_full (   self)
 Same as :attr:`~dockq_ave_full`, but weighted

Interfaces that are not covered in model are added as 0.0 in
average computations and the respective weights are derived from
number of contacts in respective target interface. 

Definition at line 1182 of file scoring.py.

◆ fnat()

def fnat (   self)
 fnat scores for interfaces in :attr:`~dockq_interfaces` 

fnat: Fraction of native contacts that are also present in model

:class:`list` of :class:`float`

Definition at line 1071 of file scoring.py.

◆ fnonnat()

def fnonnat (   self)
 fnonnat scores for interfaces in :attr:`~dockq_interfaces` 

fnat: Fraction of model contacts that are not present in target

:class:`list` of :class:`float`

Definition at line 1103 of file scoring.py.

◆ gdt_05()

def gdt_05 (   self)
 Fraction CA (C3' for nucleotides) that can be superposed within 0.5A

Uses :attr:`~rigid_mapped_model_pos` and :attr:`~rigid_mapped_target_pos`.
Similar iterative algorithm as LGA tool

:type: :class:`float` 

Definition at line 1328 of file scoring.py.

◆ gdt_1()

def gdt_1 (   self)
 Fraction CA (C3' for nucleotides) that can be superposed within 1.0A

Uses :attr:`~rigid_mapped_model_pos` and :attr:`~rigid_mapped_target_pos`.
Similar iterative algorithm as LGA tool

:type: :class:`float` 

Definition at line 1346 of file scoring.py.

◆ gdt_2()

def gdt_2 (   self)
 Fraction CA (C3' for nucleotides) that can be superposed within 2.0A

Uses :attr:`~rigid_mapped_model_pos` and :attr:`~rigid_mapped_target_pos`.
Similar iterative algorithm as LGA tool


:type: :class:`float` 

Definition at line 1364 of file scoring.py.

◆ gdt_4()

def gdt_4 (   self)
 Fraction CA (C3' for nucleotides) that can be superposed within 4.0A

Uses :attr:`~rigid_mapped_model_pos` and :attr:`~rigid_mapped_target_pos`.
Similar iterative algorithm as LGA tool

:type: :class:`float` 

Definition at line 1383 of file scoring.py.

◆ gdt_8()

def gdt_8 (   self)
 Fraction CA (C3' for nucleotides) that can be superposed within 8.0A

Similar iterative algorithm as LGA tool

:type: :class:`float` 

Definition at line 1401 of file scoring.py.

◆ gdtha()

def gdtha (   self)
 avg GDT with thresholds: 4.0A, 2.0A, 1.0A and 0.5A

:type: :class:`float`

Definition at line 1430 of file scoring.py.

◆ gdtts()

def gdtts (   self)
 avg GDT with thresholds: 8.0A, 4.0A, 2.0A and 1.0A

:type: :class:`float`

Definition at line 1419 of file scoring.py.

◆ ics()

def ics (   self)
 ICS (Interface Contact Similarity) score

Combination of :attr:`~ics_precision` and :attr:`~ics_recall`
using the F1-measure

:type: :class:`float`

Definition at line 892 of file scoring.py.

◆ ics_precision()

def ics_precision (   self)
 Fraction of model contacts that are also present in target

:type: :class:`float`

Definition at line 872 of file scoring.py.

◆ ics_recall()

def ics_recall (   self)
 Fraction of target contacts that are correctly reproduced in model

:type: :class:`float`

Definition at line 882 of file scoring.py.

◆ ips()

def ips (   self)
 IPS (Interface Patch Similarity) score

Jaccard coefficient of interface residues in target and their mapped
counterparts in model

:type: :class:`float`

Definition at line 969 of file scoring.py.

◆ ips_precision()

def ips_precision (   self)
 Fraction of model interface residues that are also interface
residues in target

:type: :class:`float`

Definition at line 947 of file scoring.py.

◆ ips_recall()

def ips_recall (   self)
 Fraction of target interface residues that are also interface
residues in model

:type: :class:`float`

Definition at line 958 of file scoring.py.

◆ irmsd()

def irmsd (   self)
 irmsd scores for interfaces in :attr:`~dockq_interfaces` 

irmsd: RMSD of interface (RMSD computed on N, CA, C, O atoms) which
consists of each residue that has at least one heavy atom within 10A of
other chain.

:class:`list` of :class:`float`

Definition at line 1115 of file scoring.py.

◆ lddt()

def lddt (   self)
 Global lDDT score in range [0.0, 1.0]

Computed based on :attr:`~stereochecked_model`. In case of oligomers,
:attr:`~mapping` is used.

:type: :class:`float`

Definition at line 655 of file scoring.py.

◆ lddt_scorer()

def lddt_scorer (   self)
 lDDT scorer for :attr:`~stereochecked_target` (default parameters)

:type: :class:`ost.mol.alg.lddt.lDDTScorer`

Definition at line 609 of file scoring.py.

◆ local_cad_score()

def local_cad_score (   self)
 The per-residue CAD atom-atom (AA) scores

Computed based on :attr:`~model`. In case of oligomers, :attr:`~mapping`
is used.

:type: :class:`dict`

Definition at line 1469 of file scoring.py.

◆ local_lddt()

def local_lddt (   self)
 Per residue lDDT scores in range [0.0, 1.0]

Computed based on :attr:`~stereochecked_model` but scores for all 
residues in :attr:`~model` are reported. If a residue has been removed
by stereochemistry checks, the respective score is set to 0.0. If a
residue is not covered by the target or is in a chain skipped by the
chain mapping procedure (happens for super short chains), the respective
score is set to None. In case of oligomers, :attr:`~mapping` is used.

:type: :class:`dict`

Definition at line 668 of file scoring.py.

◆ lrmsd()

def lrmsd (   self)
 lrmsd scores for interfaces in :attr:`~dockq_interfaces` 

lrmsd: The interfaces are superposed based on the receptor (rigid
min RMSD superposition) and RMSD for the ligand is reported.
Superposition and RMSD are based on N, CA, C and O positions,
receptor is the chain contributing to the interface with more
residues in total.

:class:`list` of :class:`float`

Definition at line 1129 of file scoring.py.

◆ mapped_model_pos()

def mapped_model_pos (   self)
 Mapped representative positions in model

Thats CA positions for peptide residues and C3' positions for
nucleotides. Has same length as :attr:`~mapped_target_pos` and mapping
is based on :attr:`~mapping`.

:type: :class:`ost.geom.Vec3List`

Definition at line 1208 of file scoring.py.

◆ mapped_target_pos()

def mapped_target_pos (   self)
 Mapped representative positions in target

Thats CA positions for peptide residues and C3' positions for
nucleotides. Has same length as :attr:`~mapped_model_pos` and mapping
is based on :attr:`~mapping`.

:type: :class:`ost.geom.Vec3List`

Definition at line 1194 of file scoring.py.

◆ mapping()

def mapping (   self)
 Full chain mapping result for :attr:`target`/:attr:`model`

Computed with :func:`ost.mol.alg.ChainMapper.GetMapping`

:type: :class:`ost.mol.alg.chain_mapping.MappingResult` 

Definition at line 553 of file scoring.py.

◆ model()

def model (   self)
 Model with Molck cleanup

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

Definition at line 378 of file scoring.py.

◆ model_bad_angles()

def model_bad_angles (   self)
 Model angles with unexpected stereochemistry

:type: :class:`list` of
       :class:`ost.mol.alg.stereochemistry.AngleViolationInfo`

Definition at line 486 of file scoring.py.

◆ model_bad_bonds()

def model_bad_bonds (   self)
 Model bonds with unexpected stereochemistry

:type: :class:`list` of
       :class:`ost.mol.alg.stereochemistry.BondViolationInfo`

Definition at line 475 of file scoring.py.

◆ model_clashes()

def model_clashes (   self)
 Clashing model atoms

:type: :class:`list` of :class:`ost.mol.alg.stereochemistry.ClashInfo`

Definition at line 465 of file scoring.py.

◆ model_contacts()

def model_contacts (   self)
 Same for model

Definition at line 832 of file scoring.py.

◆ model_interface_residues()

def model_interface_residues (   self)
 Interface residues in :attr:`~model`

Thats all residues having a contact with at least one residue from
another chain (CB-CB distance <= 8A, CA in case of Glycine)

:type: :class:`dict` with chain names as key and and :class:`list`
        with residue numbers of the respective interface residues.

Definition at line 582 of file scoring.py.

◆ model_orig()

def model_orig (   self)
 The original model passed at object construction

:type: :class:`ost.mol.EntityHandle`/:class:`ost.mol.EntityView`

Definition at line 386 of file scoring.py.

◆ n_target_not_mapped()

def n_target_not_mapped (   self)
 Number of target residues which have no mapping to model

:type: :class:`int`

Definition at line 1234 of file scoring.py.

◆ native_contacts()

def native_contacts (   self)
 Native contacts

A contact is a pair or residues from distinct chains that have
a minimal heavy atom distance < 5A. Contacts are specified as
:class:`tuple` with two strings in format:
<cname>.<rnum>.<ins_code>

:type: :class:`list` of :class:`tuple`

Definition at line 817 of file scoring.py.

◆ nmdl()

def nmdl (   self)
 N model contacts for interfaces in :attr:`~dockq_interfaces` 

:class:`list` of :class:`int`

Definition at line 1093 of file scoring.py.

◆ nnat()

def nnat (   self)
 N native contacts for interfaces in :attr:`~dockq_interfaces` 

:class:`list` of :class:`int`

Definition at line 1083 of file scoring.py.

◆ patch_dockq()

def patch_dockq (   self)
 Same as :attr:`patch_qs` but for DockQ scores

Definition at line 1514 of file scoring.py.

◆ patch_qs()

def patch_qs (   self)
 Patch QS-scores for each residue in :attr:`model_interface_residues`

Representative patches for each residue r in chain c are computed as
follows:

* mdl_patch_one: All residues in c with CB (CA for GLY) positions within
  8A of r and within 12A of residues from any other chain.
* mdl_patch_two: Closest residue x to r in any other chain gets
  identified. Patch is then constructed by selecting all residues from
  any other chain within 8A of x and within 12A from any residue in c.
* trg_patch_one: Chain name and residue number based mapping from
  mdl_patch_one
* trg_patch_two: Chain name and residue number based mapping from
  mdl_patch_two

Results are stored in the same manner as
:attr:`model_interface_residues`, with corresponding scores instead of
residue numbers. Scores for residues which are not
:class:`mol.ChemType.AMINOACIDS` are set to None. Additionally,
interface patches are derived from :attr:`model`. If they contain
residues which are not covered by :attr:`target`, the score is set to
None too.

:type: :class:`dict` with chain names as key and and :class:`list`
        with scores of the respective interface residues.

Definition at line 1482 of file scoring.py.

◆ pepnuc_aln()

def pepnuc_aln (   self)
 Alignments of :attr:`model_orig`/:attr:`target_orig` chains

Selects for peptide and nucleotide residues before sequence
extraction. Includes residues that would be removed by molck in
structure preprocessing.

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

Definition at line 435 of file scoring.py.

◆ per_interface_ics()

def per_interface_ics (   self)
 Per-interface ICS (Interface Contact Similarity) score

:attr:`~ics` for each interface in 
:attr:`~contact_target_interfaces`

:type: :class:`float`

Definition at line 932 of file scoring.py.

◆ per_interface_ics_precision()

def per_interface_ics_precision (   self)
 Per-interface ICS precision

:attr:`~ics_precision` for each interface in
:attr:`~contact_target_interfaces`

:type: :class:`list` of :class:`float`

Definition at line 905 of file scoring.py.

◆ per_interface_ics_recall()

def per_interface_ics_recall (   self)
 Per-interface ICS recall

:attr:`~ics_recall` for each interface in
:attr:`~contact_target_interfaces`

:type: :class:`list` of :class:`float`

Definition at line 919 of file scoring.py.

◆ per_interface_ips()

def per_interface_ips (   self)
 Per-interface IPS (Interface Patch Similarity) score

:attr:`~ips` for each interface in 
:attr:`~contact_target_interfaces`

:type: :class:`list` of :class:`float`

Definition at line 1009 of file scoring.py.

◆ per_interface_ips_precision()

def per_interface_ips_precision (   self)
 Per-interface IPS precision

:attr:`~ips_precision` for each interface in
:attr:`~contact_target_interfaces`

:type: :class:`list` of :class:`float`

Definition at line 982 of file scoring.py.

◆ per_interface_ips_recall()

def per_interface_ips_recall (   self)
 Per-interface IPS recall

:attr:`~ips_recall` for each interface in
:attr:`~contact_target_interfaces`

:type: :class:`list` of :class:`float`

Definition at line 996 of file scoring.py.

◆ per_interface_qs_best()

def per_interface_qs_best (   self)
 QS-score for each interface in :attr:`qs_interfaces`

Only computed on aligned residues

:type: :class:`list` of :class:`float`

Definition at line 805 of file scoring.py.

◆ per_interface_qs_global()

def per_interface_qs_global (   self)
 QS-score for each interface in :attr:`qs_interfaces`

:type: :class:`list` of :class:`float`

Definition at line 795 of file scoring.py.

◆ qs_best()

def qs_best (   self)
  Global QS-score - only computed on aligned residues

Computed based on :attr:`model` using :attr:`mapping`. The QS-score
computation only considers contacts between residues with a mapping
between target and model. As a result, the score won't be lowered in
case of additional chains/residues in any of the structures.

:type: :class:`float`

Definition at line 727 of file scoring.py.

◆ qs_global()

def qs_global (   self)
  Global QS-score

Computed based on :attr:`model` using :attr:`mapping`

:type: :class:`float`

Definition at line 715 of file scoring.py.

◆ qs_interfaces()

def qs_interfaces (   self)
 Interfaces in :attr:`~qs_target_interfaces` that can be mapped
to :attr:`~model`.

Target chain names are lexicographically sorted.

:type: :class:`list` of :class:`tuple` with 4 elements each:
       (trg_ch1, trg_ch2, mdl_ch1, mdl_ch2)

Definition at line 775 of file scoring.py.

◆ qs_model_interfaces()

def qs_model_interfaces (   self)
 Interfaces in :attr:`~model` with non-zero contribution to
:attr:`~qs_global`/:attr:`~qs_best`

Chain names are lexicographically sorted.

:type: :class:`list` of :class:`tuple` with 2 elements each:
       (mdl_ch1, mdl_ch2)

Definition at line 758 of file scoring.py.

◆ qs_scorer()

def qs_scorer (   self)
 QS scorer constructed from :attr:`~mapping`

The scorer object is constructed with default parameters and relates to
:attr:`~model` and :attr:`~target` (no stereochecks).

:type: :class:`ost.mol.alg.qsscore.QSScorer`

Definition at line 635 of file scoring.py.

◆ qs_target_interfaces()

def qs_target_interfaces (   self)
 Interfaces in :attr:`~target` with non-zero contribution to
:attr:`~qs_global`/:attr:`~qs_best`

Chain names are lexicographically sorted.

:type: :class:`list` of :class:`tuple` with 2 elements each:
       (trg_ch1, trg_ch2)

Definition at line 742 of file scoring.py.

◆ rigid_mapped_model_pos()

def rigid_mapped_model_pos (   self)
 Mapped representative positions in model

Thats CA positions for peptide residues and C3' positions for
nucleotides. Has same length as :attr:`~mapped_target_pos` and mapping
is based on :attr:`~rigid_mapping`.

:type: :class:`ost.geom.Vec3List`

Definition at line 1275 of file scoring.py.

◆ rigid_mapped_target_pos()

def rigid_mapped_target_pos (   self)
 Mapped representative positions in target

Thats CA positions for peptide residues and C3' positions for
nucleotides. Has same length as :attr:`~rigid_mapped_model_pos` and mapping
is based on :attr:`~rigid_mapping`.

:type: :class:`ost.geom.Vec3List`

Definition at line 1261 of file scoring.py.

◆ rigid_mapping()

def rigid_mapping (   self)
 Full chain mapping result for :attr:`target`/:attr:`model`

Computed with :func:`ost.mol.alg.ChainMapper.GetRMSDMapping`

:type: :class:`ost.mol.alg.chain_mapping.MappingResult` 

Definition at line 568 of file scoring.py.

◆ rigid_n_target_not_mapped()

def rigid_n_target_not_mapped (   self)
 Number of target residues which have no rigid mapping to model

:type: :class:`int`

Definition at line 1301 of file scoring.py.

◆ rigid_transform()

def rigid_transform (   self)
 Transform: :attr:`~rigid_mapped_model_pos` onto :attr:`~rigid_mapped_target_pos`

Computed using Kabsch minimal rmsd algorithm

:type: :class:`ost.geom.Mat4`

Definition at line 1311 of file scoring.py.

◆ rigid_transformed_mapped_model_pos()

def rigid_transformed_mapped_model_pos (   self)
 :attr:`~rigid_mapped_model_pos` with :attr:`~rigid_transform` applied

:type: :class:`ost.geom.Vec3List`

Definition at line 1289 of file scoring.py.

◆ rmsd()

def rmsd (   self)
 RMSD

Computed on :attr:`~rigid_transformed_mapped_model_pos` and
:attr:`rigid_mapped_target_pos`

:type: :class:`float`

Definition at line 1441 of file scoring.py.

◆ stereochecked_aln()

def stereochecked_aln (   self)
 Stereochecked equivalent of :attr:`aln`

The alignments may differ, as stereochecks potentially remove residues

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

Definition at line 423 of file scoring.py.

◆ stereochecked_model()

def stereochecked_model (   self)
 View of :attr:`~model` that has stereochemistry checks applied

First, a selection for peptide/nucleotide residues is performed,
secondly peptide sidechains with stereochemical irregularities are
removed (full residue if backbone atoms are involved). Irregularities
are clashes or bond lengths/angles more than 12 standard deviations
from expected values.

:type: :class:`ost.mol.EntityView`

Definition at line 449 of file scoring.py.

◆ stereochecked_target()

def stereochecked_target (   self)
 Same as :attr:`~stereochecked_model` for :attr:`~target`

:type: :class:`ost.mol.EntityView`

Definition at line 497 of file scoring.py.

◆ target()

def target (   self)
 Target with Molck cleanup

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

Definition at line 394 of file scoring.py.

◆ target_bad_angles()

def target_bad_angles (   self)
 Target angles with unexpected stereochemistry

:type: :class:`list` of
       :class:`ost.mol.alg.stereochemistry.AngleViolationInfo`

Definition at line 528 of file scoring.py.

◆ target_bad_bonds()

def target_bad_bonds (   self)
 Target bonds with unexpected stereochemistry

:type: :class:`list` of
       :class:`ost.mol.alg.stereochemistry.BondViolationInfo`

Definition at line 517 of file scoring.py.

◆ target_clashes()

def target_clashes (   self)
 Clashing target atoms

:type: :class:`list` of :class:`ost.mol.alg.stereochemistry.ClashInfo`

Definition at line 507 of file scoring.py.

◆ target_interface_residues()

def target_interface_residues (   self)
 Same as :attr:`~model_interface_residues` for :attr:`~target`

:type: :class:`dict` with chain names as key and and :class:`list`
        with residue numbers of the respective interface residues.

Definition at line 597 of file scoring.py.

◆ target_orig()

def target_orig (   self)
 The original target passed at object construction

:type: :class:`ost.mol.EntityHandle`/:class:`ost.mol.EntityView`

Definition at line 402 of file scoring.py.

◆ tm_score()

def tm_score (   self)
 TM-score computed with USalign

USalign executable can be specified with usalign_exec kwarg at Scorer
construction, an OpenStructure internal copy of the USalign code is
used otherwise.

:type: :class:`float`

Definition at line 1522 of file scoring.py.

◆ transform()

def transform (   self)
 Transform: :attr:`~mapped_model_pos` onto :attr:`~mapped_target_pos`

Computed using Kabsch minimal rmsd algorithm

:type: :class:`ost.geom.Mat4`

Definition at line 1244 of file scoring.py.

◆ transformed_mapped_model_pos()

def transformed_mapped_model_pos (   self)
 :attr:`~mapped_model_pos` with :attr:`~transform` applied

:type: :class:`ost.geom.Vec3List`

Definition at line 1222 of file scoring.py.

◆ usalign_mapping()

def usalign_mapping (   self)
 Mapping computed with USalign

Dictionary with target chain names as key and model chain names as
values. No guarantee that all chains are mapped. USalign executable
can be specified with usalign_exec kwarg at Scorer construction, an
OpenStructure internal copy of the USalign code is used otherwise.

:type: :class:`dict`

Definition at line 1536 of file scoring.py.

Field Documentation

◆ cad_score_exec

cad_score_exec

Definition at line 265 of file scoring.py.

◆ lddt_add_mdl_contacts

lddt_add_mdl_contacts

Definition at line 272 of file scoring.py.

◆ lddt_no_stereochecks

lddt_no_stereochecks

Definition at line 267 of file scoring.py.

◆ min_nuc_length

min_nuc_length

Definition at line 271 of file scoring.py.

◆ min_pep_length

min_pep_length

Definition at line 270 of file scoring.py.

◆ n_max_naive

n_max_naive

Definition at line 268 of file scoring.py.

◆ oum

oum

Definition at line 269 of file scoring.py.

◆ resnum_alignments

resnum_alignments

Definition at line 264 of file scoring.py.

◆ usalign_exec

usalign_exec

Definition at line 266 of file scoring.py.


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