Skip to main content 首页 创作者 internscience chemclaw adme-prediction
adme-prediction ADME 性质预测工具。预测分子的吸收、分布、代谢、排泄性质,包括 Caco-2 通透性、PAMPA、HIA、Pgp 抑制、生物利用度、亲脂性等。使用 Morgan 指纹 + Random Forest/XGBoost。当用户提到 ADME 预测、药物性质、通透性、吸收、代谢等时触发。
跳到安装 Skills Marketplace 发现并探索由社区构建的 Agent Skills
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/InternScience/ChemClaw --skill adme-prediction命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
下载 Zip 下载中... name adme-prediction description ADME 性质预测工具。预测分子的吸收、分布、代谢、排泄性质,包括 Caco-2 通透性、PAMPA、HIA、Pgp 抑制、生物利用度、亲脂性等。使用 Morgan 指纹 + Random Forest/XGBoost。当用户提到 ADME 预测、药物性质、通透性、吸收、代谢等时触发。
ADME Prediction
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
python3 scripts/adme_predictor.py --file molecules.smi --output results.json
python3 scripts/adme_predictor.py --list
python3 scripts/adme_predictor.py --smiles --json
"CCO"
参数说明 参数 简写 说明 默认值 --smiles-sSMILES 字符串 必需(或 --file) --file-f包含 SMILES 的文件(每行一个) 必需(或 --smiles) --property-p要预测的性质(可多个) 全部 --output-o输出文件路径 标准输出 --json-j以 JSON 格式输出 表格格式 --list-l列出所有可用性质 - --model-dir-m模型目录 默认模型目录
工作流程
1. 分子输入
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)
2. 指纹计算 from rdkit.Chem import AllChem
fp = AllChem.GetMorganFingerprintAsBitVect(
mol,
radius=2 ,
nBits=2048
)
3. 性质预测
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
可选依赖(推荐)
pip install xgboost
pip install PyTDC
检查安装
python3 -c "from rdkit import Chem; print('RDKit OK')"
python3 -c "from sklearn.ensemble import RandomForestClassifier; print('sklearn OK')"
模型训练
下载 TDC 数据 from tdc.single_pred import ADME
data = ADME(name='Caco2_Wang' )
df = data.get_data()
split = data.get_split()
train_df = data.get_split()['train' ]
训练模型
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
ADME 性质详解
Caco-2 通透性 (Caco2_Wang) 说明 : Caco-2 细胞系用于模拟人体肠道组织,预测药物口服吸收能力。
单位 : log Papp (10^-6 cm/s)
-5.0: 高通透性(吸收良好)
-6.0 to -5.0: 中等通透性
< -6.0: 低通透性(吸收差)
PAMPA 通透性 (PAMPA_NCATS) 说明 : 平行人工膜通透性测定,高通量筛选药物渗透性。
High: 高通透性
Low-Moderate: 低 - 中等通透性
人体肠道吸收 (HIA_Hou)
Active: 吸收良好
Inactive: 吸收差
P-糖蛋白抑制 (Pgp_Broccatelli) 说明 : Pgp 是 ABC 转运蛋白,影响药物代谢和脑渗透。
Inhibitor: Pgp 抑制剂(可能影响其他药物代谢)
Non-inhibitor: 非抑制剂
口服生物利用度 (Bioavailability_Ma)
High: 生物利用度高(>50%)
Low: 生物利用度低
亲脂性 (Lipophilicity_AstraZeneca)
过高:代谢快、溶解度差
过低:膜通透性差
理想范围:1-3
与其他化学技能配合
与 mol_2d_viewer 配合
python3 scripts/adme_predictor.py --smiles "CCO" -o adme_results.json
python3 ../mol-2d-viewer/scripts/mol_2d_viewer.py --smiles "CCO" --output structure.png
与 smiles_to_iupac 配合
python3 ../smiles-to-iupac/scripts/smiles_to_iupac.py --smiles "CCO"
python3 scripts/adme_predictor.py --smiles "CCO"
与 mol_paper_renderer 配合
python3 scripts/adme_predictor.py --smiles "CCO" --json > adme.json
python3 ../mol-paper-renderer/scripts/mol_paper_renderer.py \
--smiles "CCO" \
--output ethanol_figure.svg \
--caption "Ethanol: ADME properties predicted"
常见问题
Q: 预测结果不准确怎么办?
检查分子是否在训练数据范围内(类似结构)
尝试使用 XGBoost 模型(通常更准确)
考虑使用集成方法(多个模型平均)
Q: 如何评估模型质量? 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 )
Q: 支持大分子(蛋白质、抗体)吗? A: 当前版本仅支持小分子。大分子需要使用专门的模型(如 Developability 预测)。
Q: 如何自定义模型参数? model = RandomForestClassifier(
n_estimators=200 ,
max_depth=15 ,
class_weight='balanced'
)
注意事项
✅ 快速预测 - 每个分子 <100ms
✅ 批量处理 - 支持数千分子批量预测
✅ 置信度评估 - 分类任务提供概率
✅ TDC 兼容 - 使用标准数据集和分割方法
⚠️ 小分子限制 - 仅适用于小分子药物
⚠️ 结构相似性 - 对训练集外结构预测可能不准确
⚠️ 实验验证 - 预测结果需实验验证
错误处理 错误 说明 解决方案 Invalid SMILESSMILES 格式错误 检查 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
数据来源 @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/
同仓库更多 Skills 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+页)自动拆分和合并处理。