一种基于自监督与Transformer的基因表型预测方法和系统

未命名 08-15 阅读:126 评论:0

一种基于自监督与transformer的基因表型预测方法和系统
技术领域
1.本发明涉及智能育种的预测领域,尤其涉及一种基于自监督与transformer的基因表型预测方法和系统。


背景技术:

2.研究表明作物农艺性状受多基因控制和环境影响,遗传较为复杂,就目前而言,针对作物农艺性状表型值的测定十分繁杂、耗时且效率低下。为提高表型值测定效率,现多采用基于全基因组方法实现作物农艺性状预测。
3.全基因组选择(genomic selection,gs)利用分布在全基因组上的高密度分子标记,如:单核苷酸多态(single nucleotide polymorphism,snp),计算复杂农艺性状的基因值估计育种值,gs方法基于统计模型来工作,提高了估计准确性,加快遗传进展,尤其对低遗传力、难测定的复杂性状具有较好的预测效果,实现基因组技术指导育种实践。
4.常见的使用snp效应值进行表型预测的gs模型有:基于blup,bayes及机器学习的方法。相对于传统基于统计方法的blup,bayes等,基于机器学习的方法有以下优点:一是无需事先知道变量的分布或目标性状的遗传效应,打破了混合线性模型和贝叶斯假设的限制;二是考虑了多个体互作或特征间的相关性,考虑个体位点间的非线性关系进行建模,准确率更高。
5.基于深度学习的方法可从数据中自动提取高级特征,避免基于机器学习的专家知识和特征提取过程,能更好的提高算法准确性,在图像、语音众多领域取得比机器学习更有效的结果,得到了广泛的应用。基于深度学习的基因表型预测方法,由于作物农艺性状表型值的测定非常困难,导致表型样本较少,仅在千位或百位数量,但经过筛选的snp位点特征维度,一般在万甚至百万维度,造成特征维度高,样本数量少,使得深度学习模型训练困难,模型准确率较低。


技术实现要素:

6.本发明要解决现有技术的上述不足,实现高精度基因表型预测,提供一种基于自监督与transformer的基因表型预测方法。
7.本发明的一种基于自监督与transformer的基因表型预测方法,包括以下步骤:
8.步骤一:生成数据集。采用基因芯片技术获得多个品种作物的snp数据,测量每株作物的表型值。本实施例中使用作物为大豆,获取大豆f3、f4及f5世代每个植株的snp位点及对应的表型数据,其中表型数据包括:株高、百粒重、节数。使用五折交叉验证法对模型进行训练及验证。
9.步骤二:snp位点预处理及编码。首先,删除snp位点缺失率≥5%,次等位基因频率(maf)≥1%的snp位点。对缺失率满足条件的缺失snp位点,进行缺失填充。然后,对snp位点四种状态0/0,0/1,1/1,1/0进行数字编码,即:0/0编码为0,0/1和1/0编码为1,1/1编码为2,并对编码后的数字进行归一化。
10.步骤三:自编码器模型训练。自编码器由编码器和解码器两部分组成,共包含四层隐藏层,每层隐藏层由全连接层前接dropout层,后接激活层组成。中间三层隐藏层输出维度为1000,200,1000,最后一层隐藏层为输出层,输出特征维度等于输入样本维度。其中激活层均使用sigmoid函数。
11.进一步地,所述步骤三通过以下子步骤来实现:
12.3.1)将步骤二输出数据x,送入编码器e,编码器e|
x
→y经过两层隐藏层,将输入原始数据x降维为特征y。
13.3.2)将编码器降维特征y送入解码器,解码器由一层隐藏层和一层输出层组成。解码器经过一层隐藏层后输出特征y

,y

再经过输出层,得到输出特征重建特征维度与输入特征维度相等。并使用平均绝对误差mae损失函数,最小化真实输入值与重建值之间的误差。
[0014][0015]
其中i表示位点索引,n表示每个样本中的snp位点总数,gi和分别表示snp各位点的真值和预测值。
[0016]
3.3)输入步骤二基因数据x,基于mae损失函数,使用随机梯度下降法训练模型,经过100个周期后模型结束,输出模型最优参数。
[0017]
步骤四:计算基因位点表型贡献度得分。输入步骤一中的表型数据,步骤二输出基因型数据,步骤三输出自编码模型中的编码器e,首先在编码器e后接一层全连接层和一层回归层,输入基因型数据x和表型数据p,对编码器e进行微调训练,并将训练好的模型进行测试,输出预测表型值其次,利用deeplift算法计算输入snp数据各位点对预测表型值的贡献得分,获得的贡献分数表示相应snp位点对表型特征的重要性,得分越高说明该位点对表型的重要程性越大,反之,得分越低说明对表型的重要性越小。
[0018]
进一步地,所述步骤四通过以下子步骤来实现:
[0019]
4.1)编码器微调训练。输入步骤一中的表型数据p,步骤二输出基因型数据x,步骤三输出自编码模型中的编码器e。将编码器e后接一层全连接层和一层回归层,输入基因数据x和表型数据p,对编码器e进行微调训练,使用mae损失函数,最小化预测值与真值间的平均绝对误差,使用随机梯度下降法训练模型,100个周期后模型结束,得到模型最优解。测试阶段,利用最优模型输出预测表型值
[0020]
4.2)snp位点对表型贡献值计算。输入步骤二基因型数据及步骤4.2)预测表型值,通过深度学习算法deeplift计算各snp位点对表型的贡献度得分。deeplift算法是一种基于反向传播的特征打分算法,利用重尺度规则,输出样本中的snp数据各位点,对其对应表型的贡献分数f
score

