Crate bio [−] [src]
Rust-bio, a bioinformatics library for Rust.
This library provides implementations of many algorithms and data structures that are useful for bioinformatics. All provided implementations are rigorously tested via continuous integration. For installation instructions and a general overview, visit https://rust-bio.github.io.
Currently, rust-bio provides
- most major pattern matching algorithms,
- a convenient alphabet implementation,
- pairwise alignment,
- suffix arrays,
- BWT and FM-Index,
- FMD-Index for finding supermaximal exact matches,
- a q-gram index,
- a rank/select data structure,
- FASTQ and FASTA and BED readers and writers,
- helper functions for combinatorics and dealing with log probabilities.
Example
use bio::alphabets; use bio::data_structures::suffix_array::suffix_array; use bio::data_structures::bwt::bwt; use bio::data_structures::fmindex::FMIndex; let text = b"ACGGATGCTGGATCGGATCGCGCTAGCTA$"; let pattern = b"ACCG"; // Create an FM-Index for a given text. let alphabet = alphabets::dna::iupac_alphabet(); let pos = suffix_array(text); let fmindex = FMIndex::new(bwt(text, &pos), 3, &alphabet); let interval = fmindex.backward_search(pattern.iter()); let positions = interval.occ(&pos);
Documentation and further examples for each module can be found in the module descriptions below.
Modules
alignment |
Various alignment and distance computing algorithms. |
alphabets |
Implementation of alphabets and useful utilities. |
data_structures |
Various useful data structures. |
io |
Readers and writers for common bioinformatics file formats. |
pattern_matching |
This module contains various useful pattern matching algorithms. The implementations are based on the lecture notes "Algorithmen auf Sequenzen", Kopczynski, Marschall, Martin and Rahmann, 2008 - 2015. |
scores | |
stats |
Mathematical and statistical tools. |
utils |
Common utilities. |