news 2026/10/18 7:52:00

蛋白质信息查询全指南:从UniProt到PDB与AlphaFold DB

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
蛋白质信息查询全指南:从UniProt到PDB与AlphaFold DB

1. 蛋白质查询的前提:搞清楚你到底想问什么

1.1 一个从质谱结果开始的“查户口”场景

先讲个我身边的真实场景。前阵子有位同学做质谱,拿到三个多肽片段,序列分别是类似“VHLTPEEK”“GTFATLSELH”这样的短串。他第一反应是拿 BLAST 去比对,结果一下子出来几百个命中,物种从人到鱼都有,完全不知道怎么收场。问题不在于工具不好用,而在于他打开方式错了——他手里的是“肽段证据”,想得到的却是“完整蛋白档案”,中间隔着一个信息查询的基本思路:先锁定物种、再锁定条目、最后才去看注释。

所以我一直觉得,搞生物的人如果不先学“怎么查蛋白”,后面所有的实验设计、突变位点选择、抗体采购,都在打盲牌。蛋白信息查询不是点几下网页那么简单,它本质上是一套信息检索思维:你知道自己有什么线索,你清楚目的地长什么样,然后在公共数据库里沿着交叉引用的路标一步步走过去。这篇文章就把我平时用的一套流程完整写出来,包括数据库怎么选、检索词怎么给、批量转换怎么做,以及那些我踩过不止一次的坑。

1.2 蛋白信息本质上是七个问题

在设计查询方案之前,我习惯让学生先把问题拆开。一个蛋白“是什么”,在生物信息学里至少包含七个维度:

  • 序列:全长多长?信号肽在哪?有哪些保守残基?
  • 结构:三维形状是什么?活性中心长什么样?
  • 功能:分子功能是什么?参与哪个生物过程?
  • 定位:在细胞里待在哪个区室?
  • 修饰:有没有磷酸化、糖基化、乙酰化?
  • 互作:它跟谁结合?形成二聚体还是多亚基复合物?
  • 变异:有哪些天然突变?哪些跟疾病相关?

不同问题对应不同的数据库入口。我用一张表总结了最常用的路径:

你想问什么首选数据库什么时候用
序列、功能、注释、定位UniProt拿到基因名或蛋白名,查完整档案
三维结构、配体结合PDB(实验结构)蛋白已有晶体结构或冷冻电镜结构
预测结构AlphaFold DB实验结构缺失时看计算模型
结构域、保守位点InterPro / Pfam想拆解蛋白有几个结构域
通路与功能富集KEGG / GO 注释做组学分析、看蛋白属于哪条通路
蛋白-蛋白互作STRING想找这个蛋白的“社交圈”
变异与疾病UniProt 变异注释 / ClinVar关心突变后果

你发现问题没有:没有一个数据库能回答所有问题。蛋白质信息查询的核心能力,是知道“这个问题该去哪个库问”,以及“库和库之间的交叉引用怎么跳”。我见过太多人只会在 UniProt 里点开一个页面,把上面内容复制粘贴到实验记录里就算查完了,其实漏掉的信息量很大。

2. 三个绕不开的数据库:UniProt、PDB 与 AlphaFold DB

2.1 UniProt:蛋白档案库的封面页

UniProt 是绝大多数查询的第一站,理由很简单:它是目前公共且免费的蛋白序列与功能注释数据库里,注释最全面、条目最规范的一个。你在搜索框里输入一个基因名、蛋白名、别名甚至一段序列,它都能帮你找到对应条目。

UniProt 里一个条目是一份“蛋白户口本”。拿人血清白蛋白举例,点进去你会看到编号、推荐名、基因名、长度、功能描述、亚细胞定位、结构域、翻译后修饰、序列。它分成两大区块:被人工审核过的叫 Swiss-Prot,标记为 reviewed;由基因组自动翻译、没有被人工审过的叫 TrEMBL,标记为 unreviewed。我选条目时有个习惯:优先看 reviewed 的。不是说 TrEMBL 一定错,只是它可能来自预测,注释质量不稳定。如果某蛋白只有 unreviewed 条目,我会再去比对其同源蛋白的 reviewed 条目,辅助判断。

2.2 PDB:实验测出来的三维结构仓库

如果 UniProt 回答的是“这个蛋白是什么”,PDB 回答的就是“这个蛋白长什么样”。PDB 里的结构来自 X 射线晶体学、冷冻电镜、核磁共振等实验手段,代表的是真实测量结果,不是电脑算出来的。

