Skip to content
Snippets Groups Projects
Commit 2c4587ea authored by Studer Gabriel's avatar Studer Gabriel
Browse files

stereochemistry documentation

parent 01bf820c
No related branches found
No related tags found
No related merge requests found
......@@ -37,60 +37,6 @@ Local Distance Test scores (lDDT, DRMSD)
.. autoclass:: ost.mol.alg.lddt.CustomCompound
:members:
.. function:: CheckStructure(ent, \
bond_table, \
angle_table, \
nonbonded_table, \
bond_tolerance, \
angle_tolerance)
Perform structural checks and filters the structure.
:param ent: Structure to check
:type ent: :class:`~ost.mol.EntityView`
:param bond_table: List of bond stereo chemical parameters obtained from
:class:`~ost.io.StereoChemicalParamsReader` or :func:`FillStereoChemicalParams`
:type bond_table: :class:`~ost.mol.alg.StereoChemicalParams`
:param angle_table: List of angle stereo chemical parameters obtained from
:class:`~ost.io.StereoChemicalParamsReader` or :func:`FillStereoChemicalParams`
:type angle_table: :class:`~ost.mol.alg.StereoChemicalParams`
:param nonbonded_table: Information about the clashing distances obtained from
:class:`~ost.io.StereoChemicalParamsReader` or :func:`FillClashingDistances`
:type nonbonded_table: :class:`~ost.mol.alg.ClashingDistances`
:param bond_tolerance: Tolerance in stddev for bonds
:type bond_tolerance: :class:`float`
:param angle_tolerance: Tolerance in stddev for angles
:type angle_tolerance: :class:`float`
.. class:: StereoChemicalProps(bond_table, angle_table, nonbonded_table)
Object containing the stereo-chemical properties read form stereochmical_props.txt
file.
:param bond_table: Sets :attr:`bond_table`
:param angle_table: Sets :attr:`angle_table`
:param nonbonded_table: Sets :attr:`nonbonded_table`
.. attribute:: bond_table
Object containing bond parameters
:type: :class:`~ost.mol.alg.StereoChemicalParams`
.. attribute:: angle_table
Object containing angle parameters
:type: :class:`~ost.mol.alg.StereoChemicalParams`
.. attribute:: nonbonded_table
Object containing clashing distances parameters
:type: :class:`~ost.mol.alg.ClashingDistances`
.. class:: lDDTSettings(radius=15, \
sequence_separation=0, \
cutoffs=(0.5, 1.0, 2.0, 4.0), \
......@@ -137,6 +83,25 @@ Local Distance Test scores (lDDT, DRMSD)
:rtype: :class:`str`
:mod:`stereochemistry <ost.mol.alg.stereochemistry>` -- Stereochemistry Checks
--------------------------------------------------------------------------------
.. warning::
Stereochemistry checks described in
`Mariani et al. <https://dx.doi.org/10.1093/bioinformatics/btt473>`_ are
considered deprecated. They have been re-implemented and now support
nucleotides. The old code is still available and documented
:doc:`here <stereochemistry_deprecated>`.
.. automodule:: ost.mol.alg.stereochemistry
:members:
:member-order: bysource
:synopsis: Stereochemistry checks
.. currentmodule:: ost.mol.alg
:mod:`scoring <ost.mol.alg.scoring>` -- Specialized scoring functions
--------------------------------------------------------------------------------
......
......@@ -170,9 +170,9 @@ def GetBondParam(a1, a2, stereo_data):
""" Returns mean and standard deviation for bond
:param a1: First atom that defines bond
:type a1: :class:`mol.AtomView`/:class:`mol.AtomHandle`
:type a1: :class:`ost.mol.AtomView`/:class:`ost.mol.AtomHandle`
:param a2: Second atom that defines bond
:type a2: :class:`mol.AtomView`/:class:`mol.AtomHandle`
:type a2: :class:`ost.mol.AtomView`/:class:`ost.mol.AtomHandle`
:param stereo_data: Stereochemistry data
:type stereo_data: :class:`dict`
:returns: :class:`tuple` with mean and standard deviation. Values are None
......@@ -201,11 +201,11 @@ def GetAngleParam(a1, a2, a3, stereo_data):
""" Returns mean and standard deviation for angle
:param a1: First atom that defines angle
:type a1: :class:`mol.AtomView`/:class:`mol.AtomHandle`
:type a1: :class:`ost.mol.AtomView`/:class:`ost.mol.AtomHandle`
:param a2: Second atom that defines angle
:type a2: :class:`mol.AtomView`/:class:`mol.AtomHandle`
:param a3: Second atom that defines angle
:type a3: :class:`mol.AtomView`/:class:`mol.AtomHandle`
:type a2: :class:`ost.mol.AtomView`/:class:`ost.mol.AtomHandle`
:param a3: Third atom that defines angle
:type a3: :class:`ost.mol.AtomView`/:class:`ost.mol.AtomHandle`
:param stereo_data: Stereochemistry data
:type stereo_data: :class:`dict`
:returns: :class:`tuple` with mean and standard deviation. Values are None
......@@ -244,7 +244,7 @@ def GetClashes(ent, vdw_radii = None, tolerance = 1.5, disulfid_dist = 2.03,
The default values are not very sensitive.
:param ent: Entity for which you want to identify clashing atoms
:type ent: :class:`EntityHandle`/:class:`EntityView`
:type ent: :class:`ost.mol.EntityHandle`/:class:`ost.mol.EntityView`
:param vdw_radii: Element based van der Waals radii. Only atoms of these
elements will be considered. If not given, default values
for all elements occuring in proteins/nucleotides are
......@@ -259,7 +259,7 @@ def GetClashes(ent, vdw_radii = None, tolerance = 1.5, disulfid_dist = 2.03,
:param disulfid_tolerance: The respective tolerance
:type disulfid_dist: :class:`float`
:returns: A :class:`list` of pairs. Each pair consists of two
:class:`mol.AtomView` from *ent* that are clashing.
:class:`ost.mol.AtomView` from *ent* that are clashing.
"""
if vdw_radii is None:
......@@ -312,14 +312,14 @@ def GetBadBonds(ent, stereo_data = None, tolerance=12):
""" Identify unrealistic bonds
:param ent: Entity for which you want to identify unrealistic bonds
:type ent: :class:`mol.EntityHandle`/:class:`mol.EntityView`
:type ent: :class:`ost.mol.EntityHandle`/:class:`ost.mol.EntityView`
:param stereo_data: Stereochemistry data
:type stereo_data: :class:`dict`
:param tolerance: Bonds that devaiate more than *tolerance* times standard
deviation from expected mean are considered bad
:type tolerance: :class:`int`
:returns: :class:`list` of pairs. Each pair consists of two
:class:`mol.AtomHandle` from *ent* that represent bad bonds.
:class:`ost.mol.AtomHandle` from *ent* that represent bad bonds.
"""
assert("bond_data" in stereo_data)
......@@ -339,14 +339,14 @@ def GetBadAngles(ent, stereo_data = None, tolerance=12):
""" Identify unrealistic angles
:param ent: Entity for which you want to identify unrealistic angles
:type ent: :class:`mol.EntityHandle`/:class:`mol.EntityView`
:type ent: :class:`ost.mol.EntityHandle`/:class:`ost.mol.EntityView`
:param stereo_data: Stereochemistry data
:type stereo_data: :class:`dict`
:param tolerance: Angles that devaiate more than *tolerance* times standard
deviation from expected mean are considered bad
:type tolerance: :class:`int`
:returns: :class:`list` of tuples. Each tuple consists of three
:class:`mol.AtomHandle` from *ent* that represent bad angles.
:class:`ost.mol.AtomHandle` from *ent* that represent bad angles.
"""
assert("angle_data" in stereo_data)
return_list = list()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment