diff --git a/actions/ost-compare-structures b/actions/ost-compare-structures index 829d32eb7bd1bb74204f85c716cfa6872bca42c3..0da8fe4a2c491f49301cd64888dad01412516d0c 100644 --- a/actions/ost-compare-structures +++ b/actions/ost-compare-structures @@ -240,7 +240,7 @@ def _ParseArgs(): default=False, action="store_true", help=("Make alignment based on residue number instead of using\n" - "Clustal.")) + "a global BLOSUM62-based alignment.")) # # lDDT options # diff --git a/modules/mol/alg/doc/lddt.rst b/modules/mol/alg/doc/lddt.rst index 48a9493c9fe8e8e3b1d1799da5149c784657ce74..3201243bdaa59551cc73e543e16100c161bfb5f4 100644 --- a/modules/mol/alg/doc/lddt.rst +++ b/modules/mol/alg/doc/lddt.rst @@ -136,15 +136,13 @@ for bonds and angles respectively. For steric clashes, the lddt executable recovers atomic radii and clashing tolerance distances from the parameter file, depending on the atomic element under -investigation. When an atomic element cannot be determined, the lddt executable -uses a default atomic radius of 1.5 Angstrom. This value can be overriden using -the -m value, passing a new radius (in Ansgstroms) to the program. +investigation. For example: .. code-block:: bash - lddt -f -p stereo_chemical_params.txt -b 8 -a 8 -m 1.0 mdl1.pdb ref.pdb + lddt -f -p stereo_chemical_params.txt -b 8 -a 8 mdl1.pdb ref.pdb ----------------------------- @@ -227,8 +225,8 @@ One can replicate the binary using simple python script: # Prepare residue map from references rdmap = PreparelDDTGlobalRDMap(references, cutoffs=cutoffs, - sequence_separation=0, - radius=15) + sequence_separation=settings.sequence_separation, + radius=settings.radius) # # This part is optional and it depends on our settings parameter if structural_checks: diff --git a/modules/mol/alg/doc/molalg.rst b/modules/mol/alg/doc/molalg.rst index 7a66937a12af17ad74b8859310849b2aee468aa4..81f3e77643c0eae354f789288741fd2d43de2b94 100644 --- a/modules/mol/alg/doc/molalg.rst +++ b/modules/mol/alg/doc/molalg.rst @@ -359,9 +359,9 @@ Local Distance Test scores (lDDT, DRMSD) :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: float + :type bond_tolerance: :class:`float` :param angle_tolerance: Tolerance in stddev for angles - :type angle_tolerance: float + :type angle_tolerance: :class:`float` .. function:: GetlDDTPerResidueStats(model, distance_list, structural_checks, label) @@ -372,8 +372,11 @@ Local Distance Test scores (lDDT, DRMSD) :type model: :class:`~ost.mol.EntityHandle` :param distance_list: The list of distances to check for conservation :type distance_list: :class:`~ost.mol.alg.GlobalRDMap` - :param structural_checks: Where structural checks performed on the model? - :type structural_checks: bool + :param structural_checks: Were structural checks performed on the model? + :type structural_checks: :class:`bool` + :param label: Label used for ResidueHandle properties that store the local + scores. + :type label: :class:`str` :returns: Per-residue local lDDT scores :rtype: :class:`list` of :class:`~ost.mol.alg.lDDTLocalScore` @@ -385,9 +388,9 @@ Local Distance Test scores (lDDT, DRMSD) :param scores: Local lDDT scores :type scores: :class:`list` of :class:`~ost.mol.alg.lDDTLocalScore` :param structural_checks: Where structural checks performed on the model? - :type structural_checks: bool + :type structural_checks: :class:`bool` :param cutoffs_length: Length of the cutoffs list used to calculate lDDT - :type cutoffs_length: int + :type cutoffs_length: :class:`int` .. class:: lDDTLocalScore(cname, rname, rnum, is_assessed, quality_problems, \ @@ -1658,8 +1661,10 @@ to standard amino acids. :type src_res: :class:`~ost.mol.ResidueHandle` :param dst_res: The destination residue :type dst_res: :class:`~ost.mol.ResidueHandle` + :param editor: Editor used to modify *dst_res*. + :type editor: :class:`~ost.mol.XCSEditor` - :returns: true if the residue could be copied, false if not. + :returns: True if the residue could be copied, False if not. .. function:: CopyConserved(src_res, dst_res, editor) @@ -1679,8 +1684,10 @@ to standard amino acids. :type src_res: :class:`~ost.mol.ResidueHandle` :param dst_res: The destination residue :type dst_res: :class:`~ost.mol.ResidueHandle` + :param editor: Editor used to modify *dst_res*. + :type editor: :class:`~ost.mol.XCSEditor` - :returns: a tuple of bools stating whether the residue could be copied and + :returns: A tuple of bools stating whether the residue could be copied and whether the Cbeta atom was inserted into the ``dst_res``. .. function:: CopyNonConserved(src_res, dst_res, editor) @@ -1692,8 +1699,10 @@ to standard amino acids. :type src_res: :class:`~ost.mol.ResidueHandle` :param dst_res: The destination residue :type dst_res: :class:`~ost.mol.ResidueHandle` + :param editor: Editor used to modify *dst_res*. + :type editor: :class:`~ost.mol.XCSEditor` - :returns: a tuple of bools stating whether the residue could be copied and + :returns: A tuple of bools stating whether the residue could be copied and whether the Cbeta atom was inserted into the ``dst_res``. diff --git a/modules/mol/alg/doc/molck.rst b/modules/mol/alg/doc/molck.rst index 5936b0584c5b1c3fb8697bb8151859a0a28b017d..1dfaf6addeb0eca91744505ad34d9efb4a0eb6a2 100644 --- a/modules/mol/alg/doc/molck.rst +++ b/modules/mol/alg/doc/molck.rst @@ -18,7 +18,7 @@ To check one PDB file (struc1.pdb) with Molck, use the following command: molck --complib <PATH TO COMPOUND LIB> struc1.pdb -The checked and cleaned file will be saved by default ad struc1-molck.pdb. +The checked and cleaned file will be saved by default ad struc1-molcked.pdb. Similarly it is possible to check a list of PDB files: diff --git a/modules/mol/alg/pymod/qsscoring.py b/modules/mol/alg/pymod/qsscoring.py index b980c48b23706e7bcb5523bc3a8728e1dfd198a2..e58436de55aae1291d55804051c28c0b0576dce1 100644 --- a/modules/mol/alg/pymod/qsscoring.py +++ b/modules/mol/alg/pymod/qsscoring.py @@ -112,6 +112,7 @@ class QSscorer: :param ent_2: Second structure to be scored. :type ent_2: :class:`QSscoreEntity`, :class:`~ost.mol.EntityHandle` or :class:`~ost.mol.EntityView` + :param res_num_alignment: Sets :attr:`res_num_alignment` :raises: :class:`QSscoreError` if input structures are invalid or are monomers or have issues that make it impossible for a QS score to be computed. @@ -141,6 +142,13 @@ class QSscorer: of symmetries and chain mappings. By default it is set to 100. :type: :class:`int` + + .. attribute:: res_num_alignment + + Forces each alignment in :attr:`alignments` to be based on residue numbers + instead of using a global BLOSUM62-based alignment. + + :type: :class:`bool` """ def __init__(self, ent_1, ent_2, res_num_alignment=False): # generate QSscoreEntity objects? @@ -374,6 +382,11 @@ class QSscorer: mapped chain names and have views attached into :attr:`QSscoreEntity.ent` of :attr:`qs_ent_1` and :attr:`qs_ent_2`. + If :attr:`res_num_alignment` is False, each alignment is performed using a + global BLOSUM62-based alignment. Otherwise, the positions in the alignment + sequences are simply given by the residue number so that residues with + matching numbers are aligned. + :getter: Computed on first use (cached) :type: :class:`list` of :class:`~ost.seq.AlignmentHandle` """ @@ -1386,7 +1399,7 @@ def _AlignAtomSeqs(seq_1, seq_2): """ :type seq_1: :class:`ost.seq.SequenceHandle` :type seq_2: :class:`ost.seq.SequenceHandle` - :return: Alignment of two sequences using a global aignment. Views attached + :return: Alignment of two sequences using a global alignment. Views attached to the input sequences will remain attached in the aln. :rtype: :class:`~ost.seq.AlignmentHandle` or None if it failed. """ @@ -2588,7 +2601,7 @@ def _AreValidSymmetries(symm_1, symm_2): return False return True -def _GetMappedAlignments(ent_1, ent_2, chain_mapping, res_num_alignment=True): +def _GetMappedAlignments(ent_1, ent_2, chain_mapping, res_num_alignment): """ :return: Alignments of 2 structures given chain mapping (see :attr:`QSscorer.alignments`). @@ -2597,6 +2610,7 @@ def _GetMappedAlignments(ent_1, ent_2, chain_mapping, res_num_alignment=True): :param ent_2: Entity containing all chains in *chain_mapping.values()*. Views to this entity attached to second sequence of each aln. :param chain_mapping: See :attr:`QSscorer.chain_mapping` + :param res_num_alignment: See :attr:`QSscorer.res_num_alignment` """ alns = list() for ch_1_name in sorted(chain_mapping):