12个版本
0.1.11 | 2024年7月22日 |
---|---|
0.1.10 | 2023年6月15日 |
0.1.9 | 2022年10月12日 |
#298 在 生物学
176 每月下载量
在 4 crates 中使用
24KB
533 行
disambiseq
为一系列核苷酸序列创建无歧义的核苷酸错配库。
用法
我根据不同的用例多次重写了这个功能,并将其放入一个独立的crate中,因为可能对其他人也有用。
此功能用于生成一组DNA序列的无歧义单一错配库。
创建新的无歧义集
use disambiseq::Disambiseq;
let sequences = vec![
"ACT".to_string(),
"AGT".to_string()
];
let dsq = Disambiseq::from_slice(&sequences);
println!("{:#?}", dsq);
可视化集
Disambiseq {
unambiguous: {
"TCT": "ACT",
"ACA": "ACT",
"CCT": "ACT",
"ACC": "ACT",
"CGT": "AGT",
"GGT": "AGT",
"AGA": "AGT",
"GCT": "ACT",
"ACG": "ACT",
"TGT": "AGT",
"AGC": "AGT",
"AGG": "AGT",
},
parents: {
"AGT",
"ACT",
},
ambiguous: {
"ATT",
"AAT",
},
}
查询集
use disambiseq::Disambiseq;
let sequences = vec![
"ACT".to_string(),
"AGT".to_string()
];
let dsq = Disambiseq::from_slice(&sequences);
// retrieve a parental sequence
assert_eq!(dsq.get_parent("ACT"), Some(&"ACT".to_string()));
// retrieve a mutation sequence's parent
assert_eq!(dsq.get_parent("TCT"), Some(&"ACT".to_string()));
// exclude sequences with ambiguous parents
assert_eq!(dsq.get_parent("AAT"), None);
assert_eq!(dsq.get_parent("ATT"), None);
依赖项
~2MB
~25K SLoC