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;
用法
来源: GitHub README, Cartridge 文档, 项目网站 RDKit 提供 PostgreSQL 的化学信息学 cartridge,用于分子存储、检索、指纹和描述符计算。
CREATE EXTENSION rdkit;
该 cartridge 增加了分子类型和运算符,支持子结构搜索、精确匹配、相似性搜索、指纹生成以及大量描述符函数。
核心类型
mol用于分子和查询分子值。bfp用于位向量指纹。sfp用于稀疏计数指纹。
搜索操作符
@>判断右侧分子是否为左侧分子的子结构。<@执行反向子结构判断。@=判断分子是否完全相等。#是 Dice 相似度阈值操作符。<%>支持 Tanimoto KNN 搜索。<#>支持 Dice KNN 搜索。
指纹
morgan_fp和morganbv_fp用于 Morgan 指纹。featmorgan_fp和featmorganbv_fp用于基于特征的 Morgan 指纹。rdkit_fp用于哈希化 RDKit 指纹。atompair_fp、atompairbv_fp、torsion_fp和torsionbv_fp。layered_fp和maccs_fp。
描述符示例
SELECT is_valid_smiles('c1ccccc1');
SELECT tanimoto_sml(morganbv_fp('c1ccccc1'::mol), morganbv_fp('c1ccccc1O'::mol));
SELECT mol_amw('c1ccccc1'::mol);
SELECT mol_hba('c1ccccc1O'::mol);
SELECT mol_numrings('c1ccccc1'::mol);
说明
- 文档还描述了更多分子校验辅助函数,例如
is_valid_smiles、is_valid_ctab和is_valid_smarts。 - 该 cartridge 还暴露了大量额外的描述符和指纹大小 GUC,但此 stub 仅保留最核心的用户入口。