2 个版本
0.0.15 | 2024 年 7 月 31 日 |
---|---|
0.0.14 | 2024 年 6 月 11 日 |
139 在 机器学习
119 每月下载量
105KB
2K SLoC
gtars
是一个 Rust crate,提供了一套处理基因组区间数据的工具。其主要目标是为我们 Python 包提供处理器,geniml
,一个用于基因组区间的机器学习库。然而,它也可以作为一个独立的库来处理基因组区间。
gtars
提供了三件事情
- Rust 库 crate。
- 一个用 Rust 编写的命令行界面。
- 一个提供 Rust 库绑定的 Python 包。
存储库组织(针对开发者)
此存储库组织如下
- 一个 Rust 库 crate(在
/gtars/lib.rs
),提供用于处理基因组区间数据的函数、特性和结构。 - 一个 Rust 二进制 crate(在
/gtars/main.rs
),为库 crate 提供一个小型包装命令行界面。 - 一个 Rust crate(在
/bindings
),提供 Python 绑定,并生成 Python 包,以便在 Python 中使用。
此存储库仍在开发中,目前处于早期开发阶段。
安装
要安装 gtars
,您必须安装 Rust 工具链。您可以通过以下说明进行安装:这里。
您可以使用 cargo build --release
在本地构建二进制文件。这将创建一个在 target/release/gtars
中的二进制文件。然后您可以将其添加到您的路径中,或直接运行它。
使用
gtars
目前处于开发初期,因此还没有很多功能。然而,它确实有一些有用的工具。要查看可用的工具,请运行 gtars --help
。要查看特定工具的帮助信息,请运行 gtars <工具> --help
。
另外,您可以将 gtars
链接到您的 rust 项目作为库。为此,请在您的 Cargo.toml
文件中添加以下内容
[dependencies]
gtars = { git = "https://github.com/databio/gtars" }
测试
要运行测试,请运行 cargo test
。
贡献
新内部库工具
如果您想添加新工具,可以在 src 文件夹内创建一个新的模块。
新公共库工具
如果您希望用户可以使用 gtars
,可以将它添加到 gtars
库中。为此,请在 src/lib.rs
中添加以下内容
pub mod <tool_name>;
新二进制工具
最后,如果您想拥有命令行功能,可以将它添加到 gtars
二进制库中。这需要两个步骤
- 使用
clap
在src/cli.rs
中的interfaces
模块内创建一个新的cli
pub fn make_new_tool_cli() -> Command {
}
- 在包装函数中编写您的逻辑。这将位于
src/cli.rs
的functions
模块中
// top of file:
use tool_name::{ ... }
// inside the module:
pub fn new_tool_wrapper() -> Result<(), Box<dyn Error>> {
// your logic here
}
请在添加新工具时确保更新更改日志并在 Cargo.toml
中增加版本号。
VSCode 用户
如果您正在使用 VSCode,请确保在 .vscode
文件夹内链接到 Cargo.toml
,以便 rust-analyzer
可以将它们全部链接起来
{
"rust-analyzer.linkedProjects": [
"./vocab/Cargo.toml",
"./Cargo.toml"
"./new-tool/Cargo.toml"
]
}
依赖项
~2–3MB
~55K SLoC