☰
从序列到互作:蛋白信息查询数据库与结构预测全攻略
2026/10/20 8:59:42 网站建设 项目流程

做蛋白相关研究的人差不多都有过这种时刻:实验做到一半,忽然想知道手里这个蛋白到底有几个功能域、有没有人解过结构、在细胞里跟谁互动、不同物种里保不保守。直接去搜索引擎里敲名字吧,出来的全是文献摘要,信息碎得像拼图。真正靠谱的做法,是学会用专业的蛋白信息查询工具,把序列、结构、功能、互作四类数据分别从对应的数据库里捞出来,再拼到一起。这篇文章可以看成一份使用指南,面向刚接触生物信息学的研究生、准备做蛋白实验的同行、甚至只是好奇自己课题里那个未知蛋白到底是什么的人。我会从数据库分类讲到 UniProt 的具体操作,从三维结构检索讲到功能注释和互作网络,最后用一个虚构蛋白案例把整套流程串起来,保证你看完能直接照着做。

1. 蛋白信息地图:先把四类数据库的定位搞清楚

想高效地查蛋白信息,第一件事不是背工具名,而是理解数据库的分类逻辑。蛋白相关的数据从低层到高层大致分为四层:序列、结构、功能注释、分子互作。每一层都有对应的专业数据库,它们彼此不重复,谁也替代不了谁。

1.1 序列、结构、功能、互作,四类库各有分工

序列层面最常用的是 UniProt,它保存蛋白的氨基酸序列,同时汇总了功能、亚细胞定位、翻译后修饰、异构体等注释信息,是绝大多数查询的第一站。结构层面要分清实验结构和预测结构:实验结构主要看 PDB 数据库,里面存的是通过 X 射线晶体学、冷冻电镜、核磁共振等手段解析出来的三维坐标;如果某个蛋白还没有实验结构,可以去 AlphaFold 的预测结构库查看整体折叠模型。功能层面常用 InterPro 和 Pfam,用于识别蛋白属于哪个家族、拥有哪些保守结构域、关键位点大概在什么位置。互作层面常用 STRING,它整合了实验证据、共表达数据和文献挖掘结果,可以告诉你某个蛋白可能跟谁发生直接或间接相互作用。

我见过不少新手纠结"到底该查哪个库",问题本质上是没区分"你想回答哪类问题"。查蛋白有没有信号肽,去 UniProt;查它催化残基在三维结构里长什么样,去 PDB;查它属于哪个激酶亚家族,去 InterPro/Pfam;查它是不是一个枢纽蛋白,去 STRING。把这四类库的分工记在脑子里,后面每一步都不会乱。

1.2 四个库之间的天然联动

这些数据库并不是孤立的,它们通过稳定的编号体系互相引用。UniProt 条目里会列出对应的 PDB 结构编号、InterPro 条目号、GO 编号,以及同源蛋白的对应条目;PDB 页面也会反链回 UniProt。也就是说,你从任何一个库进入,最终都能顺藤摸瓜走到其他库。

这种联动有什么实际意义?举个常见的例子:你手里只有一条序列,不知道它是什么蛋白。可以用这条序列去和 UniProt 里的已知蛋白做比对,找到高相似度条目后,再点进它的结构链接,查看是否有实验结构;如果实验结构缺失,再回到 UniProt 的序列边界信息去 AlphaFold 拉预测模型。整个过程不需要手动复制序列反复提交,数据库之间的交叉引用已经替你把线穿好了。

下表是我整理的一个快速对照,日常查询时可以直接对着选库:

我想知道什么首选数据库/工具能得到什么
序列、功能注释、亚细胞定位UniProt氨基酸序列、功能描述、拓扑结构、异构体、PTM、相关疾病
有没有三维结构、结构长什么样PDB / AlphaFold实验或预测的三维坐标、结构质量指标
属于哪个家族、有哪些保守结构域InterPro / Pfam结构域布局、家族归属、关键位点提示
跟哪些蛋白互作STRING互作网络、置信度得分、证据来源
参与了哪些通路通路类资源(KEGG/Reactome 等)通路条目、上下游关系
序列相似性搜索BLAST/FASTA同源蛋白、可能的功能迁移

表格下面想特别提醒一点:通路类资源(如 KEGG 等)在国内某些网络环境下访问体验参差不齐,日常用得比较多的是把 UniProt 的 GO 注释和 STRING 通路富集功能结合起来,也能覆盖大部分需求。