但用 PDB 有个容易忽略的细节:同一个蛋白往往对应好几个条目。还拿血红蛋白来说,脱氧状态有一个结构、氧合状态有另一个结构,不同突变体又各有一个条目,甚至同一状态下不同实验室测的也有区分。这些结构之间可能差别很大。所以下载 PDB 文件之前,先看清三件事:实验方法是什么、分辨率多少、条目的题目里写了什么条件。分辨率越低、结构越粗糙;题目里写明的配体、突变、pH 条件,直接决定了它适不适合你的研究场景。

2.3 AlphaFold DB:把没有实验结构的蛋白补上

实验结构不是每个蛋白都有的。很多膜蛋白、孤儿蛋白、长链非编码区对应的蛋白,测了几年也没有晶体结构。AlphaFold DB 这类预测结构库就是为这个缺口准备的。它的原理是通过深度学习,把序列信息映射到三维坐标上,给出一个置信度分数。

这里的置信度非常重要。AlphaFold 会给每个残基一个 pLDDT 值,通俗讲就是“这块结构我有多相信”。你打开一个预测模型,页面会有颜色渲染:深蓝色区域可信度高,橙色红色区域基本就是在瞎猜。我自己的原则是:pLDDT 高的区域可以用于突变设计、对接前期准备,低分的环区必须当不存在,别拿去做原子级别的对接分析。预测结构是很好的假设来源,但它永远不能替代实验验证。

3. 完整实操:从“一个名字”走到“一份档案”

3.1 先确定输入形式再选入口

很多人卡在第一步,就是拿着一张线索不知道该输入哪里。我总结了常见的几种情况:

  • 只有一个基因名(比如 HBB):直接去 UniProt 做基因名检索,记得限定物种。
  • 只有一个蛋白名(比如 hemoglobin subunit beta):可用 UniProt 的蛋白名检索,但要注意重名和多个物种命中。
  • 手里是一段未知肽段:先做 BLAST,在 UniProt 的 BLAST 功能里把序列贴进去,等结果出来了再看条目。
  • 已经有 PDB 编号:可以直接去 PDB 看结构,也可以从 UniProt 反查这个结构对应哪个蛋白。
  • 只有分子量和等电点:这个最麻烦,光凭这两个值很难定位,最好结合质谱鉴定流程或其他证据一起判断。

我有一次帮人查蛋白,他只知道“是个分子量 35kD 的蛋白”,结果候选蛋白几十个。后来加了等电点、组织来源和第一段序列,才把范围缩小到三个。所以我的建议是:打开数据库之前,先把自己手里的证据列成清单。证据越多,查询越准。

3.2 血红蛋白查询演示:逐步走完六个环节

下面我用血红蛋白的 beta 亚基当例子,完整走一遍查询流程。这个例子经典、信息全,适合新手照着做。

第一步,打开 UniProt 主页,在搜索框输入 “hemoglobin subunit beta human”。关键词给得具体一点,避免混进 alpha 亚基和别的物种。结果列表里会有一个 reviewed 条目,鼠标移上去能看到物种那一栏明确标着 Human。

第二步,点进这个条目后,第一件事看“Function”和“Subcellular location”。血红蛋白的功能注释会写氧气的运输、二氧化碳的运输,以及它主要定位于红细胞的细胞质。这一栏信息可以直接拿去做实验背景描述,比你从综述里抄一段更对口。

第三步,往下拉到“Protein names”和“Gene names”区域,确认你查的是不是目标基因。如果 UniProt 里有多个别名,这里会列出来。很多文献里用的老旧命名,在 UniProt 里都能对上。

第四步,看“Family & Domains”和“PTM / Processing”。血红蛋白 beta 亚基的这段区域会告诉你它的珠蛋白折叠样式、保守位点、有没有信号肽、有没有已知的翻译后修饰位点。做突变设计时,这一块是重中之重:别把突变落在对结构至关重要的疏水核心,尽量选表面暴露的残基。

第五步,把序列导出。点页面右上角的“Download”,选 FASTA 格式,把完整全长序列存下来。建议存成一个命名规范的文件,比如 HBB_HUMAN_20250115.fasta,方便以后回溯版本。

