news 2026/10/14 7:34:07

TCMSP网络药理学实操指南:成分靶点查询与避坑经验

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TCMSP网络药理学实操指南:成分靶点查询与避坑经验

做网络药理学研究的朋友,十有八九都绕不开TCMSP。这个数据库全称是Traditional Chinese Medicine Systems Pharmacology Database and Analysis Platform,中文一般叫中药系统药理学数据库与分析平台。我最早接触它是在做一篇丹参干预心血管疾病的网络药理学分析时,当时需要把丹参的活性成分、作用靶点、相关疾病串成一条证据链,翻了好几个数据库后发现,TCMSP是最适合干这件事的起点。它把中药、成分、靶点、疾病这几层数据都收拢在一个平台上,查询路径清晰,还自带药代动力学参数供筛选,省去了大量翻文献和跨库比对的时间。

这篇文章我会围绕TCMSP的实际使用展开,重点讲清楚成分靶点查询的完整流程、关键参数该怎么用、数据导出后如何整理成可用于网络分析的形式,以及我在实际操作中踩过的坑和补救办法。无论你是刚接触网络药理学的新手,还是已经做过几轮分析想提升效率的研究人员,这篇文章都能给你一份可以直接照着做的操作参考。

1. TCMSP是什么,为什么做网络药理学会绕不开它

1.1 网络药理学研究到底需要什么数据

网络药理学这个方向,说白了就是用系统性的思路去分析“药物-靶点-疾病”之间的关系。中医药领域做这类研究,尤其需要解决一个问题:一味中药里有几十甚至上百种化合物,哪些化合物真正有活性?它们作用于哪些蛋白?这些蛋白又与哪些疾病通路相关?传统实验方法一次只能验证少数几个成分,慢且贵。而网络药理学恰恰擅长利用已有数据库,在计算层面先把候选关系筛出来,再用实验去验证,从而大幅缩小筛选范围。

要做好这件事,至少需要三类数据:一是中药的成分数据,比如丹参包含哪些分子;二是成分对应的靶点数据,也就是每个分子可能结合哪些蛋白;三是疾病相关的基因数据,用于和成分靶点做映射。很多数据库只覆盖其中某一类,比如只做化合物结构、只做蛋白互作、只做疾病基因。这时候就需要一个能把中药成分和靶点绑定起来的工具,这就是TCMSP派上用场的地方。

我第一次用TCMSP时的感受是,这个平台把查询路径做得很直观。你不需要先去PubMed翻几十篇化合物分离鉴定文献,也不需要去TCGA、GTEx这类测序数据库里大海捞针,只需要输入药材名称,就能得到一份成分列表,再点开每个成分就能看到对应靶点。这种设计思路,摆明了就是给网络药理学研究准备的。

1.2 TCMSP能提供什么,和其他数据库比强在哪

TCMSP收录了约500味中药,涵盖超过三万个化合物,并且给每个化合物标注了较为完整的药代动力学性质,包括口服生物利用度(OB)、类药性(DL)、肠上皮通透性(Caco-2)、血脑屏障通透性(BBB)等参数。这些参数不是简单罗列,而是直接服务于化合物筛选,这是普通成分数据库不具备的差异化价值。

举个例子,我在做黄芪的网络药理学分析时,黄芪在TCMSP中能查到几十种化合物,但如果把这些化合物全部纳入网络,网络会变得极其臃肿,且大量低活性成分会让后续富集分析分散到无关通路。利用OB和DL参数进行过滤后,候选化合物能缩到十几二十个,分析信号明显更集中。这相当于帮你在入口处就做了一轮粗筛,后续跟实验验证的匹配度也会更高。

另外一个很实际的优势是,TCMSP为每个化合物分配了MOL编号,而且靶点信息通过基因名和UniProt ID给出,极大方便了与Cytoscape、STRING等工具衔接。很多数据库的靶点只给蛋白名或只给基因名,你还得自己写脚本去换算。TCMSP在这一点上做得比较友好,下载下来的数据基本可以直接进入分析流程。