[0021]
步骤五:训练基于transformer的基因表型预测模型。输入步骤一中的表型数据,步骤二输出型基因数据,步骤四输出snp数据各点位得分。如图3所示为基因表型预测模型结构图,由transformer中的编码器(encoder),后接表型预测回归头组成。利用transformer编码器(encoder)的多头自注意力机制,提取基因与表型间关系,再通过表型回归头预测得出表型值。transformer encoder包含输入嵌入,编码器层基础模块。其中,每
层编码器层基础模块包括多头注意力层,层归一化,前向反馈网络层,表型预测回归头为一层多层感知机层。
[0022]
首先,使用步骤四输出snp数据各点位得分f
score
,对步骤二输出基因数据进行嵌入编码,常见transformer嵌入编码方式为,加入可学习矩阵及位置编码矩阵,本发明将基因位点得分加入编码,让模型更关注得分较高的位点;然后,将编码后的基因数据送入两层编码器层基础模块,输出基因与表型间的关系特征图;最后经过预测回归头,预测输出表型值。
[0023]
进一步地,所述步骤五通过以下子步骤来实现:
[0024]
5.1)结合snp位点贡献度得分改进输入嵌入编码。常见transformer嵌入编码方式为,加入可学习矩阵d及位置编码矩阵e
pos
,则嵌入编码后的矩阵可表示为z
(0)
=dx+e
pos
。为突显各基因位点不同重要度,使后续模型更关注得分更高的基因位点,本发明将步骤四输出snp数据各位点得分f
score
加入编码,在初始化阶段,将可学习矩阵d初始化为one-hot向量v与snp数据各点位得分向量f
score
的点乘结果。
[0025]
5.2)基因表型相关性特征提取。输入步骤5.1)编码后特征z
(0)
,首先,通过层归一化及线性映射,计算得到query(q)、key(k)及value(v)向量;然后,将q、k及v向量送入多头自注意力层,计算自注意力权重矩阵,及各注意力头输出,将各注意力头输出向量连接成矩阵,并经过线性映射及残差操作得到中间编码特征图,再经过层归一化和前向反馈网络层,得到第l个基本模块编码特征图输出;最后将第l个基本模块编码特征图输出,送入下一个基本模块,直至最后一个基本模块。
[0026]
进一步地,所述步骤5.2)可通过以下子步骤来实现:
[0027]
5.2.1)输入步骤5.1)编码后特征z
(0)
,首先,通过层归一化及线性映射,计算得到query(q)、key(k)及value(v)向量,如下式所示:
[0028][0029][0030][0031]
其中l∈{1,2}表示第l层编码器层基础模块,ln()表示层归一化,z
(l-1)
为第l-1个基本模块编码特征输出,a=1,...a表示注意力头索引,a表示多头注意力模块中多头个数,及分别表示第l个基本模块第a个头query、key及value向量对应的可学习映射矩阵,q
(l,a)
、k
(l,a)
、v
(l,a)
分别表示第l个基本模块第a个头query、key及value向量。
[0032]
5.2.2)将步骤5.2.1)输出q、k及v向量,送入多头自注意力层,计算自注意力权重矩阵α
(l,a)
,再与v向量加权求和得到各注意力头输出s
(l,a)
,将各注意力头输出向量连接成矩阵,并经过线性映射及残差操作得到中间编码特征图z

(l)
,再经过层归一化和前向反馈网络层,得到第l个基本模块编码特征图输出;最后将第l个基本模块编码特征图z
(l)
输出。
[0033][0034]s(l,a)
=α
(l,a)v(l,a)
[0035][0036]z(l)
=ffn(ln(z

(l)
))+z