2. UniProt 实操:蛋白身份档案的一次性收齐

UniProt 是蛋白信息查询的核心工具之一,重要性怎么强调都不过分。它把序列、功能、分类、结构链接、相互作用、疾病相关性等信息集中在一个条目里,是后续查询的"根据地"。但很多使用者只在搜索框里敲个蛋白名,点开第一条就走,并没有把 UniProt 用深。

2.1 三种入口:蛋白名、基因名、序列

第一种入口是按常用蛋白名检索。比如输入某个激酶的名称或别名,UniProt 会返回一批条目,这里面第一个要注意的是物种选择,因为同一个蛋白名在不同物种里对应不同条目。第二种入口是按基因名检索,预测基因名做笔记时比蛋白名更稳定,但保守性差一些,不同蛋白随意取名的情况很常见。第三种入口是拿序列来反查,这是最稳妥的方式:复制你手里的全长或部分序列,放进搜索框用 BLAST 类功能比对,以序列相似度和覆盖度筛选候选条目。

实际操作中我的建议是:先用蛋白名粗筛,再用物种和基因名精确定位,如果目标条目的序列与你的蛋白序列完全一致或覆盖度极高,基本可以确认找对了。很多人只拿"名字匹配"当标准,结果把人的蛋白和鼠的蛋白混为一谈,这个坑在后续做抗体实验时会被无限放大。

2.2 读懂一个 UniProt 条目的关键字段

UniProt 条目页信息量很大,不需要全部阅读,但下面这些区块值得逐行看一遍。

Function 区块描述蛋白在细胞里的角色,包括酶活性、催化反应、参与的通路等。请注意标注"By similarity"的地方,表示该注释是从同源蛋白推断来的,不是本条目蛋白直接实验证实的,引用时要说清楚。

Subcellular location 区块告诉你蛋白最终定位在细胞核、线粒体还是分泌途径等,判断这个信息的时候要结合是否有信号肽、跨膜区。PTM 区块记录磷酸化、糖基化、泛素化等翻译后修饰位点,实验设计和质谱比对时非常有用。

Sequences 区块里有推荐序列和各物种异构体,多异构体、多亚型蛋白要小心,你实验用的 cDNA 具体是哪一种异构体,必须和条目里的某一种序列严格对应,否则后面一切分析都会错位。Disease 相关注释表示该蛋白变异与某些疾病关联,这些信息从临床研究汇总而来,写文章引用时记得注明来源。

还有一个容易被忽略的字段是 Sequence caution,它提示某些数据库中的序列可能存在错误,比如翻译起点选择不同。看到这个标识不要慌,对比同源蛋白后选择最合理版本即可。

2.3 Reviewed 与 Unreviewed 的区别,以及版本坑

UniProt 条目分两类:reviewed(人工审核)和 unreviewed(自动注释)。人工审核的条目质量高,命名规范,优先使用;未审核条目由算法自动生成,可能存在错误或冗余。查询时建议过滤掉 unreviewed,除非你研究的物种太冷门,只有未审核条目可用。

版本问题上,我踩过一次实实在在的坑。某次做进化分析,从 UniProt 下载了同一蛋白在不同时间点保存的序列,发现比对结果出现莫名其妙的差异,后来检查发现是因为 UniProt 会不定期更新序列,删除了陈旧版本。正确的做法是:重要分析前记录 UniProt 条目的 entry version 和 sequence version,并把下载日期写进结果表,这样即使后续数据库更新,你也能追溯自己当时用的是哪个版本。批量下载时尤其要注意,不要用缓存了半年的文件做分析,先刷新再下载。

3. 三维结构查询:从 PDB 到 AlphaFold 的完整套路

蛋白序列只是一维信息,要理解它的工作机制,必须看三维空间里哪些残基聚在一起形成活性口袋或结合界面。这一部分也是新手最容易迷路的地方:知道要去查结构,但不知道该用什么关键词,也不知道查回来的结构到底可不可信。

3.1 别只用名字搜 PDB,序列搜索才稳