当然,TCMSP也不是万能的。它收录的中药和成分数据更偏传统主流药材,一些地方用药、鲜用药材、民间草药,或者近年来新分离的化合物,在TCMSP里可能查不到或数据不全。这点后面我会专门讲怎么用其他数据库补位。

2. 成分靶点查询实操:从药材到活性成分

2.1 快速上手的完整查询流程

打开TCMSP官网,界面上方有Herb name、Ingredient name、Target name等几个检索选项。最常见操作是选Herb name,输入药材的拼音或者中文名。比如查当归,直接输入“Danggui”或“Angelica”,系统会把匹配药材列出来,点击进入该药材的详情页,就能看到所有收录的成分列表。

成分列表很长,每行代表一个化合物,包含MOL编号、分子名称、分子量、AlogP、HBD、HBA、OB、DL、BBB等参数。这时候你要做的是筛选。页面本身没有一键筛选功能,通常做法是把列表下载成CSV文件,用Excel打开,自行设定阈值过滤。下载按钮一般在成分列表的上方或下方,标注为“Download”,点开是CSV格式,数据列完整,够用。

筛选完成后,下一步就是查看成分对应的靶点。回到TCMSP药材详情页,点开某一个成分的MOL编号,会跳转到该分子的详情页面。页面里会列出这个化合物的结构式、分子性质以及已收录的靶点列表。每个靶点通常给出UniProt ID、基因名、蛋白名,部分还附了对应的文献PMID。把这些靶点复制到汇总表里,属于该药材的“成分-靶点”对应关系就建立了。

这里有个操作上的建议:最好不要在网页里一个一个手动复制靶点,效率极低且容易漏。TCMSP其实支持直接从靶点页面导出,但那个功能比较隐蔽。我习惯的做法是,先用浏览器开发者工具看页面结构,或者干脆用Python的requests去抓页面数据,批量提取MOL编号与靶点对应关系。当然,如果你只是做一两次小规模分析,手动整理问题也不大,只是记得把MOL编号和靶点基因名放在同一行对应关系里,因为后面构建网络时每一对关系都要有明确来源。

2.2 核心筛选参数OB、DL、Caco-2到底代表什么

在TCMSP的成分表中,最受关注的三个参数是OB、DL和Caco-2。很多人直接按默认阈值筛选,但不太清楚这些参数的真实含义,我来逐一拆解。

OB即口服生物利用度,指药物经口服进入体循环的相对量。OB越高,说明该成分经口服后能有效到达血液的概率越大。中药传统给药方式以口服为主,因此OB是筛选候选活性成分最常见的过滤条件。TCMSP里OB的默认阈值一般取≥30%,这个数值不是系统官方强制标准,而是文献中普遍采用的经验值。我在做黄芪分析时用的就是OB≥30%,筛完还剩二十几种成分,如果调到40%,候选会明显减少。

DL即类药性,用来评估一个化合物在多大程度上符合已知药物的理化性质特征。DL≥0.18是网络药理学研究中使用最广泛的阈值。很多人不理解为什么是0.18,这个数字来自与DrugBank中药物分子的平均类药性对比,属于统计意义上的经验阈值。DL高的成分更可能在体内表现出类似药物的行为,后续验证成功的概率更高。

Caco-2是肠上皮细胞模型,用来预测药物在肠道的吸收潜力。TCMSP里Caco-2值以数字形式给出,一般大于-0.4认为有较好的肠道吸收能力。但需要注意,这个值低于OB和DL的确定性,因为Caco-2模型只是体外模拟,不能完全代表人体真实吸收情况。实际分析中,很多人并不过滤Caco-2,只在结果讨论时作为辅助参考。

2.3 成分表里的其他参数怎么看