(l)
[0037]
其中sm()表示softmax激活函数,dh=d/a表示每个注意力头输入的维度,d为步骤5.1)输出嵌入向量的维度,wo表示为可学习线性映射矩阵,ffn()表示前馈神经网络。
[0038]
5.3)预测回归头。输入步骤5.2.2)输出特征图z
(l)
,经过预测回归头,即一层多层感知机层,输出表型预测值。其中l表示基本模块总层数,z
(l)
表示最后一层基本模块编码特征图输出,mlp()表示多层感知机层,表示表型预测值。
[0039]
步骤六:损失函数构造及模型训练。本发明使用皮尔逊相关系数作为损失函数,最大化真实表型值y与步骤5.3)输出预测表型值之间皮尔逊相关系数pcc。
[0040][0041][0042]
其中i表示样本个数索引,yi和分别表示第i个样本的真实表型值和预测表型值,m表示样本总数,μi和分别表示样本真实表型值和预测表型值的平均值。
[0043]
训练采用五折交叉验证方式进行,并均基于损失函数对网络进行反向传播,通过批量梯度下降法不断更新网络参数,在100000次批量训练后模型达到收敛。
[0044]
步骤七:表型预测。在测试阶段,输入新的snp数据,首先,将snp数据进行预处理及编码,送入步骤4.1)微调后编码器最优模型,通过deeplift算法得到snp各位点贡献度得分;然后,将贡献度得分及snp数据送入步骤六输出的transformer最优模型,预测表型值。
[0045]
本发明还涉及一种基于自监督与transformer的基因表型预测系统,包括:
[0046]
数据集生成模块,用于生成数据集,采用基因芯片技术获得多个品种作物的snp数据,测量每株作物的表型值;
[0047]
snp位点预处理及编码模块,用于预处理snp位点及编码,首先,删除snp位点缺失率≥5%,次等位基因频率(maf)≥1%的snp位点;对缺失率满足条件的缺失snp位点,进行缺失填充;然后,对snp位点四种状态0/0,0/1,1/1,1/0进行数字编码,即:0/0编码为0,0/1和1/0编码为1,1/1编码为2,并对编码后的数字进行归一化;
[0048]
自编码器模型训练模块,用于训练自编码器模型;自编码器由编码器和解码器两部分组成,共包含四层隐藏层,每层隐藏层由全连接层前接dropout层,后接激活层组成;中间三层隐藏层输出维度为1000,200,1000,最后一层隐藏层为输出层,输出特征维度等于输入样本维度;其中激活层均使用sigmoid函数;
[0049]
基因位点表型贡献度得分计算模块;输入数据集生成模块的表型数据,snp位点预处理及编码模块输出基因型数据,自编码器模型训练模块输出自编码模型中的编码器e,首
先在编码器e后接一层全连接层和一层回归层,输入基因型数据x和表型数据p,对编码器e进行微调训练,并将训练好的模型进行测试,输出预测表型值其次,利用deeplift算法计算输入snp数据各位点对预测表型值的贡献得分,获得的贡献分数表示相应snp位点对表型特征的重要性,得分越高说明该位点对表型的重要程性越大,反之,得分越低说明对表型的重要性越小;
[0050]
基于transformer的基因表型预测模型训练模块;输数据集生成模块的表型数据,snp位点预处理及编码模块输出型基因数据,基因位点表型贡献度得分计算模块输出snp数据各点位得分;基因表型预测模型由transformer中的编码器(encoder),后接表型预测回归头组成;利用transformer编码器(encoder)的多头自注意力机制,提取基因与表型间关系,再通过表型回归头预测得出表型值;transformer encoder包含输入嵌入,编码器层基础模块;其中,每层编码器层基础模块包括多头注意力层,层归一化,前向反馈网络层,表型预测回归头为一层多层感知机层;
[0051]
首先,使用基因位点表型贡献度得分计算模块输出snp数据各点位得分f
score
,对snp位点预处理及编码模块输出基因数据进行嵌入编码,常见transformer嵌入编码方式为,加入可学习矩阵及位置编码矩阵,将基因位点得分加入编码,让模型更关注得分较高的位点;然后,将编码后的基因数据送入两层编码器层基础模块,输出基因与表型间的关系特征图;最后经过预测回归头,预测输出表型值;
[0052]
损失函数及训练模型构造模块,用于构造损失函数及训练模型;
[0053]
表型预测模块;在测试阶段,输入新的snp数据,首先,将snp数据进行预处理及编码,送入基因位点表型贡献度得分计算模块微调后编码器最优模型,通过deeplift算法得到snp各位点贡献度得分;然后,将贡献度得分及snp数据送入步骤六输出的transformer最优模型,预测表型值。
[0054]
本发明还涉及一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现本发明的一种基于自监督与transformer的基因表型预测方法。
[0055]
本发明还涉及一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本发明的一种基于自监督与transformer的基因表型预测方法。
[0056]
与现有技术相比,本发明的有益效果在于:
[0057]
(1)针对基因数据维度高(万-百万维度),但表型数据量较少(几百-几千数据量),基于深度学习的模型易造成维度灾难,设计了一种基于自监督与transformer基因表型预测方法。方法先通过自监督模型与deeplift算法,计算snp位点对表型的贡献值得分,再将该得分送入基于transformer的模型进行表型预测,使算法更关注贡献度高的位点,减少维度干扰,提高模型预测准确度。
[0058]
(2)设计了一种利用snp各位点贡献度得分改进transformer嵌入编码的方法,并结合自注意力机制,使transformer模型获取snp位点贡献度先验知识,更有效提取基因与表型相关性特征图,从而提高预测准确度。
[0059]
(3)在自建大豆数据集上,针对株高、百粒重及节数表型,本发明发现相较于rrblup,皮尔逊相关系数分别相对提升17.7%,31%,25.5%。
附图说明
[0060]
下面结合附图和实施例对本发明作进一步说明。
[0061]
图1是本发明的一种基于自监督与transformer的基因表型预测方法流程图。
[0062]
图2是本发明的一种基于自监督与transformer的基因表型预测方法网络框架图。
[0063]
图3是本发明的用于计算snp位点贡献度得分的自编码器与deeplift模型结构图。
[0064]
图4是本发明的改进嵌入编码方式的transformer基因表型预测模型结构图。
[0065]
图5是本发明的系统的结构示意图。
具体实施方式
[0066]
下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此。
[0067]
在本发明的描述中,需要理解的是,属于“第一”、“第二”等仅用于描述目的,而不能理解为指示或者暗示相对重要性。本发明的描述中,需要说明的是,除非另有明确的规定和限定,属于“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接或者一体地连接;可以是机械连接,也可以是电连接;可以是直接连接,也可以是通过媒介间接连接。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0068]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0069]
实施例1
[0070]
如图1所示,本发明的一种基于自监督与transformer的基因表型预测方法,包括以下步骤:
[0071]
步骤一:数据集生成。采用基因芯片技术获得多个品种作物的snp数据,测量每株作物的表型值。本实施例中使用作物为大豆,获取大豆f3、f4及f5世代每个植株的snp位点及对应的表型数据,其中表型数据包括:株高、百粒重、节数。共获取6576株大豆基因表型样本,使用五折交叉验证法对模型进行训练及验证。
[0072]
步骤二:snp位点预处理及编码。首先,删除snp位点缺失率≥5%,次等位基因频率(maf)≥1%的snp位点。对缺失率满足条件的缺失snp位点,进行缺失填充。本实施例中采用tassel软件进行位点预处理,输出6340个样本,每个样本含17811维snp位点。然后,对snp位点四种状态0/0,0/1,1/1,1/0进行数字编码,即:0/0编码为0,0/1和1/0编码为1,1/1编码为2,并对编码后的数字进行归一化,归一化后基因数据表示为其中m表示样本总数,n表示每个样本中的snp位点总数。x
p
={x
p0
,x
p1
,

x
pi
},i∈{0,

n},x
pi
∈{0,1,2,3},其中x
p
表示第p个基因样本,p∈{0,1

,m},x
pi
表示编码后的第p个样本上的第i个snp位点。
[0073]
如图2所示为一种基于自监督与transformer的基因表型预测方法网络框架图,首
先,将snp数据送入自编码器,输出编码器最优模型;然后,将自编码器编码部分最优模型、snp数据和表型数据一起送入deeplift模块,计算输出snp数据各位点对表型贡献度得分;最后,将snp数据、表型数据及snp各位点共享度得分共同送入transformer模型进行基因表型预测,在训练阶段使用预测表型值与真实表型值的皮尔逊相关系数进行训练,在测试阶段,输出预测表型值。
[0074]
步骤三:自编码器模型训练。如图3(a)所示为自编码器结构图,其由编码器和解码器两部分组成,共包含四层隐藏层,每层隐藏层由全连接层前接dropout层,后接激活层组成。中间三层隐藏层输出维度为1000,200,1000,最后一层隐藏层为输出层,输出特征维度等于输入样本维度。其中激活层均使用sigmoid函数。
[0075]
进一步地,所述步骤三通过以下子步骤来实现:
[0076]
3.1)将步骤二输出数据送入编码器e,编码器e|
x
→y经过两层隐藏层,将输入原始数据x降维为特征n

