3 个不稳定版本
0.2.1 | 2021年7月24日 |
---|---|
0.2.0 | 2021年7月18日 |
0.1.0 | 2021年7月17日 |
#654 in 压缩
18KB
348 行
bgzf_rust_reader
本库帮助使用 RUST 语言读取并提供对 BGZF(Bgzip) 格式文件的随机访问。
来源:http://www.htslib.org/doc/bgzip.html
"Bgzip 以与 gzip 类似的方式压缩文件,并与之兼容。文件被压缩成一系列小的(小于 64K)'BGZF' 块。这允许在压缩文件上建立索引,并用于检索数据的一部分,而无需解压缩整个文件。"
使用算法
解压缩时使用 'deflate' 算法,更多详细信息请参阅此链接: https://tools.ietf.org/html/rfc1951
用法
以下是使用 bgzf 读取器的步骤:第一步是使用新功能创建一个 BGZF 实例,之后可以使用读取、查找等方法对文件进行随机访问。
use bgzf_rust_reader::BgzfReader;
use std::str;
//Getting the reader instance by using new function and passing the file path
let reader = BgzfReader::new(String::from("bgzf_test.bgz")).unwrap();
//jumping to 29th position of the file starting from 0th index
reader.seek(29);
let mut test_buffer = vec![0; 20];
//reading 20 bytes to the vector test_buffer
reader.read_to(&mut test_buffer);
//the 20 bytes after 29th position in the example file is " see how it reacts. "
assert_eq!(
" see how it reacts. ",
str::from_utf8(&test_buffer).unwrap()
);
作者
Swoven Pokharel: [email protected]
依赖
~1.5MB
~17K SLoC