Pharmaclaw Chemistry Query

Polar Sponsor
爱发电 赞助
.NET 9.0

用于PubChem API查询(化合物信息/属性、结构/SMILES/图像、合成路线/参考文献)及RDKit化学信息学处理的化学智能体技能。

化学 查询剂 v1.4.1.

功能概述

化学 查询剂 v1.4.1.是一项面向实际任务的技能,主要用于Overview.Full-stack 化学工具包 将 PubChem 数据检索与 RDKit 分子处理,可视化,分析,复古合成,合成计划结合。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Chemistry Query Agent v1.4.1

概述

全栈化学工具包,整合 PubChem 数据检索与 RDKit 分子处理、可视化、分析、逆合成分析及合成路线规划能力。所有输出均为结构化 JSON 格式,便于下游任务链式调用。支持按需生成 PNG/SVG 图像。

核心能力:

  • PubChem 化合物查询(基本信息、结构、合成参考文献、相似性搜索)
  • RDKit 分子性质计算(分子量 MW、logP、极性表面积 TPSA、氢键供体/受体数 HBD/HBA、可旋转键数、芳香环数)
  • 2D 分子结构可视化(PNG/SVG 格式)
  • 基于 BRICS 的递归逆合成分析(支持深度控制)
  • 多步合成路线规划
  • 基于 SMARTS 模板的正向反应模拟
  • Morgan 指纹生成及相似性/子结构搜索
  • 21 种命名反应模板(Suzuki、Heck、Grignard、Wittig、Diels-Alder 等)

快速上手

# PubChem 化合物信息查询
exec python scripts/query_pubchem.py --compound "aspirin" --type info

# 从 SMILES 计算分子性质
exec python scripts/rdkit_mol.py --smiles "CC(=O)Oc1ccccc1C(=O)O" --action props

# 逆合成分析
exec python scripts/rdkit_mol.py --target "CC(=O)Oc1ccccc1C(=O)O" --action retro --depth 2

# 完整链式调用(名称 → 性质 + 绘图 + 逆合成)
exec python scripts/chain_entry.py --input-json '{"name": "caffeine", "context": "user"}'

脚本说明

scripts/query_pubchem.py

调用 PubChem REST API,支持自动将化合物名解析为 CID,并内置超时处理机制。

--compound  --type  [--format smiles|inchi|image|json] [--threshold 80]
  • info:返回分子式、分子量、IUPAC 名称、InChIKey(JSON 格式)
  • structure:返回 SMILES、InChI、图像 URL 或完整 JSON
  • synthesis:返回化合物的同义词及合成相关参考文献
  • similar:基于 2D 指纹匹配的相似化合物(返回 Top 20)

scripts/rdkit_mol.py

基于 RDKit 的化学信息学引擎,自动通过 PubChem 解析化合物名称。

--smiles  --action 
操作 说明 关键参数
props 计算 MW、logP、TPSA、HBD、HBA、rotB、aromRings --smiles
draw 生成 2D PNG/SVG 图像(300×300 像素) --smiles --output file.png --format png|svg
retro 基于 BRICS 的递归逆合成分析 --target --depth N
plan 多步逆合成路线规划 --target --steps N
react 基于 SMARTS 的正向反应模拟 --reactants "smi1 smi2" --smarts ""
fingerprint 生成 Morgan 指纹位向量 --smiles --radius 2
similarity 计算 Tanimoto 相似性得分 --query_smiles --target_smiles "smi1,smi2"
substruct 子结构匹配 --query_smiles --target_smiles "smi1,smi2"
xyz 生成 3D 坐标(经 MMFF 优化) --smiles

scripts/chain_entry.py

标准 Agent 链式接口,接受 {"smiles": "...", "context": "..."} 或 {"name": "...", "context": "..."} 输入,统一返回包含分子性质、可视化图像及逆合成结果的 JSON 对象。

python scripts/chain_entry.py --input-json '{"name": "sotorasib", "context": "user"}'

输出 Schema:

{
  "agent": "chemistry-query",
  "version": "1.4.0",
  "smiles": "",
  "status": "success|error",
  "report": {"props": {...}, "draw": {...}, "retro": {...}},
  "risks": [],
  "viz": ["path/to/image.png"],
  "recommend_next": ["pharmacology", "toxicology"],
  "confidence": 0.95,
  "warnings": [],
  "timestamp": "ISO8601"
}

scripts/templates.json

包含 21 种命名反应模板的 JSON 文件,每个模板均含 SMARTS 表达式、预期收率、反应条件及参考文献。涵盖 Suzuki、Heck、Buchwald-Hartwig、Grignard、Wittig、Diels-Alder、Click、Sonogashira、Negishi 等反应。

链式调用示例

  1. 名称 → 完整分子档案:使用 chain_entry.py 输入 {"name": "ibuprofen"},获取分子性质、结构图与逆合成路径
  2. 化学 → 药理学:输出可直接作为 pharma-pharmacology-agent 的输入
  3. 逆合成 + 可视化:获取前体分子后,逐一绘制其 2D 结构
  4. Suzuki 反应测试:--action react --reactants "c1ccccc1Br c1ccccc1B(O)O" --smarts "[c:1][Br:2].[c:3][B]([c:4])(O)O>>[c:1][c:3]"

已验证环境

所有功能均已通过 RDKit 2024.03+ 全流程端到端验证:

