课程介绍与背景

药物靶点发现的重要性

做药物研发的朋友都知道,找到一个靠谱的靶点,基本就成功了一半。靶点说白了,就是药物在体内作用的那个“开关”——可能是某个蛋白、酶或者受体。你把它控制住了,疾病通路就被打断了。

但问题来了:人类基因组里大约有 20000 个蛋白编码基因,其中能被药物安全有效地调控的,真正经过验证的靶点,目前才几百个。我前几年参与过一个抗肿瘤项目,团队花了 8 个月筛选文献,最后发现那个热门靶点早在 2003 年就被报道过安全性问题。白白浪费了时间和经费——这就是靶点发现的痛点。

传统方法怎么找靶点?主要靠实验筛选加人工读文献。一个研究员一天最多精读 5 篇论文,而 PubMed 里光药物相关的文献就超过 2000 万篇。你想想看,这效率完全跟不上。

方法效率成本覆盖率
人工阅读低(5篇/天)高(人力成本)低
关键词搜索中(依赖检索式)低有限
文本挖掘高(千篇/分钟)中(开发成本)高
核心观点:药物靶点发现的关键瓶颈已经从“有没有实验数据”变成了“如何从海量文献里快速提取可靠信息”。文本挖掘正好解决这个问题。

文本挖掘的作用

文本挖掘,说白了就是让计算机替你读论文,把里面提到的基因、蛋白、化合物、疾病、关系等信息自动抽出来。我最早接触这个方向是在做一个文献计量项目,当时需要统计 10 年内的激酶抑制剂报道。如果靠人工,两个研究生干一个月都搞不定。但用 Python 写了个脚本跑了一夜,所有关系对都出来了。

在药物靶点领域,文本挖掘的核心任务有这几个:

  • 命名实体识别(NER)——从句子中找出“EGFR”“imatinib”“non-small cell lung cancer”这类专有名词。
  • 关系抽取(RE)——判断实体之间是不是抑制、激活、结合等作用关系。
  • 归一化(Normalization)——把同义词(比如“EGF receptor”和“EGFR”)映射到同一个数据库ID上。
  • 证据排序——给抽出的候选靶点评分,过滤掉低质量报道。
我个人习惯在项目初期先用规则表达式快速撸一遍数据,看看噪声水平,再决定要不要上机器学习。别一上来就整 BERT,很多场景下 CRF + 词典就够了。

文本挖掘还有一个隐藏优势:可以跨领域关联。比如一篇论文里提到某化合物在细胞实验中对蛋白 A 有效,另一篇里说蛋白 A 在某种癌症中高表达——这两条信息单独看都没用,但合并起来就是一个潜在的药物-靶点-疾病线索。

PubMed 简介

PubMed 是美国国立医学图书馆(NLM)维护的免费文献数据库,收录了全球 3000 多万条生物医学文献摘要。说白了,这是我们文本挖掘最重要的数据源。

我经常被学员问到:“为什么不直接爬 Web of Science 或 Scopus?” 原因很简单:PubMed 提供了完善的 API(E-utilities),完全免费,没有限速条款(只要你别太暴力)。而且它的 XML 格式非常规范,元数据(MeSH 词、作者、年份、期刊)都标记得很清楚。

下面是一个最基础的查询示例,用 curl 调用 E-utilities 搜索“drug target”相关的文献:

curl -s "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=drug+target&retmax=10&retmode=json"

返回的 JSON 里包含 PubMed ID(PMID)列表,然后用 efetch 就能拿到详细摘要:

curl -s "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&id=12345678,23456789&retmode=xml&rettype=abstract"

为什么要学这个?因为我们后续所有章节的自动化抽取流程,第一步都是从这个 API 开始——下载文献集、解析 XML、抽取出句子、再跑实体识别和关系抽取。你掌握了这个起点,后面的代码才能跑起来。

注意:E-utilities 对单个 IP 的并发请求有限制(每秒不超过 3 次,否则会封 IP)。我在项目里吃过这个亏,跑着跑着突然一片 403。解决办法是在请求之间加 time.sleep(0.34),或者用 API Key 提高配额。

PubMed 的数据结构也值得了解一下:每条记录包含标题、摘要、作者、期刊、出版年份、MeSH 词、PMID、PMCID 等。其中 MeSH 词是人工标注的受控词表,对提升文本挖掘准确率很有帮助。比如搜索“Neoplasms”而不是“cancer”,能召回更多相关文献。

药物靶点自动抽取知识体系 PubMed 文献源 文本预处理 命名实体识别 关系抽取 药物-靶点关系库 为什么需要文本挖掘? • 3000万+ 文献摘要 • 人工读不完 • 需自动化抽取靶点

这张图把本章的核心逻辑串起来了:从 PubMed 文献源出发,经过文本预处理、命名实体识别、关系抽取,最终产出药物-靶点关系库。后续所有章节都是在给这张图的每个环节填细节——怎么下载数据、怎么训练模型、怎么提升准确率。

嗯,这里要注意一点:很多人觉得文本挖掘就是调个包跑一下。但我实际经验告诉我,真正上生产环境的时候,80% 的工作量反而在数据清洗和词典维护上。比如 PubMed 的摘要里经常有基因名被截断或者拼写错误,不做处理的话 recall 会很难看。

总结一下:药物靶点发现需要高效的信息提取;文本挖掘是解决这个问题的核心工具;PubMed 是数据源头也是我们整个课程的起点。掌握这三个概念,你就拿到了这堂课的入场券。