药理网络构建
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_aabd9d68/network-construction。
技能介绍
要解决的问题
网络药理学流水线里,前五步(成分筛选、疾病靶点收集、靶点交集、PPI 分析、GO/KEGG 富集)各自留下格式不一的中间文件。等你真正要在 Cytoscape 里画那张「中药→成分→靶点→疾病→通路」总图时,要么手工拼 SIF,要么写一次性脚本对齐节点 ID,属性丢失、权重缺失、节点类型混乱是常态。这个 skill 把最后一步变成可重复执行的确定性脚本。
核心能力
- 统一节点模型:五种节点类型(
herb/ingredient/target/disease/pathway),ID 格式固定,标签与核心属性有明确约定。 - 四种边关系:
contains、targets、relates_to、enriched_in,其中enriched_in携带pvalue与FoldEnrichment作为权重。 - 导出契约:SIF + 两份 CSV 属性表 + 完整 JSON + 统计报告 + 可选 PNG 预览。CSV 保留完整元数据,方便在 Cytoscape 里直接做样式映射。
- 拓扑属性:上游跑过 PPI 分析时,靶点节点会带上
degree、betweenness、hub_rank。
关键步骤
- 校验必需输入:
Drug_Targets.json、疾病靶点、交集基因列表。 - 推导疾病名称(从目录文件名读取,或用
--disease手动指定)。 network_builder.py构建networkx.DiGraph。network_export.py导出 SIF / CSV / JSON。network_statistics.py生成统计报告。network_visualize.py生成 ≥300 DPI 预览图(可选)。- 输出
cytoscape_import_guide.txt导入说明。
适用边界
- 这是流水线的最后一步,不是成分筛选或富集分析本身;缺少上游产物会直接报错并提示先跑对应 Skill。
- 多疾病模式(
--mode multi-disease)在当前实现中只是预留接口,实际仅支持单疾病。 - PPI 边默认不加入,因为会让网络过密;需要时用
--include-ppi开启。 - 可选输入缺失时脚本不失败,而是自动降级并打印警告——通路层和 Hub 拓扑属性都可能凭空消失,跑完务必核对统计报告里的节点/边数量。
- 执行前必须确认输出目录无残留文件,否则会覆盖上次结果;始终从项目根目录运行,默认输出路径才指向
./np-output/network/{disease}/。
使用场景
- 上游成分、靶点、疾病、通路分析都跑完了,需要整合成一张五层网络图并导出到 Cytoscape 继续调整样式
- 论文写作阶段,需要一张可直接放进正文的中药-成分-靶点-疾病-通路网络示意图
- 富集分析完成后,需要给通路边附带 p-value 和 FoldEnrichment 权重,供 Cytoscape 映射边宽或颜色
- 需要统计报告中的节点/边数量和 top hub 基因,用来复核网络规模和核心靶点是否合理
适合人员
- 做网络药理学课题的研究生,需要把多次脚本运行的结果拼成完整网络图写进毕业论文
- 药企研发工程师,要在药物作用机制研究中产出可交付、可复现的网络可视化图表
- 生物信息分析师,需要把多步流水线的中间产物固化为 SIF、CSV 等标准格式供下游程序消费
- 使用 Cytoscape 做系统生物学研究的人员,希望网络文件自带完整属性表以便直接做样式映射