Rust-Bio - 生物信息学工具库


MIT
跨平台
Rust

软件简介

Rust-Bio 是一个使用 Rust 实现的生物信息学工具库。Rust-Bio 包括大量的算法和数据结构,对生物信息学非常有帮助。Rust-Bio
通过持续集成进行测试,值得信赖。

当前 Rust-Bio 提供:

  • 大部分主要模式匹配算法

  • 一个方便的字母表实现

  • 两两配对

  • 后缀数组

  • BWT 和 FM-Index

  • q-gram 索引

  • rank/select 数据结构

示例:

// Import some modules
use bio::alphabets;
use bio::data_structures::suffix_array::suffix_array;
use bio::data_structures::bwt::bwt;
use bio::data_structures::fmindex::FMIndex;
use bio::io::fastq;
// Create an FM-Index for a given text.
let alphabet = alphabets::dna::iupac_alphabet();
let pos = suffix_array(text);
let bwt = bwt(text, &pos);
let fmindex = FMIndex::new(&bwt, 3, &alphabet);
// Iterate over a FASTQ file, use the alphabet to validate read
// sequences and search for exact matches in the FM-Index.
let reader = fastq::Reader::from_file("reads.fastq");
for record in reader.records() {
    let seq = record.seq();
    if alphabet.is_word(seq) {
        let interval = fmindex.backward_search(seq.iter());
        let positions = interval.occ(&pos);
    }
}