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) ...@@ -37,60 +37,6 @@ Local Distance Test scores (lDDT, DRMSD)
.. autoclass:: ost.mol.alg.lddt.CustomCompound .. autoclass:: ost.mol.alg.lddt.CustomCompound
:members: :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, \ .. class:: lDDTSettings(radius=15, \
sequence_separation=0, \ sequence_separation=0, \
cutoffs=(0.5, 1.0, 2.0, 4.0), \ cutoffs=(0.5, 1.0, 2.0, 4.0), \
...@@ -137,6 +83,25 @@ Local Distance Test scores (lDDT, DRMSD) ...@@ -137,6 +83,25 @@ Local Distance Test scores (lDDT, DRMSD)
:rtype: :class:`str` :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 :mod:`scoring <ost.mol.alg.scoring>` -- Specialized scoring functions
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
......
...@@ -170,9 +170,9 @@ def GetBondParam(a1, a2, stereo_data): ...@@ -170,9 +170,9 @@ def GetBondParam(a1, a2, stereo_data):
""" Returns mean and standard deviation for bond """ Returns mean and standard deviation for bond
:param a1: First atom that defines 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 :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 :param stereo_data: Stereochemistry data
:type stereo_data: :class:`dict` :type stereo_data: :class:`dict`
:returns: :class:`tuple` with mean and standard deviation. Values are None :returns: :class:`tuple` with mean and standard deviation. Values are None
...@@ -201,11 +201,11 @@ def GetAngleParam(a1, a2, a3, stereo_data): ...@@ -201,11 +201,11 @@ def GetAngleParam(a1, a2, a3, stereo_data):
""" Returns mean and standard deviation for angle """ Returns mean and standard deviation for angle
:param a1: First atom that defines 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 :param a2: Second atom that defines angle
:type a2: :class:`mol.AtomView`/:class:`mol.AtomHandle` :type a2: :class:`ost.mol.AtomView`/:class:`ost.mol.AtomHandle`
:param a3: Second atom that defines angle :param a3: Third atom that defines angle
:type a3: :class:`mol.AtomView`/:class:`mol.AtomHandle` :type a3: :class:`ost.mol.AtomView`/:class:`ost.mol.AtomHandle`
:param stereo_data: Stereochemistry data :param stereo_data: Stereochemistry data
:type stereo_data: :class:`dict` :type stereo_data: :class:`dict`
:returns: :class:`tuple` with mean and standard deviation. Values are None :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, ...@@ -244,7 +244,7 @@ def GetClashes(ent, vdw_radii = None, tolerance = 1.5, disulfid_dist = 2.03,
The default values are not very sensitive. The default values are not very sensitive.
:param ent: Entity for which you want to identify clashing atoms :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 :param vdw_radii: Element based van der Waals radii. Only atoms of these
elements will be considered. If not given, default values elements will be considered. If not given, default values
for all elements occuring in proteins/nucleotides are 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, ...@@ -259,7 +259,7 @@ def GetClashes(ent, vdw_radii = None, tolerance = 1.5, disulfid_dist = 2.03,
:param disulfid_tolerance: The respective tolerance :param disulfid_tolerance: The respective tolerance
:type disulfid_dist: :class:`float` :type disulfid_dist: :class:`float`
:returns: A :class:`list` of pairs. Each pair consists of two :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: if vdw_radii is None:
...@@ -312,14 +312,14 @@ def GetBadBonds(ent, stereo_data = None, tolerance=12): ...@@ -312,14 +312,14 @@ def GetBadBonds(ent, stereo_data = None, tolerance=12):
""" Identify unrealistic bonds """ Identify unrealistic bonds
:param ent: Entity for which you want to 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 :param stereo_data: Stereochemistry data
:type stereo_data: :class:`dict` :type stereo_data: :class:`dict`
:param tolerance: Bonds that devaiate more than *tolerance* times standard :param tolerance: Bonds that devaiate more than *tolerance* times standard
deviation from expected mean are considered bad deviation from expected mean are considered bad
:type tolerance: :class:`int` :type tolerance: :class:`int`
:returns: :class:`list` of pairs. Each pair consists of two :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) assert("bond_data" in stereo_data)
...@@ -339,14 +339,14 @@ def GetBadAngles(ent, stereo_data = None, tolerance=12): ...@@ -339,14 +339,14 @@ def GetBadAngles(ent, stereo_data = None, tolerance=12):
""" Identify unrealistic angles """ Identify unrealistic angles
:param ent: Entity for which you want to 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 :param stereo_data: Stereochemistry data
:type stereo_data: :class:`dict` :type stereo_data: :class:`dict`
:param tolerance: Angles that devaiate more than *tolerance* times standard :param tolerance: Angles that devaiate more than *tolerance* times standard
deviation from expected mean are considered bad deviation from expected mean are considered bad
:type tolerance: :class:`int` :type tolerance: :class:`int`
:returns: :class:`list` of tuples. Each tuple consists of three :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) assert("angle_data" in stereo_data)
return_list = list() return_list = list()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment