23 个版本
0.1.27 | 2024 年 8 月 12 日 |
---|---|
0.1.24 | 2024 年 7 月 22 日 |
0.1.18 | 2024 年 2 月 28 日 |
0.1.13 | 2023 年 11 月 2 日 |
0.1.0 | 2022 年 12 月 16 日 |
#78 在 科学
525 每月下载量
175KB
3K SLoC
Cheminée
化学搜索栈。索引化学结构并包含任意额外的属性。搜索速度快,调用者不需要 RDKit。
- RDKit 提供 smarts
- Rust 提供类型安全和相对易用性
有关绑定如何工作的更多信息,请参阅 rdkit-sys。
在 Rust Stabe 1.76 上测试(rustup default 1.76
)
预期功能
Cheminée 预计将通过 CLI(例如,用于诊断)和 API 端点工作。"子结构搜索"是第一个预期功能,但 Cheminée 最终将支持"超结构搜索"、"相似性搜索"和精确匹配。除了结构搜索外,API 还支持批量标准化 SMILES 以及通过 Tantivy 索引。用户还可以通过 RDKit 化学描述符(例如:"exactmw"、"NumAtoms" 等)搜索化合物。
API
要启动 API 服务器,您可以运行以下命令
cargo run --color=always --release --package cheminee --bin cheminee -- rest-api-server
测试 API 的最简单方法是浏览到 localhost:4001 并测试不同端点的功能。
此存储库还设置为在发布新版本时自动更新 Ruby gem。该 gem 是" cheminee-ruby"。这个 gem 对于在 Ruby 友好的程序环境中与 API 交互特别有帮助。
有关 gem 的工作方式的更多信息,请参阅 cheminee-ruby。
CLI
假设化合物已存在于索引路径中,您可以通过以下方式搜索
基本搜索
例如
cargo run -- search -i "/tmp/cheminee/scaffolds-index0" -q "exactmw: [10 TO 10000] AND NumAtoms: [8 TO 100]" -l 10
在此,"i" 指索引路径,"q" 指化学描述符值的组合查询,"l" 指期望的结果数。
子结构搜索
例如
cargo run -- substructure-search -i /tmp/cheminee/scaffolds-index0 -s CCC -r 10 -t 10 -e "exactmw: [20 TO 200]"
类似于基本搜索,"i" 指索引路径,"s" 指查询 SMILES,"r" 指期望的结果数,"t" 指用于查询 SMILES 的 tautomers 数(如果适用),"e" 指额外的查询,它是与基本搜索实现中相同的化学描述符的组合查询。
发布新版本
cargo release patch --tag-prefix='' --execute
依赖关系
~49–65MB
~1M 估算 SLoC