diff --git a/modules/bindings/doc/bindings.rst b/modules/bindings/doc/bindings.rst index fc5357608c5a09becf40ba13b0ebed59fe634769..744f6059c6d736c6a2c2eaa57bdae979b9c7c286 100644 --- a/modules/bindings/doc/bindings.rst +++ b/modules/bindings/doc/bindings.rst @@ -17,3 +17,4 @@ So far, the binding module includes: blast msms tmtools + clustalw diff --git a/modules/bindings/doc/clustalw.rst b/modules/bindings/doc/clustalw.rst new file mode 100644 index 0000000000000000000000000000000000000000..a7f738d5e5e3a2fe71e48cb9a07874cc4078ded1 --- /dev/null +++ b/modules/bindings/doc/clustalw.rst @@ -0,0 +1,8 @@ +:mod:`~ost.bindings.clustalw` - Perform multiple sequence alignment +================================================================================ + +.. module:: ost.bindings.clustalw + :synopsis: Perform multiple sequence alignment + + +.. autofunction:: ost.bindings.clustalw.ClustalW diff --git a/modules/bindings/pymod/clustalw.py b/modules/bindings/pymod/clustalw.py index 2c2fd6ebac5cf580dd1a259cb087a0ada9a127c4..0204cd8ccc9a51962ccbef257676341c43b4cd7c 100644 --- a/modules/bindings/pymod/clustalw.py +++ b/modules/bindings/pymod/clustalw.py @@ -5,6 +5,46 @@ import subprocess def ClustalW(seq1, seq2=None, clustalw=None, keep_files=False, nopgap=False, clustalw_option_string=False): + ''' + Runs a clustalw multiple sequence alignment. The results are returned as a + :class:`~ost.seq.AlignmentHandle` instance. + + There are two ways to use this function: + + - align exactly two sequences: + + :param seq1: sequence_one + :type seq1: :class:`~ost.seq.SequenceHandle` or :class:`str` + + :param seq2: sequence_two + :type seq2: :class:`~ost.seq.SequenceHandle` or :class:`str` + + The two sequences can be specified as two separate function parameters + (`seq1`, `seq2`). The type of both parameters can be either + :class:`~ost.seq.SequenceHandle` or :class:`str`, but must be the same for + both parameters. + + - align two or more sequences: + + :param seq1: sequence_list + :type seq1: :class:`~ost.seq.SequenceList` + + :param seq2: must be :class:`None` + + Two or more sequences can be specified by using a + :class:`~ost.seq.SequenceList`. It is then passed as the first function + parameter (`seq1`). The second parameter (`seq2`) must be :class:`None`. + + + :param clustalw: path to clustalw executable (used in :func:`~ost.settings.Locate`) + :type clustalw: :class:`str` + :param nopgap: turn residue-specific gaps off + :type nopgap: :class:`bool` + :param clustalw_option_string: additional clustalw flags (see http://toolkit.tuebingen.mpg.de/clustalw/help_params) + :type clustalw_option_string: :class:`str` + :param keep_files: do not delete temporary files + :type keep_files: :class:`bool` + ''' clustalw_path=settings.Locate(('clustalw', 'clustalw2'), explicit_file_name=clustalw)