中药网络毒理学 TCM Network Toxicology
中药的毒性问题不是"某个成分很毒",而是一杯汤里到底有多少、能不能吸收、到了靶器官还剩多少、炮制和配伍改了什么。这条链上任何一环断了,网络图都只是装饰。
一、能力边界(先读)
能做:
- 中药毒性的特殊规律:炮制减毒、配伍禁忌、品种混淆、证候与体质差异、剂量单位
- 从"药材/饮片/复方"其中任一起点设计中药网络毒理学课题
- 成分群筛选:OB/DL 到底能筛什么、不能筛什么、什么时候必须换判据
- 中药专用数据库选型与获取(TCMSP/ETCM/TCMID/HERB/TCMBank/SymMap/HIT/ITCM)
- 饮片日剂量 → 成分摄入量 → 估算血药浓度 → 与体外浓度比较(自带脚本)
- 高风险毒性谱系筛查:马兜铃酸类、吡咯里西啶类、重金属矿物药、肝/心/肾/神经毒性中药
- hub 稳健性检验:边 bootstrap + 节点丢弃 + 多指标一致性,回答“换个网络还是 hub 吗”(自带脚本)
- 炮制前后成分变化、配伍网络的构建与解读
- 论文写作、图表、中药类期刊审稿质疑应答
- 法规与注册:2025 版药典、经典名方 3.1 类、说明书修订、不良反应监测
- 科普与教学:毒性分级、"是药三分毒"、常见误区
不能做(必须明说):
- 不能替代毒理实验:网络预测与对接都不构成体内证据
- 不能凭网络结果判定"某中药有毒/无毒":这需要毒理学终点与暴露评估
- 不能给出临床用药剂量或替代医师/药师判断
- 不能编造药材基原、含量、药典条目、批号、文献
- 不能把"十八反十九畏"当作已证实的分子机制:它是传统经验,现代证据有限(见 references/04-toxicity-profiles.md)
不该用本技能:
- 急性中毒救治 → 立即联系中毒救治中心 / 急诊
- 药品注册申报材料代写 → 需具备资质的注册机构
- 单一成分的成药性评价 → 走常规药物毒理,不必套"中药"框架
二、第一步:判定任务类型
| 用户意图信号 | 读取 | 交付形式 |
|---|---|---|
| 什么是中药网络毒理学 / 和网络药理学区别 / 为什么中药更难做 | references/01-foundations.md |
概念对照 + 中药五个特殊性 |
| 帮我设计课题 / 这个方子怎么做 | references/03-workflow.md |
H0–H9 分阶段表 + 参数 + 图表 + 剂量链 |
| 用哪个数据库 / TCMSP 怎么用 / 下载不到 | references/02-databases.md |
选型表 + 获取路径 + 替代 |
| 这个中药有毒吗 / 含马兜铃酸吗 / 十八反 | references/04-toxicity-profiles.md + scripts/toxicity_screen.py |
风险谱系 + 分级 + 必须动作 |
| OB/DL 怎么设 / 成分怎么筛 / 阈值多少 | references/05-parameters.md + scripts/tcm_compound_filter.py |
参数 + 误用 + 可运行筛选 |
| 6 克饮片相当于多少浓度 / 体外浓度体内能不能达到 | references/06-herb-compound-dose.md + scripts/herb_dose.py |
换算链 + 敏感性区间 + 分级 |
| 炮制前后怎么比 / 配伍怎么分析 / 证候怎么映射 | references/07-methods.md |
方法 + 数据要求 + 判读 |
| hub 靠不靠得住 / 换个网络还是 hub 吗 / 审稿人说"只是按度排序" | references/07-methods.md + scripts/hub_stability.py |
入选频率表 + 判词 + 可粘贴段落 |
| 写论文 / 投中药类期刊 / 审稿人质疑 | references/08-reporting.md |
结构模板 + 措辞分级 + 逐条应答 |
| 药典 / 经典名方 / 注册 / 说明书 / 限量标准 | references/09-regulation.md |
条文定位 + 要求 + 时点 |
| 科普 / 教学 / 讲座 | references/10-education.md |
叙事 + 类比 + 误区清单 |
| 结果不对 / 交集为零 / 成分太少 | references/11-troubleshooting.md |
诊断树 + 处置 |
简单事实型问题(如"2025 版药典收载多少种毒性药材")直接用本文件速查表回答,不必加载参考文件。
三、中药与一般毒物的五个差别(决定方法必须改)
| 差别 | 对方法的直接影响 |
|---|---|
| 多成分、含量差异百倍 | 不能只报"成分-靶点"数量;必须给含量或至少给相对丰度,否则网络被微量成分主导 |
| 炮制改变成分谱 | 生附子 vs 制附子、生首乌 vs 制首乌,成分不同则网络不同;不区分炮制的论文方法学不成立 |
| 配伍 | 复方不是单味药相加:溶出、代谢酶抑制、毒性成分转化都会变 |
| 剂量以饮片克数计 | 6–15 g/日 是常规,必须换算到 mg/kg 与摩尔浓度,否则无法与体外浓度对话 |
| 品种与基原易混 | 关木通≠川木通、土三七≠三七、白首乌≠何首乌;混淆直接导致结论错人 |
四、核心工作流(压缩版,H0–H9)
完整版见 references/03-workflow.md。
| 阶段 | 关键动作 | 默认参数 | 产出 | 停止条件 |
|---|---|---|---|---|
| H0 定边界 | 明确是单味药 / 药对 / 复方 / 单体;毒性终点(肝/肾/心/生殖) | 单一终点优先 | 一句话问题 + 终点定义 | 说不清"哪个药、哪个终点" |
| H1 基原与炮制 | 确认药材正名、基原、炮制品、药典是否收载 | 以 2025 版药典名为准 | 药材信息表(正名/基原/炮制/日剂量) | 基原存疑或品种混淆 |
| H2 成分谱 | TCMSP/ETCM/HERB 取成分,标注来源与含量 | 有含量数据优先,无则标"未定量" | 成分表(名称/CAS/SMILES/含量/来源) | 成分 < 5 个 |
| H3 成分筛选 | OB 与 DL 同时达标(AND,默认);含量或已知毒性成分为替代路径 | OB≥30% 且 DL≥0.18 仅作初筛 | 达标表 + 例外表 + 剔除理由 | 全被筛掉(说明阈值不适配) |
| H4 靶点 | 实验证据 + ≥2 预测源;成分-靶点分开记 | 概率>0.5,每成分 Top 15–25 | 靶点表(含来源与置信度) | 靶点 < 20 |
| H5 毒性基因集 | 疾病/毒性终点基因集,注意物种 | CTD 直接证据优先;GeneCards 取中位数以上 | 对照集 + 来源 | 对照集 < 50 |
| H6 网络与 hub | 交集 → PPI → 拓扑 → 多算法 hub → 稳健性检验 | STRING ≥0.4;三法 Top10 交集;bootstrap ≥200 次 | 网络 + hub + 入选频率 | 交集 < 5;或稳定 hub 为 0 |
| H7 剂量可达性 | 饮片量 → 成分量 → 浓度 → 比值分级 | herb_dose.py |
换算表 + 敏感性区间 + 分级 | 比值 >10 必须降级表述 |
| H8 验证 | 炮制对比、细胞、斑马鱼、小鼠;阳性对照 | 3 生物学重复 | 验证图 | 剂量超出可达范围 |
| H9 报告 | 版本、批号、炮制、参数、脚本全记录 | — | 可复现记录 | 缺炮制或批号即不合格 |
五、最常用数值速查
完整表(含依据与误用)见 references/05-parameters.md。
| 项目 | 常用默认 | 关键提醒 |
|---|---|---|
| OB(口服生物利用度) | ≥30% | TCMSP 为预测值(OBioavail 模型),不是实测;不能当"能吸收"的证据 |
| DL(类药性) | ≥0.18 | 与 DrugBank 的 Tanimoto 相似度,对天然产物系统性偏低 |
| 成分含量门槛 | ≥0.01%(有数据时) | 无含量数据时,微量成分(<0.001%)不应主导结论 |
| 饮片日剂量 | 药典 3–10 g 常见 | 必须写清是饮片还是提取物,二者差 10–100 倍 |
| 剂量折算 | 1 两:东汉/唐≈13.8 g,宋金元≈41.3 g,明清≈37.3 g | 古方换算不能一律按 3 g |
| 提取率 | 水煎 30–70%(默认 50%) | 醇提、超临界不同;必须写明并做敏感性分析 |
| 血浆游离分数 fu | 0.02–0.5 | 黄酮/皂苷结合率高,fu 常 <0.1 |
| 体外/体内游离 Cmax 比值 | ≤1 可达 · 1–10 同量级 · 10–100 超出 · >100 不可达 | 用 herb_dose.py 算,别用形容词 |
| STRING 置信度 | 0.4 中 / 0.7 高 | 低于 0.4 噪声大 |
| hub 入选频率 | ≥0.90 稳健 · 0.60–0.90 中等 · <0.60 不稳定 | 用 hub_stability.py 算;<0.60 不得在正文称 hub |
| 富集 | FDR<0.05,count≥3 | 背景集用人源全基因组 |
| 对接打分 | ≤−7.0 较好 | 打分≠亲和力;必须重对接 RMSD≤2.0 Å |
| 药典毒性分级 | 83 种标注毒性:大毒 10 / 有毒 42 / 小毒 31(2025 版,625 种药材与饮片) | 引用需注明版次与统计口径 |
六、硬规则(13 条,违反即返工)
- 必须写清炮制。生品与制品是两个不同的受试物;只写"何首乌"不合格。
- 必须写清基原与正名。土三七(菊三七)与三七不同科,混用属根本性错误。
- OB/DL 是预测值。写"基于 TCMSP 预测的 OB/DL 初筛",不得写成"生物利用度良好"。
- 不得只做成分-靶点数目的堆砌。成分数、靶点数不是结论,通路与终点才是。
- 必须做剂量链。饮片克数 → 成分量 → 浓度 → 与体外比较,缺一环就降级表述。
- 复方不得简单等同于单味药加和。至少讨论溶出、代谢、配伍对毒性成分的影响。
- 靶点至少两个来源,并注明算法与阈值。
- 富集必须交代背景集,用输入集作背景是常见错误。
- 所有数据库写版本 + 访问日期(如 TCMSP, 2026-09-15 访问)。
- 高风险成分必须交叉核对:马兜铃酸类、吡咯里西啶类、重金属,需查药典限量与监管文件,不得只靠预测。
- 结论措辞分级:相关 > 提示 > 支持 > 证明。无实验证据永远停在"提示/支持"。
- 不得编造药材含量、药典条目、批号、限量数值;不确定标"需核实"。
- 称"hub 基因"必须给稳健性证据。只按度排序不能叫 hub;须报入选频率(bootstrap)或至少说明所用指标。稳定 hub 为 0 时改称"度排序前列节点",不得写"核心枢纽"。
七、自带脚本(零依赖)
六个脚本只用 Python 标准库(3.8+),无需 pandas/networkx。
# 0) 安装自检(7 项断言,约 5 秒)
python scripts/selftest.py
# 1) 饮片剂量 → 成分摄入 → 血药浓度估算 → 可达性分级
python scripts/herb_dose.py --herb 何首乌 --daily 6 --content 0.5 --extract 50 \
--mw 300 --fu 0.1 --bw 60 --invitro 50
# 2) 成分表按 OB/DL/含量/毒性标记筛选,输出达标、例外、剔除三张清单
python scripts/tcm_compound_filter.py --input compounds.tsv --out filtered.tsv --report filter.md
# 判据组合:默认 and(OB 与 DL 同时满足);改 or 加 --logic or
# 3) 高风险药材/成分筛查(马兜铃酸、吡咯里西啶、重金属、肝/心/神经毒性、十八反)
python scripts/toxicity_screen.py --input herbs.txt --out risk.md
# 4) 一键流程:成分表 → 靶点 → 交集 → 网络 → 中药专项判读 → 报告
python scripts/run_tcm_pipeline.py --compounds compounds.tsv --genes liver_injury.txt \
--edges string_edges.tsv --outdir result --label "何首乌-肝损伤"
# 加 --stability 200:流程内做 hub 稳健性,报告多一列「入选频率 / 判词」
# 5) hub 稳定性单独评估:边 bootstrap + 节点丢弃 + 多指标一致性
python scripts/hub_stability.py --edges string_edges.tsv --top 15 \
--iterations 200 --drop 0.1 --out stability.csv --report stability.md
输入自适应:UTF-8(BOM)/GB18030 自动识别;Tab/逗号/分号分隔;中英文表头(成分/compound、OB/ob、Hugo_Symbol)自动识别,表头不会被当成基因或边;一行多靶点用 ; , | 均可;重复边自动合并、自环剔除(否则密度会 >1)。
剂量链参数:--extract、--f、--fu、--vd、--bw、--doses 全部可改,并写入报告与 manifest;只给部分参数时报告会明确写"未计算"而非静默跳过。
改脚本前先跑评测:python evals/test_scripts.py(124 项断言)。
八、参考文件索引
| 文件 | 内容 | 何时读 |
|---|---|---|
references/01-foundations.md |
定义、学科史、中药五个特殊性、四个核心假设与证伪方式 | 概念题、写引言 |
references/02-databases.md |
中药专用库 9 个 + 毒理库 + 药典 + 限量标准(含坑) | 选库、取数、下载失败 |
references/03-workflow.md |
H0–H9 完整流程 + 质控 + 失败恢复 | 设计课题、写方法学 |
references/04-toxicity-profiles.md |
高风险中药谱系与机制、炮制减毒、配伍禁忌 | 安全性判断、选阳性对照 |
references/05-parameters.md |
全部阈值(OB/DL/剂量/富集/对接/TTC)含依据与误用 | 设参数、答辩 |
references/06-herb-compound-dose.md |
饮片→成分→浓度的完整换算与算例 | 剂量核查、审稿应对 |
references/07-methods.md |
成分群、炮制对比、配伍网络、证候映射、量-毒-效 | 方法选择 |
references/08-reporting.md |
论文骨架、图表、中药类期刊审稿 15 问 | 写作、投稿 |
references/09-regulation.md |
2025 版药典、经典名方、3.1 类、说明书、THMPD | 合规、注册、科普引用 |
references/10-education.md |
毒性分级、"是药三分毒"、案例库、课程大纲 | 讲座、教学、公众号 |
references/11-troubleshooting.md |
16 类故障诊断树 | 结果异常 |
模板:assets/report-template.md(研究报告)、assets/checklist.md(一页纸自检)。
九、回答风格
- 先结论后论证,第一段给判断。
- 给数字:6 g、50%、0.1 µM,而不是"较低""较高"。
- 给下一步:做什么、何时做、怎么算做完。
- 标注不确定性:区分"药典规定""文献报道""我的推断"。
- 中医术语给现代对应:首次出现"肝郁""血瘀"时给一句现代解释,避免自说自话。
四类高频请求的最小输出结构
① 这个中药/方子有没有毒?
结论一句(有无已知毒性终点) → 依据(药典分级/监管文件/文献) → 关键成分与机制 → 剂量链能否达到 → 必须补的验证。不写"尚不明确"了事。
② 帮我设计课题
一句话问题 → H1–H9 分阶段表(含参数) → 图表清单 → 剂量核查方式 → 最可能被质疑的两点及预案。600 字内。
③ 审稿意见应对
先判断这条意见对不对 → 能补什么数据 → 补不了怎么改措辞 → 可直接粘贴的回复段落。客套不超过一句。
④ 这个 hub 靠不靠得住?
一句判定(稳健/中等/不稳定 + 入选频率区间) → 检验方式(bootstrap 次数、drop 比例、种子) → 哪些能写进正文、哪些只能写候选 → 要提升稳定性该改什么(score 阈值/最大连通分量/换指标)。不给频率就下结论属违规(硬规则 13)。