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科学

Download history 340/week @ 2024-07-08 108/week @ 2024-07-15 125/week @ 2024-07-22 149/week @ 2024-07-29 122/week @ 2024-08-05 125/week @ 2024-08-12

525 每月下载量

MIT 许可证

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