一键导入
adme-prediction
ADME 性质预测工具。预测分子的吸收、分布、代谢、排泄性质,包括 Caco-2 通透性、PAMPA、HIA、Pgp 抑制、生物利用度、亲脂性等。使用 Morgan 指纹 + Random Forest/XGBoost。当用户提到 ADME 预测、药物性质、通透性、吸收、代谢等时触发。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
ADME 性质预测工具。预测分子的吸收、分布、代谢、排泄性质,包括 Caco-2 通透性、PAMPA、HIA、Pgp 抑制、生物利用度、亲脂性等。使用 Morgan 指纹 + Random Forest/XGBoost。当用户提到 ADME 预测、药物性质、通透性、吸收、代谢等时触发。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Extract structured chemical compound characterization data from chemistry supplementary material documents (PDF/Markdown). 从化学论文补充材料(PDF/Markdown)中提取结构化化合物表征数据。 Use when Kimi needs to extract compound properties including NMR spectra, HRMS, HPLC data, melting points, optical rotation, and yield information from chemistry research papers or supplementary materials. 支持提取NMR谱图、HRMS、HPLC数据、熔点、旋光度、产率等信息。 Supports both single compound extraction and batch extraction of all compounds. 支持单个化合物提取和批量提取所有化合物。
Convert Gaussian gjf input files to XYZ format. 将Gaussian gjf输入文件转换为XYZ格式。 Use when agent needs to convert molecular structure files from Gaussian input format (.gjf) to XYZ format for visualization or use with other computational chemistry software. 当智能体需要将Gaussian输入格式(.gjf)的分子结构文件转换为XYZ格式用于可视化或其他计算化学软件时使用。
Convert PDF files to Markdown using MinerU API. 使用MinerU API将PDF文件转换为Markdown格式。 Use when Kimi needs to extract structured text, images, tables, and formulas from PDF documents while preserving document layout and formatting. 适用于需要提取结构化文本、图片、表格和公式并保留文档布局的场景。 Supports batch conversion and outputs full.md with images/, JSON metadata, and other extracted assets. 支持批量转换,输出full.md、images/目录、JSON元数据等。 Now supports large PDFs (600+ pages) by automatic splitting and merging. 现已支持大文件(600+页)自动拆分和合并处理。
Extract DFT calculation coordinates from PDF files and generate Gaussian gjf files. 从PDF文件中提取DFT计算坐标并生成Gaussian gjf输入文件。 Supports batch processing with separate output folders for each PDF. 支持批量处理,每个PDF单独生成输出文件夹。
Predict and visualize MS/MS spectra from a single SMILES using the fioRa online app. Use when the user wants a mass spectrum, MGF/MSP output, or a plotted stick spectrum from SMILES, with optional custom Name, precursor type, collision energy, and instrument settings.
Predict liquid-phase ¹H and ¹³C NMR chemical shifts from a SMILES string using NMRNet (deep learning, SE(3)-Transformer). Outputs per-atom shift values (ppm) and Lorentzian-broadened spectrum PNG files.
| name | adme-prediction |
| description | ADME 性质预测工具。预测分子的吸收、分布、代谢、排泄性质,包括 Caco-2 通透性、PAMPA、HIA、Pgp 抑制、生物利用度、亲脂性等。使用 Morgan 指纹 + Random Forest/XGBoost。当用户提到 ADME 预测、药物性质、通透性、吸收、代谢等时触发。 |
ADME(吸收、分布、代谢、排泄)性质预测技能,用于药物发现和开发早期的药物动力学性质评估。
| 性质 | 数据集 | 类型 | 说明 |
|---|---|---|---|
| Caco-2 通透性 | Caco2_Wang | 回归 | 预测 Caco-2 细胞有效通透性 (log Papp) |
| PAMPA 通透性 | PAMPA_NCATS | 分类 | 预测人工膜通透性 (高/低 - 中) |
| 肠道吸收 | HIA_Hou | 分类 | 预测人体肠道吸收 (活性/非活性) |
| Pgp 抑制 | Pgp_Broccatelli | 分类 | 预测 P-糖蛋白抑制 (抑制剂/非抑制剂) |
| 生物利用度 | Bioavailability_Ma | 分类 | 预测口服生物利用度 (高/低) |
| 亲脂性 | Lipophilicity_AstraZeneca | 回归 | 预测亲脂性 (logD) |
用户可以直接提供 SMILES 并要求预测:
预测这个分子的 ADME 性质:CCO
计算 Caco-2 通透性:c1ccccc1
这个化合物的肠道吸收怎么样?CC(=O)O
预测 Pgp 抑制活性:CCN(CC)CC
# 预测单个分子
python3 scripts/adme_predictor.py --smiles "CCO"
# 预测特定性质
python3 scripts/adme_predictor.py --smiles "c1ccccc1" --property Caco2_Wang
# 批量预测(从文件读取 SMILES)
python3 scripts/adme_predictor.py --file molecules.smi --output results.json
# 列出所有可用性质
python3 scripts/adme_predictor.py --list
# JSON 输出
python3 scripts/adme_predictor.py --smiles "CCO" --json
| 参数 | 简写 | 说明 | 默认值 |
|---|---|---|---|
--smiles | -s | SMILES 字符串 | 必需(或 --file) |
--file | -f | 包含 SMILES 的文件(每行一个) | 必需(或 --smiles) |
--property | -p | 要预测的性质(可多个) | 全部 |
--output | -o | 输出文件路径 | 标准输出 |
--json | -j | 以 JSON 格式输出 | 表格格式 |
--list | -l | 列出所有可用性质 | - |
--model-dir | -m | 模型目录 | 默认模型目录 |
支持多种输入方式:
# 单个 SMILES
smiles = "CCO"
# 从文件读取
with open("molecules.smi") as f:
smiles_list = [line.strip() for line in f]
# 从其他格式转换
from rdkit import Chem
mol = Chem.MolFromMolFile("input.mol")
smiles = Chem.MolToSmiles(mol)
使用 Morgan 指纹(ECFP4)表示分子:
from rdkit.Chem import AllChem
fp = AllChem.GetMorganFingerprintAsBitVect(
mol,
radius=2, # ECFP4
nBits=2048 # 指纹长度
)
加载预训练模型进行预测:
# 加载模型
import pickle
with open("models/Caco2_Wang.pkl", "rb") as f:
model = pickle.load(f)
# 预测
prediction = model.predict([fp])[0]
$ python3 scripts/adme_predictor.py --smiles "CCO" --json
{
"smiles": "CCO",
"predictions": {
"Caco2_Wang": {
"value": -0.52,
"type": "regression",
"unit": "log Papp (10^-6 cm/s)",
"description": "Caco-2 细胞有效通透性"
},
"HIA_Hou": {
"class": "Active",
"probability": 0.89,
"type": "classification",
"description": "人体肠道吸收"
},
"Lipophilicity_AstraZeneca": {
"value": -0.31,
"type": "regression",
"unit": "logD",
"description": "亲脂性"
}
}
}
SMILES: CCO (乙醇)
ADME 性质预测结果:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
性质 预测值 置信度
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Caco-2 通透性 -0.52 -
PAMPA 通透性 High 0.78
肠道吸收 (HIA) Active 0.89
Pgp 抑制 Non-inhibitor 0.92
生物利用度 High 0.85
亲脂性 (logD) -0.31 -
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
$ python3 scripts/adme_predictor.py --file drugs.smi -o results.csv
✓ 已处理:10/10 分子
✓ 输出:results.csv
$ cat results.csv
smiles,Caco2_Wang,HIA_Hou,Lipophilicity
CCO,-0.52,Active,-0.31
c1ccccc1,0.23,Active,2.15
CC(=O)O,-0.71,Active,-0.17
pip install rdkit scikit-learn pandas numpy
# XGBoost(更好的性能)
pip install xgboost
# TDC(下载训练数据)
pip install PyTDC
# 检查 RDKit
python3 -c "from rdkit import Chem; print('RDKit OK')"
# 检查 scikit-learn
python3 -c "from sklearn.ensemble import RandomForestClassifier; print('sklearn OK')"
from tdc.single_pred import ADME
# 下载 Caco-2 数据集
data = ADME(name='Caco2_Wang')
df = data.get_data()
# 获取数据分割
split = data.get_split()
train_df = data.get_split()['train']
# 训练 Caco-2 模型
python3 scripts/adme_train.py \
--property Caco2_Wang \
--data data/caco2_train.csv \
--output models/Caco2_Wang.pkl
# 训练所有模型
python3 scripts/adme_train.py --all --data-dir ./tdc_data/ --output-dir ./models/
| 参数 | 说明 | 默认值 |
|---|---|---|
--property | 要训练的性质 | 必需 |
--data | 训练数据 CSV | 必需 |
--output | 输出模型路径 | 必需 |
--model-type | 模型类型 (rf/xgboost) | rf |
--n-estimators | 树的数量 | 100 |
--max-depth | 最大深度 | 10 |
说明: Caco-2 细胞系用于模拟人体肠道组织,预测药物口服吸收能力。
单位: log Papp (10^-6 cm/s)
解释:
-5.0: 高通透性(吸收良好)
说明: 平行人工膜通透性测定,高通量筛选药物渗透性。
类别:
High: 高通透性Low-Moderate: 低 - 中等通透性说明: 预测药物从胃肠道吸收到血液的能力。
类别:
Active: 吸收良好Inactive: 吸收差说明: Pgp 是 ABC 转运蛋白,影响药物代谢和脑渗透。
类别:
Inhibitor: Pgp 抑制剂(可能影响其他药物代谢)Non-inhibitor: 非抑制剂说明: 预测药物口服后到达作用部位的比例。
类别:
High: 生物利用度高(>50%)Low: 生物利用度低说明: 预测药物在脂质环境中的溶解能力。
单位: logD
解释:
# 1. 预测 ADME 性质
python3 scripts/adme_predictor.py --smiles "CCO" -o adme_results.json
# 2. 生成 2D 结构图
python3 ../mol-2d-viewer/scripts/mol_2d_viewer.py --smiles "CCO" --output structure.png
# 1. SMILES 转 IUPAC 名称
python3 ../smiles-to-iupac/scripts/smiles_to_iupac.py --smiles "CCO"
# 2. 预测 ADME 性质
python3 scripts/adme_predictor.py --smiles "CCO"
# 1. 预测性质
python3 scripts/adme_predictor.py --smiles "CCO" --json > adme.json
# 2. 生成论文级渲染图
python3 ../mol-paper-renderer/scripts/mol_paper_renderer.py \
--smiles "CCO" \
--output ethanol_figure.svg \
--caption "Ethanol: ADME properties predicted"
A:
A: 使用 TDC 提供的 scaffold split 进行评估:
from sklearn.metrics import roc_auc_score, mean_squared_error
# 分类任务
auc = roc_auc_score(y_true, y_pred)
# 回归任务
rmse = mean_squared_error(y_true, y_pred, squared=False)
A: 当前版本仅支持小分子。大分子需要使用专门的模型(如 Developability 预测)。
A: 修改训练脚本中的模型配置:
model = RandomForestClassifier(
n_estimators=200, # 增加树的数量
max_depth=15, # 增加深度
class_weight='balanced' # 处理类别不平衡
)
| 错误 | 说明 | 解决方案 |
|---|---|---|
Invalid SMILES | SMILES 格式错误 | 检查 SMILES 语法 |
Model not found | 模型文件缺失 | 运行训练脚本 |
RDKit error | 分子处理失败 | 检查分子是否有效 |
Property not supported | 不支持的性质 | 使用 --list 查看可用性质 |
| 分子数量 | 预测时间(单线程) | 预测时间(多线程) |
|---|---|---|
| 1 | <0.1s | <0.1s |
| 10 | 0.5s | 0.2s |
| 100 | 5s | 1s |
| 1000 | 50s | 10s |
所有数据集来自 Therapeutics Data Commons (TDC)
引用:
@article{huang2022therapeutics,
title={Therapeutics Data Commons: Machine Learning Datasets and Tasks for Drug Discovery and Development},
author={Huang, Kexin and Fu, Tianfan and Gao, Wenhao and Zhao, Yu and Roohani, Yusuf and Leskovec, Jure},
journal={Nature Chemical Biology},
year={2022}
}
默认输出到当前目录,或使用 --output 指定:
python3 scripts/adme_predictor.py --smiles "CCO" -o ./output/adme_results.json
对于飞书兼容性,建议输出到白名单目录:
~/.openclaw/media/adme-prediction/~/.openclaw/workspace/