PDB 数据库支持按蛋白名称、基因名、配体、作者等检索,但"按名字搜"存在明显局限:同一个蛋白在不同物种、不同文章里可能有不同叫法,一个蛋白又常常有几十个甚至几百个结构条目,对应不同突变体、不同配体、不同构象。我妹(这里误写了,应该改回)我比较推荐的方式是:先在 UniProt 里找到目标蛋白的条目,再通过该条目页面的结构交叉引用直接跳转到 PDB 条目。这样可以确保拿到的是标准化数据结构,而不是靠名字瞎搜一堆无关条目。

还有一种场景:你手里是一条全新的、没有注释的序列,想知道有没有人解析过同源蛋白的结构。这时不要搜名字,直接用序列比对搜索 PDB 数据库,以序列一致度和覆盖度为依据找出最相似的已解结构。这种基于序列的搜索才是结构查询的正确姿势。

我稍微纠正一下自己的口误,继续往下说。PDB 条目页里会显示蛋白名、物种、解析方法、分辨率和配体信息。解析方法很重要,冷冻电镜和 X 射线晶体学的数据形态不同,但都可以用;核心是看分辨率。

3.2 结构质量指标怎么读:分辨率、R因子、缺失残基

拿到一个 PDB 条目,别急着下载文件,先看三个指标。第一是分辨率,晶体学结构通常用埃(Å)表示,分辨率小于 2.5 Å 算比较可靠,大于 3.5 Å 就要谨慎,只适合看大体的结构拓扑,不适合讨论具体侧链构象。第二是 R 因子和 R-free,这是用来衡量模型与实验数据契合程度的,R-free 越低越好,一般在 0.2 到 0.3 之间波动;如果 R-free 明显偏高,说明模型可能被过度拟合或建得有问题。第三是缺失残基和电子密度不连续区域,PDB 页面上通常会给出覆盖的蛋白片段,如果某个功能域整段缺失,说明该区域可能结构不稳定或无法被解析。

还有一个非常实用的习惯:把结构下载下来后,用结构查看器检查配体周围的电子密度信息(若提供)。很多关键相互作用都发生在配体结合口袋,这种位置如果配体周围被蛋白残基紧紧包围,说明结合位点可靠;如果配体周围的残基与文献描述不符,很可能配体只是晶体环境里的人工结合。这种经验性判断无法从文本描述中获得,必须在三维视图里亲眼确认。

3.3 没有实验结构时的备用方案

相当一部分蛋白到现在还没有高分辨率实验结构,可能因为膜蛋白难表达、柔性区域过多等原因。这时候 AlphaFold 数据库就是一个重要补充。AlphaFold 提供预测的蛋白三维坐标,可以快速看到整体折叠、结构域排列和表面性质,但不建议把它当作原子级别的精确结果,尤其是柔性区域和配体结合口袋的细节,预测可信度要打折扣。

同源建模是另一个思路:以已解结构的同源蛋白为模板,用 SWISS-MODEL 等工具构建目标蛋白的模型。操作上少走弯路的办法是,先用 UniProt 里的序列去比对 PDB,挑几个覆盖度高、分辨率好的模板,再提交给建模工具。无论用 AlphaFold 还是同源建模,都要记住一句话:预测结构是提出假说的手段,不是验证假说的证据。做突变体功能验证之前,最好结合分子动力学模拟与实验数据互相印证,别把预测模型当成绝对真相。

4. 功能注释与互作网络:把蛋白放回细胞场景里

只知道一个蛋白的序列和结构,还谈不上理解它。蛋白的"功能"是在细胞环境里通过跟其他分子互动实现的。这一节要解决的是:怎么读取功能注释体系,怎么识别保守功能域,怎么判断互作网络里哪些关系值得信。

4.1 Gene Ontology 三件套的正确解读姿势

Gene Ontology(简称 GO)是目前最通用的功能注释体系,它把蛋白功能拆成三个维度:分子功能(molecular function)描述蛋白本身做什么,比如结合 ATP、催化磷酸转移;生物学过程(biological process)描述这个功能在通路上产生什么结果,比如参与信号转导;细胞组分(cellular component)描述蛋白在细胞结构里的位置,比如定居在质膜或线粒体内膜。

看 GO 注释时,不只读术语名称,还要看它的证据来源代码。实验证据(如 IDA、IPI)要比计算推断(如 IEA、ISM)更可靠。很多数据库自动注释的 GO 条目铺天盖地,如果没有实验证据支撑,只能当弱参考。我在做一项功能分析时,从某个数据库中拉出来的 GO 富集结果里有大量低质量推断注释,差点误导了对通路核心逻辑的判断,后来手工筛查了每个显著富集条目对应的证据代码,问题立刻暴露。

