2. 蛋白功能预测的数据基础
蛋白功能预测建模的第一步不是选模型,而是把“数据基础”想清楚。一个蛋白在计算世界里通常以四种形态存在:氨基酸序列(一维字符串)、三维结构(坐标与拓扑)、注释记录(数据库中的证据条目)以及功能标签(可被模型学习的监督信号)。这四者并非并列,而是层层递进:序列是原始输入,结构是序列折叠后的空间约束,注释是实验或同源推断积累的证据,标签则是从注释中提炼出的、可训练的目标变量。理解它们之间的映射与损耗,是后续特征工程与建模成败的关键。
一、氨基酸序列:最通用的输入载体
序列以 20 种标准氨基酸的单字母码表示,例如 MKTAYIAKQRQISFVKSHFSRQ。对建模而言,序列不只是字符,它携带三类可计算信息:组成信息(氨基酸频率、分子量、等电点)、顺序信息(motif、结构域边界、信号肽位置)和进化信息(通过多序列比对得到的保守性谱)。实践中,最常用的序列级特征是位置特异性打分矩阵(PSSM)和隐马尔可夫谱(HMM profile),它们把单条序列扩展为“同源家族中的位置偏好”,显著提升远同源功能的可预测性。
需要注意序列的边界与版本:同一 UniProt 条目可能因可变剪接产生多个异构体,建模时应明确使用 canonical 序列还是特定 isoform,并在数据表中记录 accession 与版本号,否则标签与序列可能错配。
二、结构数据:从实验解析到预测模型
结构数据主要来自 PDB 的实验解析(X 射线、冷冻电镜、NMR),以及 AlphaFold DB 等预测结构库。结构对功能预测的价值在于它直接暴露活性位点、结合口袋、二硫键、跨膜区等序列上难以直接读出的空间关系。常用表示包括:主链坐标、残基接触图(contact map)、溶剂可及表面积(SASA)、二级结构(H/E/C)以及口袋几何描述符。
使用结构数据时要处理三个现实问题:覆盖度(很多蛋白只有部分结构域被解析)、质量(分辨率、B-factor、缺失残基)和映射(PDB 编号与 UniProt 编号的对应关系)。若用预测结构,还应记录模型置信度(如 pLDDT),低置信区域不宜作为强特征。
三、注释数据库:证据的来源与层级
注释数据库把“功能”写成可检索的记录。常见来源包括 UniProtKB/Swiss-Prot(人工审编)、TrEMBL(自动注释)、Pfam(结构域家族)、InterPro(整合签名)、GO(基因本体)、KEGG(通路)、EC 编号(酶催化)以及 CATH/SCOP(结构分类)。这些库的差别不只是覆盖度,更在于证据类型:实验证据(EXP、IDA)、同源推断(ISS)、自动注释(IEA)在可信度上差异很大。
建模时若不加区分地混合所有注释,会把自动注释的噪声当作真标签。一个稳妥做法是:训练标签优先采用实验证据或人工审编条目,自动注释仅用于预训练、弱监督或候选扩展,并在数据卡中标注证据来源。
四、功能标签体系:把注释变成可学习目标
功能标签体系决定了模型“学什么”。常见体系有三类:GO 三元组(分子功能 MF、生物过程 BP、细胞组分 CC),是层级化有向无环图;EC 编号,是酶功能的四级数字分类;Pfam/InterPro 家族,偏向结构域与家族归属。它们可以互相映射,但并非一一对应:一个蛋白可拥有多个 GO 项、多个结构域和多个 EC 号,因此标签通常是多标签、层级化、稀疏且不均衡的。
处理层级标签时,常用策略是沿 GO 图向上传播(true-path rule):若某蛋白具有某个子节点功能,则其所有祖先节点也应为正。这能缓解稀疏,但也会放大负样本比例,需要在损失函数中做类别加权或采用层级损失。
五、四层数据的对齐与工程化处理
把上述四层对象真正用于建模,核心工作是对齐。一个典型流程是:以 UniProt accession 为主键,关联序列、PDB 结构、Pfam 结构域、GO 注释与 EC 编号;对每条记录生成“序列—结构—注释—标签”四元组。对齐时需处理三类不一致:编号体系不同(PDB 残基编号 vs UniProt 位置)、粒度不同(结构域 vs 全长蛋白)、时间版本不同(数据库更新导致注释变化)。
工程上建议维护一张样本表,字段至少包含:uniprot_id、sequence、seq_version、pdb_ids、pfam_ids、go_terms、go_evidence、ec_numbers、label_source。这样在训练、验证与复现时都能追溯每个标签的来源与可信度。