表示特征维度。经过编码器后数据从维度n降维到n

。本实施例中n=17811,n

=200。
[0077]
3.2)将编码器降维特征送入解码器,解码器由一层隐藏层和一层输出层组成。解码器经过一层隐藏层后输出特征c=1000表示特征维度,y

再经过输出层,得到输出特征重建特征维度与输入特征维度相等。
[0078]
并使用平均绝对误差mae损失函数,最小化真实输入值与重建值之间的误差。
[0079][0080]
其中i表示位点索引,gi和分别表示snp各位点的真值和预测值。
[0081]
3.3)输入步骤二基因数据基于mae损失函数,使用随机梯度下降法训练模型,经过100个周期后模型结束,输出模型最优参数。
[0082]
步骤四:各基因位点表型贡献度得分计算。输入步骤一中的表型数据,步骤二输出基因型数据,步骤三输出自编码模型中的编码器e,首先在编码器e后接一层全连接层和一层回归层,输入基因型数据x和表型数据p,对编码器e进行微调训练,并将训练好的模型进行测试,输出预测表型值其次,利用deeplift算法计算输入snp数据各位点对预测表型值的贡献得分,获得的贡献分数表示相应snp位点对表型特征的重要性,得分越高说明该位点对表型的重要性越大,反之,得分越低说明对表型的重要性越小。
[0083]
进一步地,所述步骤四通过以下子步骤来实现:
[0084]
4.1)编码器微调训练。输入步骤一中的表型数据步骤二输出基因型数据步骤三输出自编码模型中的编码器e。将编码器e后接一层全连接层和一层回归层,输入基因数据x和表型数据p,对编码器e进行微调训练,使用mae损失函数,最小化预测值与真值间的平均绝对误差,使用随机梯度下降法训练模型,100个周期后模型结束,得到模型最优解。测试阶段,利用最优模型输出预测表型值
[0085]
4.2)snp位点对表型贡献值计算。输入步骤二基因型数据及步骤4.2)预测表型值,如图3(b)所示,将深度学习算法deeplift应用于微调后的自编码器编码部分最优模型,计算各snp位点对表型的贡献度得分。deeplift算法是一种基于反向传播的特征打分算法,利
用重尺度规则,输出样本中的snp数据各位点,对其对应表型的贡献分数
[0086]
步骤五:基于transformer的基因表型预测模型训练。输入步骤一中的表型数据,步骤二输出基因型数据,步骤四输出snp数据各点位得分。如图3所示为基因表型预测模型结构图,由transformer中的编码器(encoder),后接表型预测回归头组成。利用transformer编码器(encoder)的多头自注意力机制,提取基因与表型间关系,再通过表型回归头预测表型值。transformer encoder包含输入嵌入,编码器层基础模块。其中,每层编码器层基础模块包括多头注意力层,层归一化,前向反馈网络层;表型预测回归头为一层多层感知机层。本发明中编码器层基础模块数目设置为2,多头注意力数目设置为4。
[0087]
首先,使用步骤四输出snp数据各点位得分f
score
,对步骤二输出基因数据进行嵌入编码,常见transformer嵌入编码方式为,加入可学习矩阵及位置编码矩阵。本发明将snp位点得分加入编码,让模型更关注得分较高的位点;然后,将编码后的基因数据送入两层编码器层基础模块,输出基因与表型间的关系特征图;最后经过预测回归头,预测输出表型值。
[0088]
进一步地,所述步骤五通过以下子步骤来实现:
[0089]
5.1)结合snp位点贡献度得分改进嵌入编码。常见transformer嵌入编码方式为,加入可学习矩阵及位置编码矩阵其中d表示编码后特征向量维度,则嵌入编码后的矩阵可表示为z
(0)
=dx+e
pos
。为突显各基因位点不同重要度,使后续模型更关注得分更高的基因位点,本发明将步骤四输出snp数据各位点得分f
score
加入编码,在初始化阶段,将可学习矩阵初始化为one-hot向量与snp数据各位点得分向量f
score
的点乘结果,其中v=4表示snp数据的四种状态,即d初始化值为其中fi表示snp数据第i个位点贡献度得分。
[0090]
5.2)基因表型相关性特征提取。输入步骤5.1)编码后特征z
(0)
,首先,通过层归一化及线性映射,计算得到query(q)、key(k)及value(v)向量;然后,将q、k及v向量送入多头自注意力层,计算自注意力权重矩阵,及各注意力头输出,将各注意力头输出向量连接成矩阵,并经过线性映射及残差操作得到中间编码特征图,再经过层归一化和前向反馈网络层,得到第l个基本模块编码特征图输出;最后,将第l个基本模块编码特征图输出,送入下一个基本模块,直至最后一个基本模块。
[0091]
进一步地,所述步骤5.2)可通过以下子步骤来实现:
[0092]
5.2.1)输入步骤5.1)编码后特征z
(0)
,首先,通过层归一化及线性映射,计算得到query(q)、key(k)及value(v)向量,如下式所示:
[0093][0094][0095][0096]
其中l∈{1,2}表示第l层编码器层基础模块,ln()表示层归一化,z
(l-1)
为第l-1个
基本模块编码特征输出,a=1,

