5个版本 (1个稳定版)
1.0.0 | 2023年9月29日 |
---|---|
0.1.3 | 2021年1月18日 |
0.1.2 | 2021年1月17日 |
0.1.1 | 2021年1月17日 |
0.1.0 | 2021年1月17日 |
#179 in 生物学
37KB
654 行
bam-builder
一个用于轻松构建bams以进行测试的库。
示例
use bam_builder::{bam_order::BamSortOrder, BamBuilder};
fn main() {
// Create a builder with all defaults except the read_len is 100
let mut builder = BamBuilder::new(
100, // default read length
30, // default base quality
"Pair".to_owned(), // name of sample
None, // optional read group id
BamSortOrder::Unsorted, // how to sort reads when `.sort` is called
None, // optional sequence dictionary
None, // optional seed used for generating random bases
);
// Create a builder for read pair spec
let records = builder
.pair_builder()
.contig(0) // reads are mapped to tid 0
.start1(0) // start pos of read1
.start2(200) // start pos of read2
.unmapped1(false) // override default of unmapped
.unmapped2(false) // override default of unmapped
.bases1("A".repeat(100)) // override default random bases with "A"s
.bases2("C".repeat(100)) // override default random bases with "C"s
.build() // inflate the underlying records and set mate info
.unwrap();
// Add the pair to bam builder
builder.add_pair(records);
// Write records to a file
let tmp_file = builder.to_tmp().unwrap();
}
归属
这个库几乎是一个直接克隆自 fgbio的SamBuilder,混入了htsjdk的一些辅助方法。
依赖项
~13–24MB
~410K SLoC