26 个版本
新 0.5.2 | 2024 年 8 月 13 日 |
---|---|
0.5.1 | 2024 年 7 月 30 日 |
0.4.3 | 2024 年 5 月 19 日 |
0.4.2 | 2024 年 2 月 12 日 |
0.1.1 | 2019 年 11 月 21 日 |
220 在 解析实现
1,078 每月下载量
用于 5 个 软件包(4 个直接使用)
9.5MB
38K SLoC
Bigtools
Rust, CLI | |
Python |
Bigtools 是一个用于读取和写入 bigwig 和 bigbed 文件的库和相关工具。
项目的首要目标是
- 性能
- 可扩展性
- 现代性
性能
Bigtools 内部使用 async/await
以允许在可能的情况下进行高效的、多核计算。此外,工具针对最小内存使用进行了优化。有关更多详细信息,请参阅 基准测试。
可扩展性
Bigtools 设计得尽可能模块化。这,加上 Rust 的安全性和可靠性,使得它作为一个库既灵活又正确。此外,创建新的工具或二进制文件非常容易。提供了一些二进制文件,它们与来自 UCSC 的相关现有二进制文件并行,并且对于最常见的标志具有直接兼容性。
现代性
Bigtools 使用 Rust 编写,并发布到 crates.io
,因此可以使用 cargo install bigtools
安装二进制文件,或者只需将其包含在您的 cargo.toml
中即可作为库使用。
库
要在 Rust 项目中使用 bigtools
,请将 bigtools
添加到您的 Cargo.toml
或运行
cargo add bigtools
查看 bigtools
🦀 文档。
示例
use bigtools::bbiread::BigWigRead;
let mut reader = BigWigRead::open("test.bigWig").unwrap();
let chr1 = reader.get_interval("chr1", 0, 10000).unwrap();
for interval in chr1 {
println!("{:?}", interval);
}
二进制文件
可以通过 crates.io 或 conda 安装 bigtools
CLI 二进制文件。
cargo install bigtools
conda install -c bioconda bigtools
此外,还可以通过 GitHub 发布 下载预构建的二进制文件。
以下二进制文件可用:
二进制文件 | 描述 |
---|---|
bigtools | 提供对多个子命令的访问,包括以下所有命令: |
bedgraphtobigwig | 从给定的 bedGraph 文件写入 bigWig |
bedtobigbed | 从给定的 bed 文件写入 bigBed |
bigbedinfo | 显示提供的 bigBed 的信息 |
bigbedtobed | 从 bigBed 的数据中写入 bed |
bigwigaverageoverbed | 使用 bigWig 中的值计算 bed 文件区域的统计数据 |
bigwiginfo | 显示提供的 bigWig 的信息 |
bigwigmerge | 合并多个 bigWig,输出为新的 bigWig 或 bedGraph |
bigwigtobedgraph | 从 bigWig 中的数据写入 bedGraph |
bigwigvaluesoverbed | 使用值获取 bigWig 在 bed 文件区域的每碱基值 |
将 bigtools
二进制文件重命名为任何子命令(不区分大小写)允许您直接运行该子命令。
Python 包装器
pybigtools
包是使用 PyO3
编写的 Python 包装器。您可以通过 PyPI 或 conda 安装或使用它作为依赖项。
pip install pybigtools
conda install -c bioconda pybigtools
请参阅 pybigtools
🐍 API 文档。
如何从源代码构建
为了构建 bigtools 二进制文件,您可以运行
cargo build --release
并且二进制文件可以在 target/release/
中找到。
否则,您可以通过运行以下命令从源代码安装二进制文件:
cargo install --path bigtools/
构建 pybigtools 的 Python 轮子需要 maturin。要构建用于安装的 pybigtools 轮子(并安装),您可以运行
maturin build --release -m pybigtools/Cargo.toml
pip install target/wheels/pybigtools*.whl
或
maturin develop --release -m pybigtools/Cargo.toml
基准测试
基准测试包含在 ./bench
目录中。它们需要 python
运行。
多个工具与相应的 UCSC 工具进行了比较。为了完整性,包括单线程和多线程(如有可用)的基准测试。在不同重复中进行多个不同配置选项的基准测试,但以下表格中有总结
如何引用
此存储库包含一个包含引用信息的 CITATION.cff
文件。Github 允许您以 APA 或 BibTeX 格式获取引用;这在“关于”下的“引用此存储库”中可用。
依赖关系
~3–15MB
~176K SLoC