蛋白质的表达方式主要有以下几种:
1. 氨基酸序列表示法
- 单字母代码:使用20种标准氨基酸的单字母缩写(如A、C、D、E等),是最常用的表示方法
- 三字母代码:使用三个字母表示每种氨基酸(如Ala、Cys、Asp等),更具可读性
- 全名称:使用完整的氨基酸名称,通常在详细文档中使用
2. 计算生物学中的表示法
- One-hot编码:将每个氨基酸转换为长度为20的二进制向量
- 数值编码:将氨基酸映射到特定数值(如物理化学性质)
- 词嵌入:使用预训练模型生成的向量表示
- BPE编码:我们之前创建的Byte Pair Encoding词库,用于蛋白质序列的分词
3. 结构表示法
- 一级结构:氨基酸的线性序列
- 二级结构:α螺旋、β折叠等结构元素
- 三级结构:完整的三维空间构象
- 四级结构:多亚基复合物的组装方式
4. 特殊标记表示
在我们创建的deepseekr1词库中,使用了以下特殊标记:
<P>:蛋白质序列开始标记<|startoftext|>:文本开始标记<|endoftext|>:文本结束标记
这些表达方式在不同的应用场景中各有优势,我们之前创建的词库主要用于机器学习模型的蛋白质序列处理。
蛋白质序列在不同的表示和处理层面有不同的考虑:
1. 核心序列组成
- 纯氨基酸序列 :在大多数计算生物学和机器学习应用中,蛋白质序列通常指的是纯氨基酸序列,即由20种标准氨基酸(A、C、D、E、F、G、H、I、K、L、M、N、P、Q、R、S、T、V、W、Y)组成的线性链
- 这是我们词库处理的基础:我们创建的蛋白质BPE词库主要基于这种纯氨基酸序列表示
2. 蛋白质的翻译后修饰
- 糖基化:糖蛋白确实存在,是蛋白质链上连接了糖链的修饰形式
- 其他常见修饰 :
- 磷酸化(Ser、Thr、Tyr残基)
- 甲基化(Lys、Arg残基)
- 乙酰化(N端或Lys残基)
- 泛素化(Lys残基)
- 二硫键(Cys残基之间)
3. 序列表示中的处理方式
- 标准表示 :在大多数数据库(如UniProt)中,蛋白质序列通常以纯氨基酸序列形式存储,翻译后修饰会在注释中说明,而不是直接体现在序列中
- 特殊表示系统 :有些专业数据库会使用扩展的氨基酸代码来表示修饰,例如:
- 使用"U"表示硒代半胱氨酸
- 使用"O"表示吡咯赖氨酸
- 使用特殊符号表示修饰位点
4. 在我们的词库中的处理
- 我们的BPE词库:主要处理标准的20种氨基酸序列
- 适用范围:对于大多数机器学习任务,纯氨基酸序列已经足够捕捉蛋白质的基本特征
- 扩展可能性 :如果需要处理修饰后的蛋白质,可以:
- 使用特殊标记来表示修饰位点
- 扩展词库以包含修饰相关的token
- 在模型训练中单独处理修饰信息
5. 实际应用中的考虑
- 数据来源:从PDBbind等数据库获取的蛋白质序列通常是纯氨基酸序列
- 计算效率:使用纯氨基酸序列可以保持数据的一致性和计算效率
- 模型性能:许多预训练蛋白质模型(如ESM-2、ProtBERT)都是在纯氨基酸序列上训练的,表现良好
因此,我们之前创建的蛋白质词库是基于纯氨基酸序列设计的,这是蛋白质序列处理的标准做法,适用于大多数机器学习和计算生物学任务。