A subpackage that provides interfaces for external software in case Biotite’s integrated functionality is not sufficient for your tasks. These interfaces range from locally installed software (e.g. MSA software) to web services (e.g. BLAST). The interfaces are seamless: Writing input files and reading output files is handled internally. The user only needs to provide objects like a Sequence and will receive objects like an Alignment.

Note that in order to use an interface in biotite.application the corresponding software must be installed or the web server must be reachable, respectively. These programs are not shipped with the Biotite package.

Each application is represented by its respective Application class. Application objects are created, started and after the run has finished, the results are collected. The current state of the the execution is indicated by an AppState object, which restricts which method calls are allowed: For example, the parameters can only be set, when the Application has not been started yet and the results can only be collected after Application has finished.

The execution of an Application can run in parallel: In the time between starting the run and collecting the results can be used to run other code, similar to the Python Thread or Process classes.

Application classes


This class is a wrapper around an external piece of runnable software in any sense.


The base class for all web based applications.


The base class for all locally installed applications, that are used via the command line.


This is an abstract base class for multiple sequence alignment software.



This enum type represents the app states of an application.


Indicate that the application lifecycle was violated.


Indicates that the user guidelines of the web application would be violated, if the program continued.


Indicate that the application's timeout expired.


A decorator for methods of Application subclasses that raises an AppStateError in case the method is called, when the Application is not in the specified AppState app_state.



A subpackage for masking sequence regions using the tantan software.


A subpackage for multiple sequence alignments using Clustal-Omega.


A subpackage for heuristic local alignments against a large database using BLAST.


A subpackage for multiple sequence alignments using MUSCLE.


A subpackage for obtaining sequencing data from the NCBI sequence read archive (SRA).


A subpackage that provides interfaces to the ViennaRNA software package.


A subpackage for multiple sequence alignments using MAFFT.


A subpackage for protein secondary structure annotation using DSSP.


A subpackage for static ligand docking with Autodock.