4.2 结构域与关键位点:Pfam/InterPro 怎么看

Pfam 已经整合进 InterPro 体系,但很多文档仍沿用 Pfam 领域名。使用 InterPro 或者 Pfam 查看蛋白时,注意两个核心信息:结构域的位置和家族归属。位置决定了你在做截短突变或定点突变时该动哪个区域;家族归属则直接关联功能猜测,比如一个蛋白含有激酶结构域,基本可以推测其催化磷酸化反应。

关键位点部分更细:InterPro 会标出功能残基、活性位点、结合位点等。读法是把这些位点和 UniProt 条目里的 PTM 位点、疾病突变位点放到同一个坐标系里对比。如果某个保守残基既被注释为活性位点,又出现在氨基酸序列比对中的完全保守位置,这个位点大概率承担关键功能;如果位于结构域的疏水核心,还被报道是磷酸化位点,那就格外值得设计实验验证。

还有一个技巧:打开 Pfam 页面时,页面下方的 alignment 视图会展示同源序列比对结果,你可以快速判断某个序列位置的保守程度。这种"保守性+功能位点"双重证据法,比单纯读注释文本更有力度。

4.3 STRING 互作网络的判读方法

STRING 是查询蛋白互作网络最常用的数据库之一。它把实验数据、共表达、共现、文献挖掘等多种证据折算成置信度分数。初次访问先把物种选对,再输入目标蛋白,就能生成网络图。这里最大的误区是直接把默认网络图里所有连线都当真。

建议先把置信度阈值调到 0.4 或 0.7 的档次,中文版界面上显示为"中等置信度"和"高置信度",再看网络节点规模。其次打开每条边,查看证据类型:实验证据标记为 Experiments,数据库出现在其他数据库中的则标记为 Databases,如果你研究的是人类蛋白,而某些互作只来自酵母中的推断,这条边就要谨慎。最后,看网络里那些"枢纽节点"需要区分是真正的通路核心还是数据库里的研究热门,很多 Hub 只是因为在文献里被研究得最透,并不代表它生理上最重要。

我的建议是:把 STRING 的互作数据当作候选清单,再用 Pull-down、免疫共沉淀或荧光互补实验去验证其中一两条高置信度关系,不要直接把整张网络图贴进文章当结论。

5. 完整调研链路:从一个蛋白名到一份档案

前面四节是分散的工具讲解,这一节把它们串起来。我用一个虚构案例演示完整的操作顺序,这个流程是我在实际工作中反复验证过的高效路线,适合绝大多数学术场景。

5.1 以某个激酶为例逐步串联

假设某课题组从转录组筛选里发现了一个和细胞周期调控显著相关的未命名激酶类蛋白,官方编号为 GeneX,s 需要用公开数据库把它调查清楚。

第一步,打开 UniProt,在检索框里输入 GeneX 并限定物种为人类。如果该基因有 reviewed 条目,直接打开;如果没有,则切换到其他物种的 reviewed 同源条目做参考,记录 GeneX 在人类中的 unreviewed 编号,并在后续所有分析里注明"基于同源注释"。

第二步,从 UniProt 条目里复制蛋白序列,去 InterPro 查询结构域。假设结果显示它含有一个丝氨酸/苏氨酸激酶结构域和一个钙调蛋白结合区,我们就可以推测它可能受钙信号调控。此时回到 UniProt 的功能区和 GO 注释,找是否有"钙离子结合""蛋白磷酸化""细胞周期"等条目,逻辑链就初步成形。

第三步,查找结构。先在 UniProt 页面看有没有 PDB 交叉引用;假设没有实验结构,就用序列去 AlphaFold 数据库搜索预测模型,下载预测结构并查看整体折叠。注意观察激酶结构域是否完整折叠成典型的双叶型结构,催化残基是否聚集在活性口袋附近。

第四步,用 STRING 构建互作网络。输入 GeneX,选择人类,观察它与已知细胞周期激酶(比如虚构的一个 CDK 样蛋白)的连线。再看互作证据类型,如果存在共表达和高置信度实验证据,就可以把 GeneX 定位到细胞周期调控网络里,形成一个可以进一步设计实验的假说。