分子 SMILES 通过测试项
Caffeine CN1C=NC2=C1C(=O)N(C(=O)N2C)C info、structure、props、draw、retro、plan、chain
Aspirin CC(=O)Oc1ccccc1C(=O)O info、structure、props、draw、retro、plan、chain
Sotorasib PubChem 名称查询 info、structure、props、draw、retro、chain
Ibuprofen PubChem 名称查询 info、structure、props、chain
无效 SMILES XXXINVALID 返回格式良好的 JSON 错误响应
空输入 {} 返回格式良好的 JSON 错误响应

资源

  • references/api_endpoints.md — PubChem API 接口文档与速率限制说明
  • scripts/rdkit_reaction.py — 已弃用的反应模块(遗留)
  • scripts/chembl_query.py、scripts/pubmed_search.py、scripts/admet_predict.py — 扩展查询模块

scripts/advanced_chem.py

高级化学信息学引擎,提供 6 项 Tier 1 级能力。

--action  --smiles  [options]
操作 说明 关键参数
standardize 盐去除、电荷归一化、互变异构体枚举 --smiles
descriptors 217+ 种分子描述符(RDKit 全集)、QED、SA Score、Lipinski/Veber 规则判断 --smiles --descriptor_set all|druglike|physical|topological
scaffold Murcko 支架提取、通用支架、多样性分析、R-基团分解 --smiles 或 --target_smiles "smi1,smi2,..." --rgroup_core
mcs 2 个及以上分子的最大公共子结构(MCS) --target_smiles "smi1,smi2,..."
mmpa 匹配分子对分析(Matched Molecular Pair Analysis),识别单点结构变换 --target_smiles "smi1,smi2,..."
chemspace 化学空间可视化(PCA/t-SNE/UMAP 散点图 PNG) --target_smiles "smi1,smi2,..." --method pca|tsne|umap --output plot.png

使用示例:

# 标准化盐形式
python scripts/advanced_chem.py --action standardize --smiles "[Na+].CC(=O)[O-]"

# 计算全部描述符(217+ 项)
python scripts/advanced_chem.py --action descriptors --smiles "CC(=O)Oc1ccccc1C(=O)O" --descriptor_set all

# 分析一组分子的支架多样性
python scripts/advanced_chem.py --action scaffold --target_smiles "CC(=O)Oc1ccccc1C(=O)O,CN1C=NC2=C1C(=O)N(C(=O)N2C)C,CC(C)Cc1ccc(cc1)C(C)C(=O)O"

# 计算阿司匹林与水杨酸的最大公共子结构(MCS)
python scripts/advanced_chem.py --action mcs --target_smiles "CC(=O)Oc1ccccc1C(=O)O,c1ccccc1C(=O)O"

# 匹配分子对分析(MMPA)
python scripts/advanced_chem.py --action mmpa --target_smiles "c1ccc(CC(=O)O)cc1,c1ccc(CCC(=O)O)cc1"

# 化学空间 PCA 可视化
python scripts/advanced_chem.py --action chemspace --target_smiles "CC(=O)Oc1ccccc1C(=O)O,CN1C=NC2=C1C(=O)N(C(=O)N2C)C,c1ccccc1" --method pca --output space.png

更新日志

v2.0.0(2026-02-28)

  • 新增:advanced_chem.py,集成 6 项 Tier 1 级化学信息学能力
    • 分子标准化与互变异构体枚举(盐去除、电荷归一化、规范互变异构体)
    • 扩展描述符(217+ RDKit 描述符、QED、SA Score、Lipinski、Veber 规则)
    • 支架分析(Murcko 支架、通用支架、多样性比率、R-基团分解)
    • 最大公共子结构(rdFMCS,支持每分子覆盖率统计)
    • 匹配分子对分析(rdMMPA 片段化与变换检测)
    • 化学空间可视化(PCA/t-SNE/UMAP,基于 matplotlib 的散点图)
  • 依赖项:新增 scikit-learn、matplotlib

v1.4.1(2026-02-25)

  • 安全加固:对所有子进程调用(SMILES、化合物名、输出路径等)实施输入净化
  • 新增 _sanitize_input() —— 对所有用户输入施加长度限制并拒绝空字节
  • 新增 _sanitize_output_path() —— 阻止路径遍历、限制文件扩展名、禁止任意文件写入
  • 在 resolve_target() 中增加 shell 元字符过滤
  • 在 chem_ui.py 中于子进程调用前,使用 RDKit 对 SMILES 进行校验
  • 在 query_pubchem.py 中增加化合物输入校验(长度与空字节检查)
  • 为 resolve_target() 中的 PubChem 子进程调用添加超时机制
  • 修复 VirusTotal 将参数注入向量标记为“可疑”的问题

v1.4.0(2026-02-14)

  • 修复 PubChem SMILES/InChI 接口(property/CanonicalSMILES/TXT)
  • 修复 chain_entry.py 中 HTML 实体损坏问题
  • 修复 brics_retro 对 BRICSDecompose 字符串输出的解析逻辑
  • 为所有 PubChem 请求添加 15 秒超时限制
  • 增强对无效 SMILES 和空输入的容错错误处理
  • 更新 chain 输出版本号与 Schema 定义
  • 完成全流程端到端测试

v1.3.0

  • 修复 RDKit 分子性质计算中可能出现的 NoneType 异常;对无效 SMILES 返回优雅错误
  • 修复 react 功能:修正 ReactionFromSmarts 导入逻辑
  • 所有 RDKit 操作均支持通过 PubChem 自动解析化合物名称

v1.2.0

  • 新增 BRICS 逆合成分析能力 + 21 种命名反应模板库
  • 新增多步合成路线规划功能

相关专题

更多
Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

0

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

0

17

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

2026.11.02

0

17

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

0

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习