Muscle5App
#
- class biotite.application.muscle.Muscle5App(sequences, bin_path='muscle')[source]#
Bases:
MSAApp
Perform a multiple sequence alignment using MUSCLE version 5.
- Parameters:
- sequenceslist of Sequence
The sequences to be aligned.
- bin_pathstr, optional
Path of the MUSCLE binary.
See also
Notes
Alignment ensemble generation is not supported, yet.
Examples
>>> seq1 = ProteinSequence("BIQTITE") >>> seq2 = ProteinSequence("TITANITE") >>> seq3 = ProteinSequence("BISMITE") >>> seq4 = ProteinSequence("IQLITE") >>> app = Muscle5App([seq1, seq2, seq3, seq4]) >>> app.start() >>> app.join() >>> alignment = app.get_alignment() >>> print(alignment) BI-QTITE TITANITE BI-SMITE -I-QLITE
- add_additional_options(options)#
Add additional options for the command line program. These options are put before the arguments automatically determined by the respective
LocalApp
subclass.This method is focused on advanced users, who have knowledge on the available options of the command line program and the options already used by the
LocalApp
subclasses. Ignoring the already used options may result in conflicting CLI arguments and potential unexpected results. It is recommended to use this method only, when the respectiveLocalApp
subclass does not provide a method to set the desired option.- Parameters:
- optionslist of str
A list of strings representing the command line options.
Notes
In order to see which options the command line execution used, try the
get_command()
method.Examples
>>> seq1 = ProteinSequence("BIQTITE") >>> seq2 = ProteinSequence("TITANITE") >>> seq3 = ProteinSequence("BISMITE") >>> seq4 = ProteinSequence("IQLITE") >>> # Run application without additional arguments >>> app = ClustalOmegaApp([seq1, seq2, seq3, seq4]) >>> app.start() >>> app.join() >>> print(app.get_command()) clustalo --in ...fa --out ...fa --force --output-order=tree-order --seqtype Protein --guidetree-out ...tree >>> # Run application with additional argument >>> app = ClustalOmegaApp([seq1, seq2, seq3, seq4]) >>> app.add_additional_options(["--full"]) >>> app.start() >>> app.join() >>> print(app.get_command()) clustalo --full --in ...fa --out ...fa --force --output-order=tree-order --seqtype Protein --guidetree-out ...tree
- classmethod align(sequences, bin_path='muscle')#
Perform a multiple sequence alignment.
This is a convenience function, that wraps the
Muscle5App
execution.- Parameters:
- sequencesiterable object of Sequence
The sequences to be aligned
- bin_pathstr, optional
Path of the MSA software binary. By default, the default path will be used.
- Returns:
- alignmentAlignment
The global multiple sequence alignment.
- cancel()#
Cancel the application when in RUNNING or FINISHED state.
- clean_up()#
Do clean up work after the application terminates.
PROTECTED: Optionally override when inheriting.
- get_alignment()#
Get the resulting multiple sequence alignment.
- Returns:
- alignmentAlignment
The global multiple sequence alignment.
- get_alignment_order()#
Get the order of the resulting multiple sequence alignment.
Usually the order of sequences in the output file is different from the input file, e.g. the sequences are ordered according to the guide tree. After running an MSA software, the output sequence order of the alignment rearranged so that it is the same as the input order. This method returns the order of the sequences intended by the MSA software.
- Returns:
- orderndarray, dtype=int
The sequence order intended by the MSA software.
Examples
Align sequences and restore the original order:
app = ClustalOmegaApp(sequences) app.start() app.join() alignment = app.get_alignment() order = app.get_alignment_order() alignment = alignment[:, order]
- get_app_state()#
Get the current app state.
- Returns:
- app_stateAppState
The current app state.
- get_command()#
Get the executed command.
Cannot be called until the application has been started.
- Returns:
- commandstr
The executed command.
Examples
>>> seq1 = ProteinSequence("BIQTITE") >>> seq2 = ProteinSequence("TITANITE") >>> seq3 = ProteinSequence("BISMITE") >>> seq4 = ProteinSequence("IQLITE") >>> app = ClustalOmegaApp([seq1, seq2, seq3, seq4]) >>> app.start() >>> print(app.get_command()) clustalo --in ...fa --out ...fa --force --output-order=tree-order --seqtype Protein --guidetree-out ...tree
- get_exit_code()#
Get the exit code of the process.
PROTECTED: Do not call from outside.
- Returns:
- codeint
The exit code.
- get_input_file_path()#
Get input file path (FASTA format).
PROTECTED: Do not call from outside.
- Returns:
- pathstr
Path of input file.
- get_matrix_file_path()#
Get file path for custom substitution matrix.
PROTECTED: Do not call from outside.
- Returns:
- pathstr or None
Path of substitution matrix. None if no matrix was given.
- get_output_file_path()#
Get output file path (FASTA format).
PROTECTED: Do not call from outside.
- Returns:
- pathstr
Path of output file.
- get_process()#
Get the Popen instance.
PROTECTED: Do not call from outside.
- Returns:
- processPopen
The Popen instance
- get_seqtype()#
Get the type of aligned sequences.
When a custom sequence type (neither nucleotide nor protein) is mapped onto a protein sequence, the return value is also
'protein'
.PROTECTED: Do not call from outside.
- Returns:
- seqtype{‘nucleotide’, ‘protein’}
Type of sequences to be aligned.
- get_stderr()#
Get the STDERR pipe content of the process.
PROTECTED: Do not call from outside.
- Returns:
- stdoutstr
The standard error.
- get_stdout()#
Get the STDOUT pipe content of the process.
PROTECTED: Do not call from outside.
- Returns:
- stdoutstr
The standard output.
- is_finished()#
Check if the application has finished.
PROTECTED: Override when inheriting.
- Returns:
- finishedbool
True of the application has finished, false otherwise
- join(timeout=None)#
Conclude the application run and set its state to JOINED. This can only be done from the RUNNING or FINISHED state.
If the application is FINISHED the joining process happens immediately, if otherwise the application is RUNNING, this method waits until the application is FINISHED.
- Parameters:
- timeoutfloat, optional
If this parameter is specified, the
Application
only waits for finishing until this value (in seconds) runs out. After this time is exceeded aTimeoutError
is raised and the application is cancelled.
- Raises:
- TimeoutError
If the joining process exceeds the timeout value.
- set_arguments(arguments)#
Set command line arguments for the application run.
PROTECTED: Do not call from outside.
- Parameters:
- argumentslist of str
A list of strings representing the command line options.
- set_exec_dir(exec_dir)#
Set the directory where the application should be executed. If not set, it will be executed in the working directory at the time the application was created.
PROTECTED: Do not call from outside.
- Parameters:
- exec_dirstr
The execution directory.
- set_iterations(consistency=None, refinement=None)#
Set the number of iterations for the alignment algorithm.
- Parameters:
- consistencyint, optional
The number of consistency iterations.
- refinementint, optional
The number of refinement iterations.
- set_stdin(file)#
Set a file as standard input for the application run.
PROTECTED: Do not call from outside.
- Parameters:
- filefile object
The file for the standard input. Must have a valid file descriptor, e.g. file-like objects such as StringIO are invalid.
- set_thread_number(number)#
Set the number of threads for the alignment run.
- Parameters:
- numberint, optional
The number of threads.
- start()#
Start the application run and set its state to RUNNING. This can only be done from the CREATED state.
- static supports_custom_nucleotide_matrix()#
Check whether this class supports custom substitution matrices for protein sequence alignment.
- Returns:
- supportbool
True, if the class has support, false otherwise.
- PROTECTED: Override when inheriting.
- static supports_custom_protein_matrix()#
Check whether this class supports custom substitution matrices for nucleotide sequence alignment.
- Returns:
- supportbool
True, if the class has support, false otherwise.
- PROTECTED: Override when inheriting.
- static supports_nucleotide()#
Check whether this class supports nucleotide sequences for alignment.
- Returns:
- supportbool
True, if the class has support, false otherwise.
- PROTECTED: Override when inheriting.
- static supports_protein()#
Check whether this class supports nucleotide sequences for alignment.
- Returns:
- supportbool
True, if the class has support, false otherwise.
- PROTECTED: Override when inheriting.
- use_super5()#
Use the Super5 algorithm for the alignment run.
- wait_interval()#
The time interval of
is_finished()
calls in the joining process.PROTECTED: Override when inheriting.
- Returns:
- intervalfloat
Time (in seconds) between calls of
is_finished()
injoin()