第六步,去做结构查询。去 PDB 搜索页面输入 “hemoglobin”,限定物种为 human,你会看到几十个条目。优先挑分辨率高、标题条件跟你研究相关的结构。顺便去 AlphaFold DB 查同一个 beta 亚基,把预测结构和实验结构叠在一起看。AlphaFold DB 一般会给全长模型,而实验结构经常缺一段 loop,两者互补。

3.3 查询过程中的四个避坑提示

这里有几个新手最容易踩的问题,我先提前说。

物种必须卡死。搜 “hemoglobin” 会出来一大堆物种,如果你不做限制,很容易下载到马、牛或者其他动物的结构或序列。不是说其他物种完全不能参考,但拿来做人类蛋白的突变分析,前提就不成立了。

序列版本要对上。你用某篇论文的引物序列去 UniProt 比,发现多了两个残基,别急着怀疑数据库错了。可能是这篇论文用的参考序列版本比较老,也可能是你引物覆盖的转录本亚型不同。建议以 UniProt reviewed 条目为准,同时记下查询日期。

注意别名干扰。同一个蛋白在不同数据库里叫法不一样,尤其在旧文献里。用 UniProt 的 cross-reference 功能去核对最稳,别只查一个名字就当查完了。

区分亚基和全蛋白。血红蛋白是四聚体,alpha 亚基和 beta 亚基各有独立条目。你要做全长蛋白或某个亚基,先搞清楚研究对象是哪一层。这个在 UniProt 里看“Subunit structure”注释就够了。

4. 进阶玩法:跨库联动和批量 ID 转换

4.1 从 UniProt 的交叉引用跳到更专业的库

UniProt 页面上有一块内容很容易被忽略——“Cross-references”。这一块简直就是信息高速公路的出口指示牌。它会把当前蛋白在几十个其他数据库里的对应条目列出来,包括结构域数据库、互作数据库、变异数据库、文献索引等等。

我平时查一个新蛋白时,会在 UniProt 主页面看完注释之后,专门花五分钟清点一遍交叉引用。看互作数据库,能提前知道这个蛋白帮谁干活;看结构域数据库,能确认保守模块的位置;看变异数据库,能发现有没有跟疾病关联的已知突变。这一轮扫下来,我基本能判断这个蛋白值不值得深入做,以及从哪个角度切入最省力。

这里分享一个习惯:把交叉引用当作“蛋白地图”的路标,而不是终点。比如我从 UniProt 跳到互作数据库后,通常会再点两三个互作伙伴,看看它们是不是同一通路里的常客。这样查蛋白就不再是单点了解,而是网络化认知。

4.2 用批量映射把几十个蛋白一次性串起来

做组学分析时,你经常手里有一份几十上百个基因名的列表。挨个去网页查,效率太低。这时候需要 ID 映射功能。UniProt 官网的“ID Mapping”工具,可以让你把一种类型的标识符转换成另一种,比如把基因名转成 UniProt ID,再转成 STRING 的蛋白 ID。

实际流程是:把基因名列表粘进去,选择输入类型为“Gene name”,输出类型为“UniProtKB”,记得选择物种,然后提交。返回结果可以直接下载成表格,之后再用这个映射表去做功能富集或互作网络分析。

如果你习惯用脚本,也可以用 UniProt 的 REST API。比如用 Python 循环查询一批基因名:

import requests import pandas as pd genes = ["HBB", "HBA1", "HBA2"] rows = [] for gene in genes: url = "https://rest.uniprot.org/uniprotkb/search" params = { "query": f"gene_exact:{gene} AND organism_id:9606 AND reviewed:true", "format": "tsv", "fields": "accession,id,gene_names,protein_name,length" } r = requests.get(url, params=params) if r.status_code == 200 and len(r.text.strip()) > 1: lines = r.text.strip().split("\n") rows.append(lines[1]) # 第一行是表头,这里跳过表头直接取数据行 result = pd.DataFrame([row.split("\t") for row in rows]) print(result.head())

这个脚本的思路很直白:对每个基因名构造查询,限定人类、限定 reviewed 条目,然后取需要的字段。实际跑起来,几十个蛋白也就几十次请求,很快就完成了。注意 organism_id 别搞错,人类是 9606。你要是换成小鼠,就改成 10090,不然结果全空。

4.3 做一个自己的蛋白档案卡

用熟了这些查询之后,我强烈建议你做一个“蛋白档案卡”。不要依赖某一次网页截图,把最关键的信息沉淀成一个固定格式的表格,存入你的实验记录。我自己的模板字段如下:

