What problem does it solve?
Scikit-bio addresses the complexities of bioinformatics by providing powerful tools for biological data analysis, from sequence manipulation to diversity metrics, making it easier to work with biological data.
Core Features & Use Cases
- Sequence Manipulation: Offers classes for DNA, RNA, and protein data, supporting various operations like sequence reading, slicing, concatenation, reverse complement, transcription, translation, and pattern searching.
- Sequence Alignment: Includes versatile aligners for global, local, and semi-global alignment, with configurable scoring and convenient wrappers for BLASTN/BLASTP-like defaults.
- Phylogenetic Trees: Facilitates tree construction, manipulation, rearrangement, and distance calculations, with Newick format I/O.
- Diversity Analysis: Provides alpha and beta diversity metrics, phylogenetic diversity metrics, rarefaction, and subsampling for microbial ecology and community analysis.
- Ordination: Supports PCoA, CA, CCA, RDA, and biplot projection for reducing high-dimensional data to lower-dimensional spaces.
- Statistical Testing: Offers PERMANOVA, ANOSIM, PERMDISP, Mantel test, Bioenv, and differential abundance tests for ecological and biological data analysis.
- File I/O and Format Conversion: Supports reading and writing 19+ biological file formats with automatic format detection.
- Distance Matrices: Allows creation and manipulation of distance/dissimilarity matrices with statistical methods.
- Biological Tables: Handles feature tables (OTU/ASV tables) common in microbiome research.
- Protein Embeddings: Works with protein language model embeddings for downstream analysis.
- Best Practices: Installation and performance considerations for efficient data processing and integration with the ecosystem.
- Common Workflows: Provides examples of common workflows, such as microbiome diversity analysis, phylogenetic analysis, sequence processing, and comparative genomics.
Quick Start
To use scikit-bio for sequence alignment, execute the following command: pair_align_nucl(DNA('ATCGATCG'), DNA('ATCGGGGATCG')).