TCMSP中药成分筛选
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_aabd9d68/tcmsp-ingredient-screening。
技能介绍
要解决的问题
TCMSP 是中药成分与靶点数据的常用来源,但手工整理存在几个反复出现的麻烦:网页抓取的字段不统一,OB/DL 是字符串需要自行转数值比较,筛选后还要按 MOL_ID 回表匹配靶点,最后 TCMSP 给出的是蛋白名,下游网络药理学分析(Cytoscape、STRING、KEGG 富集)需要的是标准基因符号。这个技能把「抓取 → 筛选 → 合并 → UniProt 映射」串成一条顺序执行的管线,最终产出 Drug_Targets_Gene_List.txt,下游脚本可以直接读取。
核心能力与关键步骤
四步严格顺序依赖,不能跳步:
- Step 1 抓取:输入中药中文名(支持
--list批量),脚本自动获取搜索 token,默认 1.5 秒间隔避免限流,输出{Pinyin}_Ingredients.json和{Pinyin}_Targets.json。 - Step 2 筛选:默认 OB≥30 且 DL≥0.18,也可用
--ob/--dl自定义阈值;OB、DL 转 float 失败的记录直接跳过。无参数运行时自动发现目录下所有未筛选的成分文件。 - Step 3 合并:扫描
*_Targets_Filter.json,抽取Drug、MOL_ID、Molecule_Name、Target_Name四列,合并为All_Targets.json。 - Step 4 映射:下载人类蛋白组 TSV 缓存到
np-output/cache/,用四层策略(精确 → 归一化 → 结构化拆解 → 别名表)把蛋白名映射到 UniProt ID 与 Gene Symbol,输出 JSON/CSV/TXT 三种格式。
需要注意的几点
NOT_FOUND 决策门是硬约束:只要 Match_Status 出现任意一条 not_found,就必须停下交给用户判断,不能带着缺口继续跑下游。脚本会把未匹配靶点追加到 target_aliases.csv 作为待填模板,用户确认 A(补映射后重跑)或 B(忽略继续)后再决定下一步。
缓存层面,uniprot_proteome.tsv 与 disease-target-collection 技能共享,跨技能不会重复下载;首次下载跨天或文件过小时会重新拉取。运行前还要检查输出目录是否有残留文件,脚本本身不防覆盖,同名文件可能被直接覆盖。
本技能只负责药物侧靶点采集,疾病靶点、韦恩图、PPI、富集分析都要交给后续技能,不要拿它做这些任务。
使用场景
- 在开展当归单味药网络药理学研究时,需从TCMSP抓取全部成分并按OB≥30、DL≥0.18筛选活性化合物。
- 处理丹参、川芎、白芍复方研究时,要批量抓取多味中药成分,合并筛选后得到统一靶点列表。
- 准备Cytoscape构建药物靶点网络前,需将TCMSP返回的蛋白名映射为标准UniProt ID和Gene Symbol。
- 需要审计靶点匹配质量时,要生成含四层匹配状态的CSV日志,人工复核非精确匹配条目。
适合人员
- 网络药理学方向的研究生,需从TCMSP采集中药靶点基因,支撑后续PPI和富集分析。
- 中药研发工程师,要按OB/DL阈值筛选活性成分,产出标准化靶点列表用于药效机制研究。
- 生物信息学分析师,需将非标准化的TCMSP蛋白名映射为UniProt标准标识,保证下游分析的数据一致性。
- 手动整理过TCMSP靶点数据、需要审计匹配过程的科研人员,想通过别名表和日志文件管理未匹配条目。