1. 课程导入与全景认知

蛋白质是生命活动的执行者,其功能几乎完全由氨基酸序列决定。然而,从一串由 20 种氨基酸字母组成的序列,到“这个蛋白能否结合 ATP”“它定位在线粒体还是细胞核”“某个突变是否致病”,中间隔着一条需要计算建模来打通的信息链路。蛋白序列表征学习要解决的,正是这条链路的第一环:把变长的离散氨基酸序列,映射为定长、稠密、可计算的数值向量,使下游的机器学习模型能够在此基础上完成分类、回归、检索或生成任务。

理解这一环节的价值,可以用一个具体对比说明。假设我们要预测 500 条蛋白是否具有跨膜结构。若采用传统做法,需要人工设计特征:氨基酸组成(20 维)、二肽组成(400 维)、疏水性指数均值、电荷分布等,特征工程耗时且依赖领域经验。而采用预训练蛋白语言模型(如 ESM-2 的 650M 参数版本),只需将序列输入模型,取最后一层隐藏状态做均值池化,即可得到每条蛋白 1280 维的嵌入向量。这 1280 维向量并非人为定义,而是模型在数千万条序列上通过掩码语言建模任务学到的上下文相关表示。随后接一个线性分类器或两层 MLP,就能完成预测。表征学习把“设计特征”的工作,转移为“选择模型与提取方式”的工作。

从工程视角看,一个完整的蛋白序列表征学习与下游任务系统,通常包含五个相互衔接的环节,它们构成课程后续章节的主线。

  • 数据层:序列来源(UniProt、PDB、Pfam)、标签来源(GO 注释、EC 编号、突变致病性数据库)、序列长度分布与去冗余(常用 CD-HIT 以 30%~50% 相似度阈值聚类)。
  • 表征层:选择或训练编码器,包括 one-hot、k-mer 频率、预训练语言模型(ESM、ProtBert、Ankh)、结构感知模型(如基于 AlphaFold 结构的 GNN)。
  • 任务层:将嵌入接入下游头,常见任务包括残基级分类(二级结构、结合位点)、序列级分类(酶功能、亚细胞定位)、回归(稳定性 ΔΔG、表达量)、检索(相似序列搜索)与生成(序列设计)。
  • 评估层:按任务选择指标,分类用 AUROC、F1、MCC,回归用 Spearman 相关、RMSE,检索用 Recall@K,并注意按序列相似度划分训练/验证/测试集,避免同源泄漏导致指标虚高。
  • 部署层:模型导出(ONNX、TorchScript)、批量推理、显存与吞吐权衡、嵌入缓存(对固定数据集可预先计算并落盘为 .npy 或 HDF5)。

下图给出这五个环节之间的数据流与依赖关系,同时标出每一环最关键的输入输出对象,便于在后续章节中定位自己正在处理的问题属于哪一层。

蛋白序列表征学习与下游任务工程全景 数据 → 表征 → 任务 → 评估 → 部署,五层数据流与关键对象 ① 数据层 UniProt / PDB / Pfam GO / EC / 突变标签 CD-HIT 去冗余 输出:序列集 + 标签表 长度分布 / 划分策略 ② 表征层 one-hot / k-mer ESM-2 / ProtBert / Ankh 结构感知 GNN 输出:定长嵌入向量 如 1280 维 / 残基级表示 ③ 任务层 残基级:二级结构 / 位点 序列级:功能 / 定位 回归:ΔΔG / 表达量 输出:预测头 + 损失函数 检索 / 生成任务 ④ 评估层 分类:AUROC / F1 / MCC 回归:Spearman / RMSE 检索:Recall@K 同源划分防泄漏 基线对比与消融 ⑤ 部署层 模型导出:ONNX / TorchScript 批量推理 · 显存与吞吐权衡 嵌入缓存:.npy / HDF5 落盘 输出:可复现的推理服务或脚本 通过评估后固化 反馈调优 课程项目主线:以“酶功能分类 + 突变致病性预测”为贯穿案例,逐层实现数据构建、表征提取、下游训练、评估与部署 每一层都可独立替换:换编码器、换任务头、换评估协议,形成可对比的实验矩阵

需要特别强调的是,表征层与任务层的边界是工程中最容易混淆的地方。预训练模型输出的嵌入向量本身没有“功能标签”含义,它只是序列在模型语义空间中的坐标。同一个 ESM-2 嵌入,接线性层可以做亚细胞定位,接 CRF 可以做残基级二级结构,接对比学习头可以做序列检索。因此,课程在讲解每个下游任务时,都会明确区分“冻结编码器提取特征”与“微调编码器”两种模式:前者计算成本低、适合小样本快速验证;后者通常能提升 3~8 个百分点的 AUROC,但需要更多显存与训练时间。实际选择时,可先用冻结模式跑通全流程,确认数据划分与评估指标无误后,再解冻顶层若干层进行微调。

在评估环节,蛋白领域有一个区别于通用机器学习的特殊风险:同源泄漏。如果训练集和测试集中存在相似度高于 30% 的序列,模型可能只是记住了同源家族的特征,而非学到可泛化的序列表征。因此,标准做法是先对整个数据集做 CD-HIT 聚类,再按簇划分训练/验证/测试,确保同一簇的序列只出现在一个子集中。这一细节会在后续数据章节中给出具体命令与参数示例。

本课程共 30 章,按“数据 → 表征 → 任务 → 评估 → 部署”五层递进展开。第 1 章建立全景认知后,第 2~6 章深入数据获取与预处理,第 7~14 章讲解各类表征方法(从传统编码到预训练语言模型),第 15~24 章覆盖典型下游任务,第 25~28 章讨论评估与调优,第 29~30 章完成部署与项目复盘。建议在学习每一章时,都回到本节的五层全景图中定位当前环节的输入输出,避免陷入孤立的技术细节。

最后给出一个贯穿课程的项目总览,帮助建立目标感。项目以“酶功能分类 + 突变致病性预测”为双任务案例:输入是 UniProt 中带 EC 编号的酶序列,以及 ClinVar 中标注为致病/良性的错义突变序列;表征采用 ESM-2 650M 提取嵌入;任务层分别接多分类头和二分类头;评估采用按同源簇划分的 AUROC 与 MCC;部署阶段将嵌入预计算并缓存,推理时只运行轻量分类头。整个项目的数据规模、模型选择与超参数都会在对应章节给出可复现的示例配置,所有数值均标注为教学示例,读者可用自己的数据替换后重新运行。