diff --git a/modules/mol/alg/doc/molalg.rst b/modules/mol/alg/doc/molalg.rst index 4eb0d9ea963021227b0583fabf152eac649edf2b..759903efc6b9d089086d8c2f3ecc200f9daac22c 100644 --- a/modules/mol/alg/doc/molalg.rst +++ b/modules/mol/alg/doc/molalg.rst @@ -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 -------------------------------------------------------------------------------- diff --git a/modules/mol/alg/pymod/stereochemistry.py b/modules/mol/alg/pymod/stereochemistry.py index 39713accdfdb3cdb35c483eaa1b79e81306bb48e..e3f43691f19f224b524664af863e886165936952 100644 --- a/modules/mol/alg/pymod/stereochemistry.py +++ b/modules/mol/alg/pymod/stereochemistry.py @@ -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()