Biotite documentation
Biotite is your Swiss army knife for bioinformatics.
Whether you want to identify homologous sequence regions in a protein family
or you would like to find disulfide bonds in a protein structure: Biotite
has the right tool for you.
This package bundles popular tasks in computational molecular biology
into a uniform Python library.
It can handle a major part of the typical workflow
for sequence and biomolecular structure data:
Searching and fetching data from biological databases
Reading and writing popular sequence/structure file formats
Analyzing and editing sequence/structure data
Visualizing sequence/structure data
Interfacing external applications for further analysis
Biotite internally stores most of the data as NumPy ndarray objects,
enabling
fast C-accelerated analysis,
intuitive usability through NumPy-like indexing syntax,
extensibility through direct access of the internal NumPy arrays.
As a result the user can skip writing code for basic functionality (like
file parsers) and can focus on what their code makes unique - from
small analysis scripts to entire bioinformatics software packages.
If you use Biotite in a scientific publication, please cite:
[1]
P. Kunzmann, K. Hamacher, "Biotite: a unifying open source computational biology framework in Python," BMC Bioinformatics, vol. 19, pp. 346, October 2018. doi: 10.1186/s12859-018-2367-z
Sequence subpackage
This subpackage contains functionality for working with sequence information
of any kind.
The package contains by default sequence types for nucleotides and proteins,
but the alphabet-based implementation allows simple integration of own sequence
types, even if they do not rely on letters.
Besides the standard I/O operations, the package includes general purpose
functions for sequence manipulations and global/local alignments.
On top of the actual sequence data, the subpackage can also handle sequence
features, to annotate your sequences with the respective functionality.
Eventually, the data can be visualized in different Matplotlib based
representations, ranging from sequence alignments to feature maps.
Structure subpackage
This subpackage enables handling of 3D structures of biomolecules.
Simplified, a structure is represented by a list of atoms and their properties,
based on ndarray objects.
Optionally, this representation can be enriched with chemical bond information.
Biotite supports different structure formats, including the ones provided
by the RCSB and Gromacs trajectory formats.
The subpackage offers a wide range of functions for atom filtering,
coordinate transformations, angle and bond measurements,
accessible surface area calculation, structure superimposition and more.
Application subpackage
This subpackage 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 speciality is that the interfaces are seamless:
You do not have to write input files and read output files, you only have to
input Python objects and you get Python objects.
It is basically very similar to using normal Python functions.
Database subpackage
This subpackage is all about searching and downloading data from biological
databases, including the arguably most important ones: the RCSB PDB and the
NCBI Entrez database.