TCMSP成分列表里还有分子量、AlogP、HBD、HBA、BBB等参数。分子量影响药物扩散行为,一般认为大于500的口服药物吸收通常较差,这也就是知名“Lipinski五规则”里的一项。AlogP是脂水分配系数,反映化合物亲脂性,数值适中有利于穿膜,但过高又可能导致溶解度差。HBD和HBA分别是氢键供体和受体数量,与药物和蛋白的结合特性相关,脂肪族和芳香环上的氢键特征会影响分子透过生物膜的能力。

BBB是血脑屏障通透性预测值。如果研究目标是中枢神经系统疾病,这个参数很重要,BBB值高的成分更可能入脑起效。若是外周疾病如心血管、代谢类,BBB反而会影响脱靶风险,这时可以把它作为排除条件。

实际操作中,我的建议是:不要把每个参数都当成硬性过滤条件。筛选的核心应该围绕OB和DL,因为这两个参数在同类研究中被验证最多的、也最能体现候选成分的成药潜力。其他参数可以作为后续讨论的数据支撑,而不是前置过滤条件。过度筛选会让候选成分过少,甚至删掉关键活性分子,导致后续通路分析结果失真。

3. 从成分靶点到疾病靶点:网络构建前的数据准备

3.1 靶点标准化,这一步千万别跳过

从TCMSP拿到成分对应的靶点信息后,你会发现一个绕不开的问题:TCMSP里部分靶点的基因名命名方式与新版UniProt或NCBI Gene注释不完全一致,有些甚至只给了UniProt ID而没有标准基因名。如果直接把原始数据扔进Cytoscape或STRING,会出现大量基因名无法匹配、同一靶点不同拼写被当成不同节点的情况。

我通常的流程分三步。第一步,把TCMSP导出的靶点文件中所有基因名统一转成官方gene symbol,这个可以通过UniProt的ID mapping工具或DAVID数据库完成。第二步,将UniProt ID作为原始标识保留,防止出现名称更新后找不回原始记录的情况。第三步,用R或Python检查是否有重复映射、一个靶点映射到多个基因名的问题,手动修正后再进入下一步。

这里有一个很典型的例子,我早期分析时拿到过一个靶点标注为“CYP3A4”,而TCMSP某成分的靶点列表里另一个地方则写的是“cytochrome P450 3A4”,如果不去标准化,这两条记录在构建网络时会被识别成两个节点,数据量小的时候还能发现,数据一大根本看不出来。所以靶点标准化不是锦上添花,是整个网络药理学分析中必须完成的基础数据清洗步骤。

3.2 疾病靶点获取与交集分析

有了成分靶点,下一步要获取疾病靶点。最常用的几个来源是GeneCards、OMIM、DisGeNET。GeneCards范围广,但噪音相对大,检索“coronary artery disease”会出来上千条基因,建议按相关性分数排序后取前几百名,并且用文献报告的核心致病基因做交叉验证。OMIM收录的数据人工审核严格,信息密度高,适合拿来做核心验证。DisGeNET整合了大量文献和数据库来源,还带疾病-基因关联分数,也值得使用。

拿到疾病靶点集合后,把成分靶点与疾病靶点取交集,交集基因就是候选关键作用靶点。这一步很多人直接复制粘贴到Excel,用VLOOKUP或者条件格式去重,简单场景下够用。但如果你的数据集比较大,比如成分靶点有两三千个,疾病靶点也有一两千个,手动操作容易出错。用R的dplyr做inner_join,或Python的pandas做merge,效率高得多。

交集基因的数量通常会直接影响后续分析的策略。若交集基因少于10个,说明候选靶点过于集中,建议放松疾病靶点筛选条件,或扩大成分筛选范围;若交集基因超过100个,又说明信号过于弥散,需要提高OB、DL筛选阈值,或者考虑用更具体的疾病亚型重新检索靶点。这个调整过程没有标准答案,核心是保持研究问题的聚焦性。

3.3 用Cytoscape构建成分-靶点-疾病网络