a表示注意力头索引,a表示多头注意力模块中多头个数,及分别表示第l个基本模块第a个头query、key及value向量对应的可学习映射矩阵,q
(l,a)
、k
(l,a)
、v
(l,a)
分别表示第l个基本模块第a个头query、key及value向量。
[0097]
5.2.2)将步骤5.2.1)输出q、k及v向量,送入多头自注意力层,计算自注意力权重矩阵α
(l,a)
,再与v向量加权求和得到各注意力头输出s
(l,a)
,将各注意力头输出向量连接成矩阵,并经过线性映射及残差操作得到中间编码特征图z

(l)
,再经过层归一化和前向反馈网络层,得到第l个基本模块编码特征图输出;最后将第l个基本模块编码特征图z
(l)
输出。
[0098][0099]s(l,a)
=α
(l,a)v(l,a)
[0100][0101]z(l)
=ffn(ln(z

(l)
))+z

(l)
[0102]
其中sm()表示softmax激活函数,dh=d/a表示每个注意力头输入的维度,d为步骤5.1)输出嵌入向量的维度,wo表示为可学习线性映射矩阵,ffn()表示前馈神经网络。
[0103]
5.3)预测回归头。输入步骤5.2.2)输出特征图z
(l)
,经过预测回归头,即一层多层感知机层,输出表型预测值。其中z
(l)
表示最后一层基本模块编码特征图输出,mlp()表示多层感知机层,表示表型预测值。
[0104]
步骤六:损失函数构造及模型训练。本发明使用皮尔逊相关系数作为损失函数,最大化真实表型值y与步骤5.3)输出预测表型值之间皮尔逊相关系数。
[0105][0106][0107]
其中i表示样本个数索引,yi和分别表示第i个样本的真实表型值和预测表型值。
[0108]
训练采用五折交叉验证方式进行,并均基于损失函数对网络进行反向传播,通过批量梯度下降法不断更新网络参数,在100000次批量训练后模型达到收敛。
[0109]
步骤七:表型预测。在测试阶段,输入新的snp数据,首先,将snp数据进行预处理及编码,送入步骤4.1)微调后编码器最优模型,通过deeplift算法得到snp数据各位点贡献度得分;然后,将贡献度得分及snp数据送入步骤六输出的transformer最优模型,预测表型值。
[0110]
在自建大豆基因表型数据集中,按照4:1划分训练集和测试集,进行五折交叉训练及测试。在测试集上,取五折交叉最优模型的均值作为最终表型预测值。针对大豆株高、百粒重及节数表型,传统rrblup算法表型预测皮尔逊相关系数分别为0.559,0.245,0.431,本
发明所述方法表型预测皮尔逊相关系数分别为0.658,0.321,0.541,预测相对准确度分别提升17.7%,31%,25.5%。
[0111]
实施例2
[0112]
本发明还涉及一种基于自监督与transformer的基因表型预测系统,包括:
[0113]
数据集生成模块,用于生成数据集,采用基因芯片技术获得多个品种作物的snp数据,测量每株作物的表型值;
[0114]
snp位点预处理及编码模块,用于预处理snp位点及编码,首先,删除snp位点缺失率≥5%,次等位基因频率(maf)≥1%的snp位点;对缺失率满足条件的缺失snp位点,进行缺失填充;然后,对snp位点四种状态0/0,0/1,1/1,1/0进行数字编码,即:0/0编码为0,0/1和1/0编码为1,1/1编码为2,并对编码后的数字进行归一化;
[0115]
自编码器模型训练模块,用于训练自编码器模型;自编码器由编码器和解码器两部分组成,共包含四层隐藏层,每层隐藏层由全连接层前接dropout层,后接激活层组成;中间三层隐藏层输出维度为1000,200,1000,最后一层隐藏层为输出层,输出特征维度等于输入样本维度;其中激活层均使用sigmoid函数;
[0116]
基因位点表型贡献度得分计算模块;输入数据集生成模块的表型数据,snp位点预处理及编码模块输出基因型数据,自编码器模型训练模块输出自编码模型中的编码器e,首先在编码器e后接一层全连接层和一层回归层,输入基因型数据x和表型数据p,对编码器e进行微调训练,并将训练好的模型进行测试,输出预测表型值其次,利用deeplift算法计算输入snp数据各位点对预测表型值的贡献得分,获得的贡献分数表示相应snp位点对表型特征的重要性,得分越高说明该位点对表型的重要程性越大,反之,得分越低说明对表型的重要性越小;
[0117]
基于transformer的基因表型预测模型训练模块;输数据集生成模块的表型数据,snp位点预处理及编码模块输出型基因数据,基因位点表型贡献度得分计算模块输出snp数据各点位得分;基因表型预测模型由transformer中的编码器(encoder),后接表型预测回归头组成;利用transformer编码器(encoder)的多头自注意力机制,提取基因与表型间关系,再通过表型回归头预测得出表型值;transformer encoder包含输入嵌入,编码器层基础模块;其中,每层编码器层基础模块包括多头注意力层,层归一化,前向反馈网络层,表型预测回归头为一层多层感知机层;
[0118]
首先,使用基因位点表型贡献度得分计算模块输出snp数据各点位得分f
score
,对snp位点预处理及编码模块输出基因数据进行嵌入编码,常见transformer嵌入编码方式为,加入可学习矩阵及位置编码矩阵,将基因位点得分加入编码,让模型更关注得分较高的位点;然后,将编码后的基因数据送入两层编码器层基础模块,输出基因与表型间的关系特征图;最后经过预测回归头,预测输出表型值;
[0119]
损失函数及训练模型构造模块,用于构造损失函数及训练模型;
[0120]
表型预测模块;在测试阶段,输入新的snp数据,首先,将snp数据进行预处理及编码,送入基因位点表型贡献度得分计算模块微调后编码器最优模型,通过deeplift算法得到snp各位点贡献度得分;然后,将贡献度得分及snp数据送入步骤六输出的transformer最优模型,预测表型值。
[0121]
实施例3
[0122]
本发明还涉及一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现本发明的一种基于自监督与transformer的基因表型预测方法。
[0123]
实施例4
[0124]
本发明还涉及一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本发明的一种基于自监督与transformer的基因表型预测方法。

