6个版本
0.1.9 | 2023年7月19日 |
---|---|
0.1.8 | 2023年7月19日 |
0.1.5 | 2022年11月17日 |
0.1.4 | 2022年9月27日 |
#292 in 生物学
在 3 crate中使用
27KB
627 行
gtftools
一个用于解析和查询Ensembl-GTF格式文件的crate。
解析器达到接近 wc -l
的吞吐量。
使用方法
此功能作为迭代器使用,并接收任何实现 BufRead
的项目。
从文件
use std::{fs::File, io::BufReader};
use gtftools::GtfReader;
let handle = File::open("data/example.gtf")
.map(BufReader::new)
.unwrap();
let num_records = GtfReader::from_bufread(handle)
.filter_map(|x| x.ok())
.count();
assert_eq!(num_records, 10);
从Gzip文件
use std::{fs::File, io::BufReader};
use flate2::read::MultiGzDecoder;
use gtftools::GtfReader;
let handle = File::open("data/example.gtf.gz")
.map(MultiGzDecoder::new)
.map(BufReader::new)
.unwrap();
let num_records = GtfReader::from_bufread(handle)
.filter_map(|x| x.ok())
.count();
assert_eq!(num_records, 10);
依赖项
~1.9–2.9MB
~57K SLoC