数据准备完成后,就进入网络可视化和分析阶段。Cytoscape是网络药理学分析中的主力工具,支持节点和关系边的导入、布局、样式调整,还有大量分析插件。把整理好的三列表格——成分、靶点、来源(TCMSP或疾病数据库)——导入Cytoscape后,节点之间会形成以靶点为中心的网络拓扑结构。

操作上有几个要点。第一,节点类型要区分开,成分节点、靶点节点、疾病节点分别用不同颜色和形状,这样才能一眼看出层次关系。第二,边的粗细或者透明度可以设置成代表证据强度,比如TCMSP来源的边和疾病数据库来源的边用不同线型。第三,保存网络时要保留原始属性表,别只存图形。后续如果要做网络拓扑参数分析,比如度中心性、介数中心性,必须依赖属性数据。

在构建网络之后,通常还会用Cytoscape里的MCODE插件做模块分析,找出网络中的密集连接区域;再用ClueGO或DAVID做通路富集分析,看候选靶点主要富集在哪些通路。TCMSP筛出的成分靶点,经过这轮分析,往往能帮你把作用机制聚焦到炎症、凋亡、氧化应激等几条核心通路上。

这里提醒一句,Cytoscape的版本兼容性有时候会作妖,一些老插件用不了新版3.9以上的运行环境。我做项目时习惯把Cytoscape版本和插件版本一起记录在实验笔记里,确保后续重跑分析时不会因为环境不一致而数据不可复现。

4. 实操避坑指南:常见问题与解决思路

4.1 数据库运行时的高频问题速查

TCMSP虽然整体稳定,但毕竟是学术课题组维护的平台,访问速度和页面稳定性都无法跟商业数据库相比。实际操作中可能遇到的问题,我整理成速查表,都是我亲身经历过的。

问题描述常见原因应对方法
页面打开缓慢或超时服务器负载高或网络原因错峰访问,一般晚上和工作日下午较顺畅;用浏览器无痕模式排除插件干扰
成分列表下载CSV后中文乱码文件编码与Excel默认编码不一致用文本编辑器打开后重新另存为UTF-8编码,或者用WPS打开解决
查询某种药材无结果数据库未收录或拼写不符尝试中文名、拼音、拉丁名多轮检索;换用ETCM或BATMAN-TCM
靶点列表项目少或为空该成分的研究证据不足换用SwissTargetPrediction做结构反向预测补充
点击MOL编号后跳转404页面路径失效或数据库更新回退药材页重新点击,或直接使用成分名在PubMed补充查询
下载数据里靶点名不标准数据库注释版本较旧统一用UniProt ID mapping做标准化处理

这些问题的共性在于,TCMSP本质上是学术资源,不是商业级产品,做研究时要有心理准备,留足数据获取和清洗的时间,不要把数据库访问想象成用搜索引擎那样丝滑。

4.2 数据质量与覆盖不足的应对

TCMSP收录的化合物和靶点数据,很大一部分来自文献报告和公共数据库的历史注释,因此存在两个现实问题:收录滞后和证据偏少。

滞后表现在,近年新分离的天然产物、新解析的靶点结合机制,在TCMSP里大概率查不到。你如果研究的是偏门药材或新发现的活性成分,不要指望TCMSP直接给全答案。我做过一次关于某种地方习用药材的分析,在TCMSP里只能找到寥寥三个化合物,完全不足以构建有意义的网络。这时我改用中药药理学数据库ETCM,以及文献信息更丰富的BATMAN-TCM,才凑齐了基本的成分-靶点关系。

证据偏少则意味着,一个成分有时只对应一两个靶点,并不是它的真实靶点全貌,只是已有研究只报道了这一两个。这种情况在分析中很常见,如果你的核心成分恰好是这种数据稀薄的状态,我建议你把这个成分的SMILES结构式拿出来,丢进SwissTargetPrediction做结构相似性反向预测,再结合STRING的蛋白质互作关系做扩展。这样获得的候选靶点虽然来自计算预测,但可以作为实验验证前的参考假设。