字段填写示例
蛋白名Hemoglobin subunit beta
基因名HBB
UniProt Entry从条目页复制
物种Human
长度147 aa
亚细胞定位红细胞胞质
关键结构域珠蛋白
已知突变记录疾病相关位点
代表结构PDB 条目号
预测结构AlphaFold DB 链接
查询日期2025-01-15

做档案卡的好处是,一旦三个月后你再拿起这个蛋白做实验,不用重新花半小时从头查一遍。我因为当时偷懒没存档,后来还要重新搜索同一个蛋白,白白浪费不少时间。次数一多,这个教训就记死了。

5. 常见问题与排雷手册

5.1 一张表看懂典型问题

我用一张速查表汇总查询时遇到最多的几种情况:

症状可能原因解决办法
UniProt 搜出来只有 unreviewed 条目该蛋白注释少,没人审核比对同源蛋白的 reviewed 条目辅助判断
序列跟文献对不上数据库版本更新或异构体差异记录查询日期,优先用 reviewed 条目的当前版本
搜到多个物种的相同蛋白没限定物种在检索词里补充 species 或人工筛选
找不到结构该蛋白没有实验结构换 AlphaFold DB,或找同源蛋白的结构做模建
PDB 条目一堆不知道怎么选没看条件注释优先高分辨率、与实验条件吻合的条目
下载的 TSV 打开后数字变乱Excel 自动转换格式用文本编辑器或指定导入格式打开

5.2 我踩过的几个坑

第一个坑:用 Excel 打开 UniProt 下载的 TSV 文件。有些字段里的标识符带字母 E,Excel 会把它们当成科学计数法,比如 9E5 变成 900000。我当时做翻译后修饰位点分析,发现数据里突然多出一堆超大数值,排查半天才发现是格式问题。后来我统一用支持 TSV 的工具打开,或者固定在导入时把列设置为文本格式。

第二个坑:把同一个蛋白的 R 态和 T 态结构当成一回事。血红蛋白两个状态的结构差异非常大,活性中心和亚基排布都变了。如果你做分子对接,用错了状态,算出来的结合模式可能完全靠不住。看到 PDB 条目里写“deoxy”或“oxy”、是否带配体,先别急着下载,仔细看题目里的状态说明。

第三个坑:忽略预测结构的置信度。AlphaFold DB 的模型看起来漂亮,但低置信度的 loop 区域经常是乱的,当成真实坐标去设计实验,结果很可能不理想。我刚上手的时候也犯过这种错,把一段理论模型中的环区当抗原表位来设计抗体,跑完实验才发现那段区域根本高度可变,白折腾一轮。

5.3 预测结构什么时候能信

我现在的判断标准很简单:看 pLDDT,也看用途。序列比对、结构域划分、同源建模的辅助参考,可以用预测结构。但做原子级对接、动力学模拟、配体结合口袋分析,就要谨慎了。特别是在预测模型里基本看不到共价修饰、金属中心、辅因子结合这些实验证据要多花心思去结构里验证的内容。我的处理方式是:把 AlphaFold 模型当“高分略图”,把 PDB 实验结构当“实地测量数据”,两个叠合比对之后,取交集区域作为可靠的参考范围。

6. 把查询写成工作流:命令行、脚本和日常工具

6.1 用 curl 和 Python 快速拉取条目

网页查询适合临时看一眼,但如果你要反复处理大量蛋白,就得学会用命令行和脚本。UniProt 提供 REST API,最基础的操作是直接下载 FASTA 序列。假设你已经拿到目标条目的 UniProt 编号,用 curl 就能抓下来:

curl -L "https://rest.uniprot.org/uniprotkb/你的条目编号.fasta"

返回内容类似于:

>sp|某编号|基因名 蛋白名 OS=Homo sapiens OX=9606 GN=HBB PE=1 SV=2 VHLTPEEKSAVTALWGKVNVDEVGGEALGRLLVVYPWTQRFFESFGDLSTPDAVMGNPK...

这段 FASTA 头信息里包含了物种代码、基因名、序列版本,非常关键。如果只是复制粘贴序列,这些头信息很容易丢。用脚本下载就能把序列和注释一起存档,后续处理方便很多。批量场景下,把编号列表循环丢进去请求,就能一次性拿到整批序列。

6.2 本地数据管理与保存习惯

