别再手动查文献了!用TCMSP+PubChem搞定中药成分收集,附Excel模板
中药网络药理学研究的高效数据采集方法论第一次接触网络药理学研究时最让我头疼的就是中药化学成分的数据收集工作。记得当时为了完成一个简单的中药复方研究整整花了两周时间在不同数据库和文献中反复查找、比对、整理数据结果还因为格式不统一导致后续分析频频出错。这种低效的手工作业方式在网络药理学这个需要处理海量数据的领域显得尤为不合时宜。经过多个项目的实践我总结出了一套标准化数据采集流程能够将原本需要数周的工作压缩到几天内完成且数据质量更高。这套方法的核心在于合理利用专业数据库的批量查询功能配合经过优化的Excel模板实现从原始文献到标准化化学信息的快速转换。下面将详细介绍如何运用TCMSP、PubChem等工具构建高效工作流。1. 中药成分采集的三大数据源网络药理学研究的第一步也是最为基础性的工作就是准确全面地收集中药化学成分信息。传统的手工文献查阅方式不仅效率低下而且容易遗漏重要成分或产生数据格式混乱。现代研究应当充分利用以下三类数据源的组合优势1.1 专业数据库的批量查询TCMSP数据库Traditional Chinese Medicine Systems Pharmacology Database是目前最常用的中药成分数据库之一。其优势在于提供中药成分的**类药性(DL)和口服生物利用度(OB)**等关键药代动力学参数可直接导出成分的SMILES结构式和CAS登记号关联了部分成分的已知靶点信息典型查询流程示例访问TCMSP官网(https://old.tcmsp-e.com/)在Herb name字段输入中药英文名如Angelica sinensis设置筛选条件建议OB≥30%且DL≥0.18导出全部结果到CSV格式注意TCMSP收录的中药拉丁名可能与《中国药典》不一致建议先通过数据库的浏览功能确认准确名称。对于TCMSP未收录或信息不全的中药可以尝试以下补充数据库数据库名称网址主要特点ETCMhttp://www.tcmip.cn包含中药-成分-靶点-疾病网络BATMAN-TCMhttp://bionet.ncpsb.org.cn提供成分靶点预测功能TCMIDhttp://www.megabionet.org/tcmid收录复方配伍信息1.2 文献数据的结构化提取当数据库信息不足时仍需借助文献检索补充成分信息。高效处理文献数据的关键在于建立标准化提取模板预先设计包含所有必要字段的Excel表格批量下载相关文献利用CNKI、PubMed的高级检索功能使用文献管理软件如EndNote或Zotero进行去重和分类我开发的Excel模板包含以下关键字段1. 编号自动生成 2. 中文名称从文献提取 3. 英文名称优先使用IUPAC名 4. CAS号用于PubChem查询 5. SMILES结构式编码 6. 分子量用于后续筛选 7. 来源文献DOI或PMID1.3 实验数据的整合策略对于通过LC-MS等实验手段新发现的成分需要特别注意质谱数据需转换为标准分子式新化合物应通过PubChem验证建立内部编号系统与已知成分区分实验数据与数据库信息的整合流程将实验得到的分子式输入PubChem核对匹配结果中的结构信息对全新化合物标注特殊标识统一导入主成分列表2. 化学成分信息的标准化处理收集到原始成分数据后标准化处理是保证后续分析质量的关键步骤。这个阶段常见的问题包括同物异名、结构重复和关键信息缺失等。2.1 成分去重与合并中药成分经常存在多种命名方式需要通过技术手段识别实质相同的化合物。推荐的处理流程CAS号优先原则具有唯一CAS号的成分直接合并SMILES比对对无CAS号的成分进行结构相似性比较手动校验对相似度高的成分进行人工确认使用OpenBabel工具进行批量SMILES比对obabel -ismi input.smi -osmi -O output.smi --unique2.2 关键信息的补充完善对于缺少SMILES或CAS号的成分可通过以下方式补充PubChem批量查询准备成分英文名称列表使用PUG-REST API进行批量查询解析返回的JSON数据提取所需字段示例API调用import requests def get_cas_from_pubchem(compound_name): url fhttps://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/name/{compound_name}/property/CAS/JSON response requests.get(url) if response.status_code 200: return response.json()[PropertyTable][Properties][0][CAS] return None化学结构转换工具对于只有分子式的成分使用ChemDraw或MarvinSketch生成结构导出为标准SMILES格式通过InChIKey进行唯一性验证2.3 数据质量验证在进入下一步分析前必须对数据集进行完整性检查必填字段验证确保每个成分至少有1种标识符CAS/SMILES/InChIKey结构有效性检查使用RDKit等工具验证SMILES的化学合理性来源追溯记录每个成分的数据来源便于后续核查验证SMILES有效性的Python代码片段from rdkit import Chem def is_valid_smiles(smiles): mol Chem.MolFromSmiles(smiles) return mol is not None3. 从化学成分到靶点网络的构建获得标准化的成分信息后下一步是建立成分-靶点的关联网络。这一步骤将直接影响后续的PPI分析和通路富集结果。3.1 靶点预测的多策略融合不同数据库和预测工具各有侧重建议采用组合策略提高靶点覆盖度数据库直接查询TCMSP和ETCM中已有的实验验证靶点DrugBank中的已知药物-靶点对计算预测方法SwissTargetPrediction基于2D相似性PharmMapper基于药效团匹配SEA相似性 ensemble approach各预测工具的特点比较工具名称输入要求优势局限性SwissTargetPredictionSMILES界面友好结果直观仅预测人类靶点PharmMapper3D结构文件不受相似性限制需要结构优化SEASMILES考虑多靶点协同预测结果较宽泛3.2 靶点数据的标准化处理不同来源的靶点标识符需要统一为标准的Gene Symbol处理步骤包括标识符转换使用UniProt的ID mapping工具或DAVID基因功能分析工具的转换功能物种过滤保留Homo sapiens的靶点去除物种不符或未明确的条目置信度筛选实验验证靶点优先保留预测靶点根据多个工具的一致性进行筛选批量UniProt ID转换示例import pandas as pd from bioservices import UniProt u UniProt() mapping u.mapping(frUniProtKB_AC-ID, toGene_Name, queryP12345,P67890)3.3 网络构建与初步分析使用Cytoscape构建成分-靶点网络时建议节点属性完整区分成分节点和靶点节点边权重设置根据关联强度实验/预测设置不同权重拓扑分析计算度中心性等关键指标网络文件的基本结构示例source,target,interaction_type quercetin,PTGS2,inhibition kaempferol,AR,activation4. 高效工作流的实现技巧通过以下优化措施可以进一步提升整个研究流程的效率4.1 自动化脚本的应用针对重复性高的操作可以开发小型自动化脚本文献数据提取使用Python的pdfminer库解析PDF文献正则表达式匹配化学名称和CAS号数据库批量查询利用各数据库提供的API接口设置合理的请求间隔避免被封禁数据清洗转换OpenRefine工具处理混乱的命名Pandas库进行表格数据的合并与去重4.2 质量控制的关键点在整个流程中需要特别关注的质量控制环节成分收集阶段确保覆盖主要活性成分避免重要成分遗漏靶点预测阶段设置合理的置信度阈值平衡假阳性和假阴性网络分析阶段检查核心靶点的生物学合理性4.3 常见问题解决方案在实际操作中经常遇到的问题及应对策略问题1TCMSP查询不到目标中药解决方案检查拉丁名拼写尝试同属不同种或使用ETCM补充问题2PubChem中同分异构体难以区分解决方案结合文献报道的主要活性构型或全部保留后续验证问题3不同预测工具的靶点结果差异大解决方案取多个工具的交集或根据药理实验数据验证经过多个项目的实践验证这套方法能够将中药成分数据收集的时间缩短70%以上且数据质量显著提高。关键在于建立标准化的工作流程合理利用各种工具的批量处理功能避免手工操作带来的误差和低效。