还有一个容易忽略的问题,就是TCMSP数据库中药名与药材基原之间的联系。同名药材在不同基原、不同产地条件下,成分差异可能很大。TCMSP里收录的是通用药材信息,不一定对应你实验中使用的具体批次。因此在论文或报告中引用数据时,要明确说明数据来源于TCMSP数据库,并标注查询日期,这既是学术严谨性的要求,也是数据可重复性的保证。

4.3 版本陈旧、基因名命名差异的交叉验证方法

TCMSP的靶点信息更新并不频繁,有些基因名还停留在旧版本命名规则里。比如肿瘤坏死因子在旧注释中写作TNF,这算是好的;有的则用别名甚至全名形式,导致后续分析匹配不上。这种情况下,交叉验证是最好的解决办法。

第一步,用UniProt的Retrieve/ID mapping把TCMSP里的靶点标识批量转成当前版本的gene symbol。第二步,用STRING数据库或BioGRID数据库验证这些基因之间的互作关系是否合理。第三步,抽几个核心基因到PubMed查阅近期文献,确认这些靶点与疾病关联没有被更新的研究推翻。

我在实际操作中还会做一件事:把TCMSP里查到的成分靶点与DrugBank中相同成分的已知靶点做对比,凡是两边都出现的靶点,后续讨论中可以作为高置信结果优先解释;只有TCMSP单方面出现的,则用更严谨语气表述,避免过度解读。

5. TCMSP之外的补充查询方案与延伸工具

5.1 成分结构反推靶点的替代路径

当你发现TCMSP里某个目标药材的靶点数据不足时,可以考虑从成分结构出发做反向预测,SwissTargetPrediction和PharmMapper是两条比较成熟的路径。

SwissTargetPrediction的思路是,通过比较目标分子的结构相似性,找到已知靶点的相似配体,从而预测目标分子可能结合的蛋白。你需要做的只是把成分的SMILES式或结构文件上传上去,选择物种为人类,平台会返回带有概率分数的靶点列表。我把这个方法用在TCMSP数据补全时,通常将预测靶点概率阈值设在0.5以上,再与TCMSP已有靶点做合并。

PharmMapper则走的是药效团匹配路线,它通过反向找靶算法,把化合物结构映射到药效团数据库中的已知靶点上,适合拿来做新化合物靶点探索。它的输出结果包含Fit Score,一般不直接作为阈值,而是先取排名前五十的靶点,再用文献验证。这两条路径在TCMSP数据满足不了需求时,能发挥很好的补充作用。

当然,计算预测得到的靶点一定要标注为“预测结果”,不能当作已验证事实写入论文。很多人用预测数据时没有标注来源,这是学术不端的边缘行为,必须避免。

5.2 疾病-药物关联的更广查询思路

疾病靶点的获取和验证,TCMSP本身不提供,需要用外部疾病数据库配合。GeneCards因其收录广泛,最常用于首次检索,但它的结果里可能包含大量间接关联基因,甚至假阳性。我建议在GeneCards检索结果的基础上,再叠加OMIM中的核心基因列表,同时参考GWAS数据库已报道的疾病相关位点,这样三个来源的并集可以扩大覆盖面,三个来源的交集则可以作为高置信候选。

如果研究涉及的是肿瘤方向,还可以加入TCGA或GEPIA的差异表达数据作为外部验证。把疾病靶点限定在特定组织中确实高表达的基因,候选基因集合会更贴近真实病理机制。我在分析乳腺癌相关靶点时,就是先用GeneCards拿全貌,再用GEPIA对候选基因做癌组织与正常组织的表达差异验证,最后富集分析的结果比单纯用GeneCards清晰很多。

做疾病靶点映射时容易犯的一个错误是:把所有数据库检索来的基因不加区分直接合并,导致背景噪音过大。我的习惯是先建好证据等级,比如文献报道过因果关系的标记为A级,多个数据库共同收录且关联分数高的标记为B级,仅单库收录且关联分数一般的标记为C级。这样可以随时清楚哪些是核心靶点,哪些是候选拓展靶点。