技术特征:
1.一种基于自监督与transformer的基因表型预测方法,包括以下步骤:步骤一:生成数据集;采用基因芯片技术获得多个品种作物的snp数据,测量每株作物的表型值;步骤二:snp位点预处理及编码;首先,删除snp位点缺失率≥5%,次等位基因频率(maf)≥1%的snp位点;对缺失率满足条件的缺失snp位点,进行缺失填充;然后,对snp位点四种状态0/0,0/1,1/1,1/0进行数字编码,即:0/0编码为0,0/1和1/0编码为1,1/1编码为2,并对编码后的数字进行归一化;步骤三:训练自编码器模型;自编码器由编码器和解码器两部分组成,共包含四层隐藏层,每层隐藏层由全连接层前接dropout层,后接激活层组成;中间三层隐藏层输出维度为1000,200,1000,最后一层隐藏层为输出层,输出特征维度等于输入样本维度;其中激活层均使用sigmoid函数;步骤四:计算基因位点表型贡献度得分;输入步骤一中的表型数据,步骤二输出基因型数据,步骤三输出自编码模型中的编码器e,首先在编码器e后接一层全连接层和一层回归层,输入基因型数据x和表型数据p,对编码器e进行微调训练,并将训练好的模型进行测试,输出预测表型值其次,利用deeplift算法计算输入snp数据各位点对预测表型值的贡献得分,获得的贡献分数表示相应snp位点对表型特征的重要性,得分越高说明该位点对表型的重要程性越大,反之,得分越低说明对表型的重要性越小;步骤五:训练基于transformer的基因表型预测模型;输入步骤一中的表型数据,步骤二输出型基因数据,步骤四输出snp数据各点位得分;基因表型预测模型由transformer中的编码器(encoder),后接表型预测回归头组成;利用transformer编码器(encoder)的多头自注意力机制,提取基因与表型间关系,再通过表型回归头预测得出表型值;transformer encoder包含输入嵌入,编码器层基础模块;其中,每层编码器层基础模块包括多头注意力层,层归一化,前向反馈网络层,表型预测回归头为一层多层感知机层;首先,使用步骤四输出snp数据各点位得分f
score
,对步骤二输出基因数据进行嵌入编码,常见transformer嵌入编码方式为,加入可学习矩阵及位置编码矩阵,将基因位点得分加入编码,让模型更关注得分较高的位点;然后,将编码后的基因数据送入两层编码器层基础模块,输出基因与表型间的关系特征图;最后经过预测回归头,预测输出表型值;步骤六:构造损失函数及训练模型;步骤七:预测表型。在测试阶段,输入新的snp数据,首先,将snp数据进行预处理及编码,送入步骤4.1)微调后编码器最优模型,通过deeplift算法得到snp各位点贡献度得分;然后,将贡献度得分及snp数据送入步骤六输出的transformer最优模型,预测表型值。2.如权利要求1所述的一种基于自监督与transformer的基因表型预测方法,其特征在于:步骤一使用作物为大豆,获取大豆f3、f4及f5世代每个植株的snp位点及对应的表型数据,其中表型数据包括:株高、百粒重、节数;使用五折交叉验证法对模型进行训练及验证。3.如权利要求1所述的一种基于自监督与transformer的基因表型预测方法,其特征在于:步骤三具体包括:3.1)将步骤二输出数据x,送入编码器e,编码器e|
x

