rdkit
在PostgreSQL化学领域数据管理功能
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
rdkit | 202503.6 | FEAT | BSD 3-Clause | C++ |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 2930 | rdkit | 否 | 是 | 否 | 是 | 否 | 是 | - |
| 相关扩展 | age hll rum pg_graphql pg_jsonschema jsquery pg_hint_plan hypopg |
|---|
d13/u24/el10 rdkit build by pigsty, u24/el10 deps on inchi
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | MIXED | 202503.6 | 1817161514 | rdkit | - |
| RPM | PIGSTY | 202503.6 | 1817161514 | rdkit_$v | - |
| DEB | PGDG | 202503.6 | 1817161514 | postgresql-$v-rdkit | - |
构建
您可以使用 pig build 命令构建 rdkit 扩展的 RPM / DEB 包:
pig build pkg rdkit # 构建 RPM / DEB 包
安装
您可以直接安装 rdkit 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
pig repo add pgsql -u # 添加仓库并更新缓存
使用 pig 或者是 apt/yum/dnf 安装扩展:
pig install rdkit; # 当前活跃 PG 版本安装
pig ext install -y rdkit -v 18 # PG 18
pig ext install -y rdkit -v 17 # PG 17
pig ext install -y rdkit -v 16 # PG 16
pig ext install -y rdkit -v 15 # PG 15
pig ext install -y rdkit -v 14 # PG 14
dnf install -y rdkit_18 # PG 18
dnf install -y rdkit_17 # PG 17
dnf install -y rdkit_16 # PG 16
dnf install -y rdkit_15 # PG 15
dnf install -y rdkit_14 # PG 14
apt install -y postgresql-18-rdkit # PG 18
apt install -y postgresql-17-rdkit # PG 17
apt install -y postgresql-16-rdkit # PG 16
apt install -y postgresql-15-rdkit # PG 15
apt install -y postgresql-14-rdkit # PG 14
创建扩展:
CREATE EXTENSION rdkit;
用法
RDKit 自带 PostgreSQL cartridge,用于化学信息学场景下的分子存储、检索、指纹和描述符计算。cartridge docs 仍然是主要的上游用法参考;2025.03.6 release note 没有提到 cartridge 相关的用户侧变化。
创建扩展
CREATE EXTENSION rdkit;
该 cartridge 会增加 mol、bfp 和 sfp 等化学类型。
核心搜索操作符
cartridge 文档覆盖了以下内容:
@>和<@:用于子结构匹配。@=:用于分子精确相等判断。%、<%>和<#>这一类指纹相似度与 KNN 操作符:用于相似性搜索。
这些操作通常会和建在指纹列上的 GiST 索引一起使用。
指纹与相似度
文档中常见的 SQL 指纹函数包括 morgan_fp、morganbv_fp、featmorgan_fp、rdkit_fp、atompair_fp、torsion_fp、layered_fp 和 maccs_fp。
cartridge docs 中的示例:
SELECT tanimoto_sml(
morganbv_fp('c1ccccc1'::mol),
morganbv_fp('c1ccccc1O'::mol)
);
描述符与校验
cartridge docs 还公开了校验与描述符辅助函数,例如:
is_valid_smiles()is_valid_ctab()is_valid_smarts()mol_amw()mol_hba()mol_numrings()
这些函数构成了 SQL 层面对分子结构做分析时最主要的用户接口。