蛋白信息查得多了,本地文件会越来越乱。我的建议是建立固定目录结构:

  • raw_seq/ 存放下载的 FASTA 原始序列,命名规则建议是“基因名_物种_日期”。
  • annotations/ 存放 UniProt 导出的注释表格,统一用 TSV 格式。
  • structures/ 存放 PDB 文件或 AlphaFold 预测模型,文件名里带上条目号和状态。
  • analysis/ 存放比对、对接、富集分析的中间结果。

每次下载都记录日期很重要。数据库不是一成不变的,序列可能有修订,条目可能合并。能定位到某一次查询的时间点,意味着你可以回溯当时用的版本。这也能防止后来发现结果对不上时,说不清是数据库更新了还是自己记错了。

6.3 数据库不是一成不变,版本更新要盯住

我见过不少同学拿着半年前的截图跑来问我“为什么现在查不到这个条目了”。原因可能很简单:UniProt 每隔一段时间就会发布新版本,一些条目会被合并、拆分或者重新编号。PDB 那边更是每周都有新结构入库。所以我会在实验记录里单独列一栏“数据库访问日期”,同时定期关注核心数据库的发布动态。

如果你正在写论文,尤其是要做比较分析,一定要写明数据来源和访问日期。审稿人看到“数据获取时间为 2025 年 1 月”,会认为你注意到了可重复性问题,这比正文里多写两句套话有价值得多。

7. 写在最后:把查蛋白变成肌肉记忆

我个人在实际操作中的体会是,蛋白信息查询这件事,最大的门槛不是数据库多难用,而是很多人习惯“查到一个名字就收工”。但真正的信息检索,应该是从序列出发,串起结构与功能网络,再用交叉引用不断外延,直到你对这个蛋白有了一个立体的认知框架。养成这个习惯之后,你再看文献里某个蛋白的结果,一眼就能判断作者有没有选错结构、用错物种、忽略关键注释,这对读文献判断质量也有直接帮助。

最后再分享一个小技巧:每次拿到一个新的目标蛋白,别急着做实验,先花半小时把档案查全,然后把档案卡存进实验记录。等你在后续实验里遇到莫名其妙的结果时,翻回到当天存下的注释,多半能找到解释。蛋白的世界信息量大,但只要你学会用正确的工具问正确的问题,它其实比想象中好懂。

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

工作流原生办公:任务为中心的下一代生产力范式

1. 项目概述:这不是又一个办公套件,而是一次工作流底层逻辑的重写“WorkBuddy悄悄干了件大事,下一代Office真来了!”——这句话在技术圈和效率工具社群里刷屏那天,我正帮某高校实验室重构他们的科研协作流程。看到标题…

作者头像 李华
网站建设 2026/10/18 7:48:01

智能降AIGC免费工具推荐!万方AIGC检测AI率从77.17%降到5.4%!

智能降AIGC免费工具推荐!万方AIGC检测AI率从77.17%降到5.4%! 假设你是本科物流管理专业,毕业论文1.1万字,学院在通知里写明用万方做AIGC检测,要求AI率不高于30%。你自己用免费检测查了一下,第二章文献梳理…

作者头像 李华
网站建设 2026/10/18 7:47:54

NetBox Labs新增网络设计模板与AI智能体,简化基础设施运维

新平台功能亮相于NetBox Evolve大会,NetBox Labs同时宣布与英伟达和Grafana Labs达成合作。NetBox始于2016年,最初是一款用于记录网络资产的开源工具。在当今的AI时代,了解网络上有什么变得比以往更复杂、也更为必要。NetBox Labs今日在其首届…

作者头像 李华
网站建设 2026/10/18 7:47:06

Vue+PHP搭建体育联赛购票系统:从数据库到防超卖完整解析

还真有人问过我这个问题:用Vue做前端、PHP做后端,能不能撑起一套篮球、足球联赛的购票系统?我的回答是能,而且对于业余联赛、校园联赛、企业邀请赛这个量级,这套组合的性价比远比我一开始想象的更高。我帮某个赛事组委…

作者头像 李华
网站建设 2026/10/18 7:46:55

像商业分析师一样拆解AI初创公司:以MiniMax为样本

如果你平时也混科技创投相关的圈子,最近几年肯定绕不开“大模型初创公司”这个话题。后台经常会有人问我,MiniMax到底是一家什么样的公司?产品在哪里?靠什么赚钱?适不适合去面试?我做技术出身,后…

作者头像 李华