y
经过两层隐藏层,将输入原始数据x降维为特征y;
3.2)将编码器降维特征y送入解码器,解码器由一层隐藏层和一层输出层组成;解码器经过一层隐藏层后输出特征y

,y

再经过输出层,得到输出特征重建特征维度与输入特征维度相等;并使用平均绝对误差mae损失函数,最小化真实输入值与重建值之间的误差;其中i表示位点索引,n表示每个样本中的snp位点总数,g
i
和分别表示snp各位点的真值和预测值;3.3)输入步骤二基因数据x,基于mae损失函数,使用随机梯度下降法训练模型,经过100个周期后模型结束,输出模型最优参数。4.如权利要求1所述的一种基于自监督与transformer的基因表型预测方法,其特征在于:步骤四具体包括:4.1)编码器微调训练;输入步骤一中的表型数据p,步骤二输出基因型数据x,步骤三输出自编码模型中的编码器e;将编码器e后接一层全连接层和一层回归层,输入基因数据x和表型数据p,对编码器e进行微调训练,使用mae损失函数,最小化预测值与真值间的平均绝对误差,使用随机梯度下降法训练模型,100个周期后模型结束,得到模型最优解;测试阶段,利用最优模型输出预测表型值4.2)snp位点对表型贡献值计算;输入步骤二基因型数据及步骤4.2)预测表型值,通过深度学习算法deeplift计算各snp位点对表型的贡献度得分;deeplift算法是一种基于反向传播的特征打分算法,利用重尺度规则,输出样本中的snp数据各位点,对其对应表型的贡献分数f
score
。5.如权利要求1所述的一种基于自监督与transformer的基因表型预测方法,其特征在于:步骤五具体包括:5.1)结合snp位点贡献度得分改进输入嵌入编码;常见transformer嵌入编码方式为,加入可学习矩阵d及位置编码矩阵e
pos
,则嵌入编码后的矩阵可表示为z
(0)
=dx+e
pos
;为突显各基因位点不同重要度,使后续模型更关注得分更高的基因位点,本发明将步骤四输出snp数据各位点得分f
score
加入编码,在初始化阶段,将可学习矩阵d初始化为one-hot向量v与snp数据各点位得分向量f
score
的点乘结果;5.2)基因表型相关性特征提取;输入步骤5.1)编码后特征z
(0)
,首先,通过层归一化及线性映射,计算得到query(q)、key(k)及value(v)向量;然后,将q、k及v向量送入多头自注意力层,计算自注意力权重矩阵,及各注意力头输出,将各注意力头输出向量连接成矩阵,并经过线性映射及残差操作得到中间编码特征图,再经过层归一化和前向反馈网络层,得到第l个基本模块编码特征图输出;最后将第l个基本模块编码特征图输出,送入下一个基本模块,直至最后一个基本模块;5.3)预测回归头;输入步骤5.2)输出特征图z
(l)
,经过预测回归头,即一层多层感知机层,输出表型预测值;其中l表示基本模块总层数,z
(l)
表示最后一层基本模块编码特征图输出,mlp()表示多层感知机层,表示表型预测值。6.如权利要求1所述的一种基于自监督与transformer的基因表型预测方法,其特征在于:所述步骤5.2)具体包括:
5.2.1)输入步骤5.1)编码后特征z
(0)
,首先,通过层归一化及线性映射,计算得到query(q)、key(k)及value(v)向量,如下式所示:(q)、key(k)及value(v)向量,如下式所示:(q)、key(k)及value(v)向量,如下式所示:其中l∈{1,2}表示第l层编码器层基础模块,ln()表示层归一化,z
(l-1)
为第l-1个基本模块编码特征输出,a=1,a表示注意力头索引,a表示多头注意力模块中多头个数,及分别表示第l个基本模块第a个头query、key及value向量对应的可学习映射矩阵,q
(l,a)
、k
(l,a)
、v
(l,a)
分别表示第l个基本模块第a个头query、key及value向量;5.2.2)将步骤5.2.1)输出q、k及v向量,送入多头自注意力层,计算自注意力权重矩阵α
(l,a)
,再与v向量加权求和得到各注意力头输出s
(l,a)
,将各注意力头输出向量连接成矩阵,并经过线性映射及残差操作得到中间编码特征图z