5.3 批量数据处理与保存规范

网络药理学研究涉及的数据往往是多数的、多来源的,如果靠手工维护,出错概率极高。我建议从一开始就建立规范的数据管理流程:每个数据库下载的原始数据单独存一个文件夹,以“数据库名-查询日期-检索词”命名;清洗后的标准数据统一存成CSV,另开一个字段记录清洗规则;最终用于网络分析的表格再单独做一版,确保每一步可追溯。

具体的批量处理工具,我常用Python的pandas。读取TCMSP导出的成分表后,用apply函数生成新的筛选列,再统一汇总为一个数据框。靶点合并时,用merge按UniProt ID关联,能自动去掉Excel合并时常见的重复行问题。R语言的处理逻辑类似,dplyr和tidyr组合包可以完成大多数清洗操作。

保存数据时要特别注意编码问题,CSV文件大多建议保存为UTF-8 without BOM,否则导入Cytoscape或R环境时容易出现乱码。另外,所有中间数据不要覆盖原始文件,哪怕你觉得清洗后的版本才是有用的,原始数据也是一切分析可信度的根源。

6. 写在最后的一点个人经验

TCMSP是网络药理学入门学习中最合适的起点数据库,但它的价值不完全在于给你一个“正确答案”,而在于帮你在复杂的中药成分世界里建立起一条可追踪的证据路径。数据分析的每一条边、每一个靶点,背后都应该能回答出“这个信息从哪来、经过什么处理、置信度如何”。这套方法论,远比某个数据库本身重要。

我踩过的坑换来的经验是:不要等问题出现后才补救,数据下载和清洗阶段就做好记录,后面分析会顺畅得多;不要迷信默认参数,OB和DL只是入门筛,具体研究场景下要对筛选阈值和理由做出明确说明;不要只看TCMSP,它与外部数据库的交叉验证才是产出可靠结论的基础。

如果你第一次用TCMSP做成分靶点查询,建议先拿一味常用药材完整走一遍流程,从成分列表下载、参数筛选、靶点导出、标准化清洗,再到Cytoscape画出一个简单网络。走完这一步,再去应对多药材、多靶点的大数据分析,就会游刃有余很多。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/14 7:33:58

Pytest更优雅:Python自动化测试框架实战指南

写测试这件事,干得越久越觉得:一门自动化测试框架的“优雅程度”,直接影响你愿不愿意把用例持续写下去。早期我写用例用unittest,setUp、tearDown、各种断言方法满天飞,一个简单的登录接口测试也要继承TestCase类&…

作者头像 李华
网站建设 2026/10/14 7:33:21

从养马到数字员工:Hermes Agent实战课教你构建智能体系统

1. 从“养马”到“数字员工”到底在讲什么第一次看到“从养马到数字员工”这个说法,我愣了几秒。养马和数字员工,这两个词放在一起,跨度大得像是把农耕文明和硅基文明硬拽到同一张桌子上。但仔细琢磨之后,我发现这个类比其实相当精…

作者头像 李华
网站建设 2026/10/14 7:32:52

物理集群搭建:大数据稳定性的硬件地基与硬核调优指南

1. 项目概述:这不是搭几台服务器,而是重建数据处理的“地基”“大数据 - 第九课 :物理集群的搭建”——光看标题,很多人第一反应是:“哦,又是一节Hadoop安装课?”但如果你真这么想,后…

作者头像 李华
网站建设 2026/10/14 7:32:36

雅思听力提分神器:王陆语料库3.4版使用全攻略

1. 项目背景与核心价值作为雅思备考的核心资料之一,王陆听力语料库3.4版本在考生群体中有着"听力提分神器"的口碑。这个看似简单的单词听写训练素材,实际上暗含了英语母语者的发音规律和雅思听力的高频考点。我在连续三年跟踪50名学生的使用效…

作者头像 李华