#genomic #python #interval #machine-learning #data #python-packages #set

bin+lib gtars

性能关键工具,用于操作、分析和处理基因组区间数据。主要专注于为 geniml - 我们基因组机器学习 Python 包构建工具。

2 个版本

0.0.15 2024 年 7 月 31 日
0.0.14 2024 年 6 月 11 日

139机器学习

Download history 110/week @ 2024-06-09 6/week @ 2024-06-16 116/week @ 2024-07-28 3/week @ 2024-08-04

119 每月下载量

MIT 许可证

105KB
2K SLoC

codecov crates.io

gtars 是一个 Rust crate,提供了一套处理基因组区间数据的工具。其主要目标是为我们 Python 包提供处理器,geniml,一个用于基因组区间的机器学习库。然而,它也可以作为一个独立的库来处理基因组区间。

gtars 提供了三件事情

  1. Rust 库 crate。
  2. 一个用 Rust 编写的命令行界面。
  3. 一个提供 Rust 库绑定的 Python 包。

存储库组织(针对开发者)

此存储库组织如下

  1. 一个 Rust 库 crate(在 /gtars/lib.rs),提供用于处理基因组区间数据的函数、特性和结构。
  2. 一个 Rust 二进制 crate(在 /gtars/main.rs),为库 crate 提供一个小型包装命令行界面。
  3. 一个 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 二进制库中。这需要两个步骤

  1. 使用 clapsrc/cli.rs 中的 interfaces 模块内创建一个新的 cli
pub fn make_new_tool_cli() -> Command {

}
  1. 在包装函数中编写您的逻辑。这将位于 src/cli.rsfunctions 模块中
// 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