5 个版本
0.2.0 | 2019 年 12 月 2 日 |
---|---|
0.1.3 | 2019 年 12 月 2 日 |
0.1.2 | 2019 年 12 月 1 日 |
0.1.1 | 2019 年 12 月 1 日 |
0.1.0 | 2019 年 11 月 26 日 |
在 解析器实现 中排名第 2051
1MB
4K SLoC
bigbed - Rust 的 BigBed crate
背景
BigBed 文件格式是流行的 BED 文件格式的二进制、随机访问版本。类似于 BED 的文件是以制表符分隔的文件,以以下方式存储基因组数据
chrom start stop
chr1 100 1000
chr1 3000 3200
chr2 200 230
有关这些文件格式的更多信息,请参阅 UCSC 基因组浏览器的相关页面。
有关 BigBed 格式的更多信息,请参阅 Kent 等人于 2010 年发表的论文,BigWig 和 BigBed:实现大型分布式数据集的浏览(doi:10.1093/bioinformatics/btq351)。
此存储库包含用于处理 BigBed 文件的 Rust crate 的代码以及 Kent 等人提供的工具 bigBedToBed
的跨平台版本,该工具将 BigBed 文件转换为 BED 文件。
要求
此项目依赖于 Rust std
crate 的 1.32 或更高版本中的函数。(您可以使用 cargo --version
检查 rustc / cargo 的版本。)如果您尚未升级到至少 1.32 版本,请运行 rustup
,如下所示
rustup update
如果您没有通过 rustup 安装 Rust(即您通过软件包管理器安装了 Rust),我建议您删除当前的安装并使用 rustup
进行安装。如果您没有 rustup
,您可以查阅 Rust 网站。
Windows 用户注意事项
Windows 用户可能会遇到如下错误
错误:找不到链接器
link.exe
如果是这种情况,请确保您已安装所有正确的构建工具。(有关更多说明,请参阅此问题:https://github.com/rust-lang/rust/issues/43039。)
入门
此 crate 有两个主要组件
- 用于操作 BigBed 文件的库
- 一个示例二进制文件(
rbb
),它复制了 UCSC 的bigBedToBed
的功能
构建库
要使用完整优化构建 bigbed
库,请运行以下命令
cargo build --release
所有库文件都将位于 target/release
。
构建示例二进制文件
要构建示例二进制文件(带完整优化),请运行以下命令
cargo build --features binary --release --bin rbb
rbb
二进制文件将在 target/release/rbb
下可用。(注意:Windows 用户可能只会发现名为 rbb.exe
的可执行文件,而不是仅仅是 rbb
。)
测试
使用内置测试用例进行测试
该软件包包含内置测试用例以确保所有函数正常运行。要运行这些测试用例,请执行以下命令
cargo test
使用提供的测试文件进行测试
此存储库包括几个相应的 BED 和 bigbed 文件。例如,文件 test/beds/long.bed
和 test/bigbeds/long.bb
包含相同的数据,但分别以 BED 和 BigBed 格式。
要手动运行测试,请执行以下命令
# build the binary and run on long.bed
cargo run --features=binary test/bigbeds/long.bb test-long.bed
# compare test output to expected output
# this should produce no output if the program works
diff -q test-long.bed test/beds/long.bed
您可以使用 test/
中提供的其他文件或您自己的文件重复此过程。
许可证
此软件包根据 GPL-3.0 许可。请参阅 LICENSE 获取详细信息。