5.2 档案输出模板与证据记录

做完上面四步,建议把结果整理进一张蛋白档案表,格式如下:

字段内容数据来源与日期
蛋白名/基因名/物种
主要功能描述
亚细胞定位
结构域组成与位置
关键 PTM 位点
实验结构编号(若有)
预测结构编号(若有)
主要互作伙伴与置信度
GO 注释关键词
序列版本/条目版本

这张表每月更新一次,做一轮实验前的调研和实验后的复检都直接从表里取数。保存证据时注意两点:一是每个条目都记录数据库下载日期和版本号,二是把重要的网页截图或导出的文本文件放在统一文件夹里,防止数据库更新后丢失痕迹。

6. 批量场景与常见坑:效率提升的进阶笔记

单个蛋白的查询流程熟悉后,很多人会遇到批量场景:做组学筛选拿到上百个候选蛋白,或者要为一组同源蛋白建结构模型。这时候逐个人工查询已经没有意义,需要用批量工具。

6.1 批量查询和 ID 映射的实用方法

UniProt 提供 ID mapping 功能,可以把一组基因名、蛋白登录号、RefSeq 编号批量转换成另一类编号,比如从基因名映射到 UniProt ID,再从 UniProt ID 抓对应序列。操作上把列表粘贴到在线工具的 ID Mapping 页面,选择来源和去向类型,提交后即可导出。如果不会用网页端,也可以使用 UniProt 的 REST API,用一个小脚本循环请求,例如给定一组 UniProt 编号,向接口请求对应的序列和注释,再写入本地文件。

用 bash 或者 Python 的 curl 都能实现,下面是一个极简 Python 示例,用来批量下载指定条目列表的序列:

# 批量获取UniProt条目序列的极简示例 import urllib.request ids = ["P12345", "Q13485"] for pid in ids: url = f"https://rest.uniprot.org/uniprotkb/{pid}.fasta" with urllib.request.urlopen(url) as resp: print(resp.read().decode(), end="")

这个例子的重点是展示请求模式。跑批量之前建议加上异常处理和休眠,避免请求过快被封或超时。写脚本时优先用官方 REST 接口,因为在持续维护,格式稳定;不要自己解析整个数据库文件,除非你只需要少数冷门物种。

6.2 我总结的高频坑清单

最后把我在长期使用中积累的几类高频坑列出来,都是真实发生过的麻烦事。

序列版本混用是最常见的问题。同一蛋白在不同数据库里的序列可能差几个残基,原因包括信号肽裁剪、异构体选择、测序错误等。解决方案是始终以 UniProt 推荐序列为准,并在所有分析中锁定同一个 entry 版本。

物种误判也频繁出现。很多蛋白的命名在不同物种间相似度极高,尤其在检索框里输入一个简写的大写字母缩写时,很可能同时返回人、鼠、斑马鱼、果蝇的条目,点错一个后面全错。建议在搜索栏显式限定物种,或者把共同的 GN(gene name)字段与物种字段一起加入筛选。

异构体混用是被低估的陷阱。多个异构体的蛋白,功能可能完全不同,如果你要表达某个异构体做实验,必须精确匹配序列。从 UniProt 异构体列表里明确选择的 isoform 编号,越级复制主序列做引物设计,实际操作中不少见。

数据库更新导致 ID 失效,这在保存旧分析时特别伤人。离线保存的基因列表里旧登录号,几个月后部分会失效。定期用 ID mapping 刷新一次编号库,可以把风险降到最低。

最后还有一个不属于数据库但仍要提的坑:BLAST 检索时 E 值设得太松,把一堆遥远同源序列当蛋白真同源;设得太死,又漏掉重要保守结构域。对不同目的设不同阈值,比如找直系同源关系时要求覆盖度大于 80%,而找保守结构域时只要局部匹配显著即可。

批量工具做多了以后,我养成了一个习惯:每次分析之前先花十分钟确认数据源版本、锁定目标条目编号、记录下载时间,再把脚本或命令放进一个历史记录文件。这个习惯看起来笨,却救了我好几次,也让我后来复盘时能快速定位问题出在数据源还是参数选择上。做蛋白信息查询,真正的效率不是跑得快,而是每一步都留痕、都可追溯、可复现。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询