使用Sounio的基因组学 & 生物信息学
Sounio提供序列变换的核心算法。
序列操作
// 对单个碱基进行补码(与0b11异或)
fn complement_base(b: u8) -> u8 {
return b ^ 3
}
// 对整个序列进行补码
fn complement(seq: &[u8]) -> [u8] {
return seq.map(|b| b ^ 3)
}
// 反转补码
fn reverse_complement(seq: &[u8]) -> [u8] {
let rev = seq.reverse()
return rev.map(|b| b ^ 3)
}