(l)
,再经过层归一化和前向反馈网络层,得到第l个基本模块编码特征图输出;最后将第l个基本模块编码特征图z
(l)
输出;s
(l,a)
=α
(l,a)v(l,a)
z
(l)
=ffn(ln(z

(l)
))+z

(l)
其中sm()表示softmax激活函数,d
h
=d/a表示每个注意力头输入的维度,d为步骤5.1)输出嵌入向量的维度,w
o
表示为可学习线性映射矩阵,ffn()表示前馈神经网络。7.如权利要求1所述的一种基于自监督与transformer的基因表型预测方法,其特征在于:步骤六具体包括:使用皮尔逊相关系数作为损失函数,最大化真实表型值y与步骤5.3)输出预测表型值之间皮尔逊相关系数pcc;之间皮尔逊相关系数pcc;其中i表示样本个数索引,y
i
和分别表示第i个样本的真实表型值和预测表型值,m表示样本总数,μ
i
和分别表示样本真实表型值和预测表型值的平均值。训练采用五折交叉验证方式进行,并均基于损失函数对网络进行反向传播,通过批量梯度下降法不断更新网络参数,在100000次批量训练后模型达到收敛。8.一种基于自监督与transformer的基因表型预测系统,其特征在于:包括:
数据集生成模块,用于生成数据集,采用基因芯片技术获得多个品种作物的snp数据,测量每株作物的表型值;snp位点预处理及编码模块,用于预处理snp位点及编码,首先,删除snp位点缺失率≥5%,次等位基因频率(maf)≥1%的snp位点;对缺失率满足条件的缺失snp位点,进行缺失填充;然后,对snp位点四种状态0/0,0/1,1/1,1/0进行数字编码,即:0/0编码为0,0/1和1/0编码为1,1/1编码为2,并对编码后的数字进行归一化;自编码器模型训练模块,用于训练自编码器模型;自编码器由编码器和解码器两部分组成,共包含四层隐藏层,每层隐藏层由全连接层前接dropout层,后接激活层组成;中间三层隐藏层输出维度为1000,200,1000,最后一层隐藏层为输出层,输出特征维度等于输入样本维度;其中激活层均使用sigmoid函数;基因位点表型贡献度得分计算模块;输入数据集生成模块的表型数据,snp位点预处理及编码模块输出基因型数据,自编码器模型训练模块输出自编码模型中的编码器e,首先在编码器e后接一层全连接层和一层回归层,输入基因型数据x和表型数据p,对编码器e进行微调训练,并将训练好的模型进行测试,输出预测表型值其次,利用deeplift算法计算输入snp数据各位点对预测表型值的贡献得分,获得的贡献分数表示相应snp位点对表型特征的重要性,得分越高说明该位点对表型的重要程性越大,反之,得分越低说明对表型的重要性越小;基于transformer的基因表型预测模型训练模块;输数据集生成模块的表型数据,snp位点预处理及编码模块输出型基因数据,基因位点表型贡献度得分计算模块输出snp数据各点位得分;基因表型预测模型由transformer中的编码器(encoder),后接表型预测回归头组成;利用transformer编码器(encoder)的多头自注意力机制,提取基因与表型间关系,再通过表型回归头预测得出表型值;transformer encoder包含输入嵌入,编码器层基础模块;其中,每层编码器层基础模块包括多头注意力层,层归一化,前向反馈网络层,表型预测回归头为一层多层感知机层;首先,使用基因位点表型贡献度得分计算模块输出snp数据各点位得分f
score
,对snp位点预处理及编码模块输出基因数据进行嵌入编码,常见transformer嵌入编码方式为,加入可学习矩阵及位置编码矩阵,将基因位点得分加入编码,让模型更关注得分较高的位点;然后,将编码后的基因数据送入两层编码器层基础模块,输出基因与表型间的关系特征图;最后经过预测回归头,预测输出表型值;损失函数及训练模型构造模块,用于构造损失函数及训练模型;表型预测模块;在测试阶段,输入新的snp数据,首先,将snp数据进行预处理及编码,送入基因位点表型贡献度得分计算模块微调后编码器最优模型,通过deeplift算法得到snp各位点贡献度得分;然后,将贡献度得分及snp数据送入步骤六输出的transformer最优模型,预测表型值。9.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1-7中任一项所述的一种基于自监督与transformer的基因表型预测方法。10.一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-7中任一项所述的一种基于自监督与transformer的基因表型预测方法。

技术总结
一种基于自监督与Transformer的基因表型预测方法,通过基因芯片技术和人工测量分别获取农作物SNP数据及对应表型样本,以构建数据集;首先,将SNP数据预处理及编码后,送入自监督模型,并通过DeepLIFT算法,计算各SNP位点对表型的贡献得分;然后,使用该SNP各位点贡献度得分改进Transformer嵌入编码方式,并结合自注意力机制,有效提取基因与表型相关性特征图;最后将特征图送入预测回归头预测表型值。本发明还包括一种基于自监督与Transformer的基因表型预测系统。本发明使Transformer模型获取SNP位点贡献度先验知识,更关注贡献度高的位点,减少维度干扰,有效提高预测准确度,适用于农作物基因表型预测。用于农作物基因表型预测。用于农作物基因表型预测。


技术研发人员:李玲 徐晓刚 王军 于慧 翁琳 曹卫强
受保护的技术使用者:中国科学院东北地理与农业生态研究所
技术研发日:2023.04.26
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