一种基于生成对抗网络的单细胞RNA序列缺失值填补方法技术

技术编号:32671415 阅读:23 留言:0更新日期:2022-03-17 11:25
一种基于生成对抗网络的单细胞RNA序列缺失值填补方法,它属于生物信息领域。本发明专利技术解决了采用现有方法对缺失数据填补的准确率低的问题。本发明专利技术通过生成对抗网络对RNA序列缺失值进行填补,在生成器部分,引入由DrImpute填补完成的数据作为方向约束,在使用自编码器生成缺失值的同时,在损失函数中加入方向约束项,并对解码层给予了一个Relu激活函数来解决填补后的数据出现负值的情况。实验证明,采用本发明专利技术的方法可以显著提高数据填补的准确率。本发明专利技术可以应用于对RNA序列缺失值进行填补。本发明专利技术可以应用于对RNA序列缺失值进行填补。本发明专利技术可以应用于对RNA序列缺失值进行填补。

【技术实现步骤摘要】
一种基于生成对抗网络的单细胞RNA序列缺失值填补方法


[0001]本专利技术属于生物信息领域,具体涉及一种基于生成对抗网络的单细胞RNA序列缺失值填补方法。

技术介绍

[0002]随着高通量测序技术的发展,基因组学测序中单细胞RNA测序(scRNA

seq)技术成为近年来的一个热门话题。相比于之前的批量RNA测序(bulk RNA

seq)技术而言,scRNA

seq具有相对较高的噪声水平,特别是由于所谓的辍学事件(dropout event)。在scRNA

seq数据集的基因细胞表达矩阵中观察到的零由真零和缺失值零组成。真零是基因不表达导致的,而缺失值零是由所谓的辍学事件引起的。辍学事件是一种特殊类型的缺失值,这是由于测序实验中的低RNA输入和单细胞水平上基因表达模式的随机性造成的。然而,大多数为scRNA序列分析开发的统计工具并没有明确地解决这些辍学事件。
[0003]利用缺失值填补方法对缺失值进行估计可以保留原始数据中的重要信息,从而避免删除包含缺失值而信息量大的有效基因。又因为缺失值填补方法将不完整数据集转换成完整数据集,从而在数据挖掘的过程当中能够在完整的数据集上,而不是在数据集的子集上进行分析,从而避免分析出的结果产生局部规律的错误,因此,对缺失值填补方法进行研究是十分必要的。
[0004]深度学习发展迅速,在图像分类、语音识别等领域取得了较好的成绩。一些研究者已经将最广泛使用的卷积神经网络(Convolutional Neural Networks,CNN)和循环神经网络(Recurrent Neural Network,RNN)框架转移到生物医学领域。但总体而言,深度学习在生物医学领域的应用,尤其是在基因组领域的应用还非常有限。造成这种现象的原因主要有以下两点:首先,常用的RNN/CNN不适用于基因组数据建模;其次,对于深度学习的非专业人士而言,没有一个友好的自动化机器学习框架。
[0005]目前基于机器学习方法的缺失值填补方法的表现也并不理想。其原因在于:其一是原始数据中大量的零,使得机器学习方法很难提取数据深层的信息,反而将大部分的零视为真零,即不进行填补,因此机器学习方法填补后的数据较为离散。其二是在使用某些基于机器学习的缺失值填补方法进行填补后,输出的数据中含有负值,但现实的基因表达值应该均为非负值。
[0006]综上所述,基于现有的机器学习方法进行缺失值填补时很难提取到数据的深层信息,导致对缺失数据填补的准确率较低。

技术实现思路

[0007]本专利技术的目的是为解决采用现有方法对缺失数据填补的准确率低的问题,而提出了一种基于生成对抗网络的单细胞RNA序列缺失值填补方法。
[0008]本专利技术为解决上述技术问题所采取的技术方案是:
[0009]一种基于生成对抗网络的单细胞RNA序列缺失值填补方法,所述方法具体包括以
下步骤:
[0010]步骤一、基于RNA序列真实数据构造训练集;
[0011]步骤二、构建生成对抗网络,所述生成对抗网络中包括生成器和判别器,其中,生成器是由编码模块和解码模块组成的自编码器;
[0012]利用训练集对构建的生成对抗网络进行训练;
[0013]步骤三、对需要填补的RNA序列数据进行TPM归一化后,再对TPM归一化结果进行预处理,训练好的生成对抗网络根据预处理结果生成填补后的RNA序列数据。
[0014]进一步地,所述步骤一的具体过程为:
[0015]步骤一一、从数据集Usoskin中获取RNA序列数据,作为训练集;
[0016]步骤一二、获取的每条RNA序列数据均根据设置的缺失参数,来生成带有缺失值的RNA序列数据,并给生成的带有缺失值的RNA序列数据打上标签;
[0017]并分别对生成的每条带有缺失值的RNA序列数据进行TPM归一化,分别获得各条带有缺失值的RNA序列数据所对应的TPM归一化后数据;
[0018]步骤一三、对TPM归一化后的数据进行预处理,分别获得每条RNA序列数据所对应的预处理后矩阵;
[0019]将预处理后的矩阵作为训练生成对抗网络的输入。
[0020]进一步地,所述预处理的方式为基因选择和对数转换。
[0021]进一步地,所述步骤二中,生成器的损失函数为:
[0022]利用DrImpute对预处理后的矩阵进行填补,将填补结果作为方向约束来建立生成器的损失函数:
[0023][0024]其中,E是编码器矩阵、D是解码器矩阵,R为中间变量,σ是神经网络中应用于编码器层的Sigmoid激活函数,||
·
||
O
表示针对存在的非零计数计算损耗,δ是方向约束权重,用于控制方向约束项对成本函数的贡献,λ是正则化系数,F

是方向约束,||
·
||
F
是F范数。
[0025]进一步地,所述中间变量R为:
[0026]R=MoX
ꢀꢀꢀ
(2)
[0027]其中,o是Hadamard乘积,M是二进制掩码,X代表预处理后的矩阵。
[0028]进一步地,所述步骤二中,判别器的损失函数为:
[0029][0030]其中,a
k
是第k个缺失数据的真实值通过判别器输出的标签值,是生成器输出的第k个缺失数据的预测值通过判别器输出的标签值,k=1,2,

,K,K是缺失数据的总个数,W是判别器的参数集。
[0031]进一步地,所述自编码器的正则化系数λ的取值在0~12000之间。
[0032]进一步地,所述自编码器的隐藏层层数在1500~8000之间。
[0033]更进一步地,所述生成对抗网络的学习率初始值在10
‑5~10
‑3之间。
[0034]本专利技术的有益效果是:
[0035]本专利技术通过生成对抗网络对RNA序列缺失值进行填补,在生成器部分,引入由DrImpute填补完成的数据作为方向约束,在使用自编码器生成缺失值的同时,在损失函数中加入方向约束项,并对解码层给予了一个Relu激活函数来解决填补后的数据出现负值的情况。实验证明,采用本专利技术的方法可以显著提高数据填补的准确率。
附图说明
[0036]图1是本专利技术方法的流程图。
[0037]图2(a)是原始模拟数据当v=8时,直接聚类的结果图;
[0038]Rtsne_1和Rtsne_2是对数据使用T_SNE进行降维后得到的两列值;
[0039]图2(b)是原始模拟数据当v=8时,采用scImpute方法进行填补后再聚类的结果图;
[0040]图2(c)是原始模拟数据当v=8时,采用AutoImpute方法进行填补后再聚类的结果图;
[0041]图2(d)是原始模拟数据当v=8时,采用本专利技术方法进行填补后再聚类的结本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于生成对抗网络的单细胞RNA序列缺失值填补方法,其特征在于,所述方法具体包括以下步骤:步骤一、基于RNA序列真实数据构造训练集;步骤二、构建生成对抗网络,所述生成对抗网络中包括生成器和判别器,其中,生成器是由编码模块和解码模块组成的自编码器;利用训练集对构建的生成对抗网络进行训练;步骤三、对需要填补的RNA序列数据进行TPM归一化后,再对TPM归一化结果进行预处理,训练好的生成对抗网络根据预处理结果生成填补后的RNA序列数据。2.根据权利要求1所述的一种基于生成对抗网络的单细胞RNA序列缺失值填补方法其特征在于,所述步骤一的具体过程为:步骤一一、从数据集Usoskin中获取RNA序列数据,作为训练集;步骤一二、获取的每条RNA序列数据均根据设置的缺失参数,来生成带有缺失值的RNA序列数据,并给生成的带有缺失值的RNA序列数据打上标签;并分别对生成的每条带有缺失值的RNA序列数据进行TPM归一化,分别获得各条带有缺失值的RNA序列数据所对应的TPM归一化后数据;步骤一三、对TPM归一化后的数据进行预处理,分别获得每条RNA序列数据所对应的预处理后矩阵;将预处理后的矩阵作为训练生成对抗网络的输入。3.根据权利要求2所述的一种基于生成对抗网络的单细胞RNA序列缺失值填补方法其特征在于,所述预处理的方式为基因选择和对数转换。4.根据权利要求3所述的一种基于生成对抗网络的单细胞RNA序列缺失值填补方法其特征在于,所述步骤二中,生成器的损失函数为:利用DrImpute对预处理后的矩阵进行填补,将填补结果作为方向约束来建立生成器的损失函数:其中,E是编码器矩阵、D是解码器矩阵,R为中间变量,σ是神经网络中应用于编码器...

【专利技术属性】
技术研发人员:徐丽薛同许寅丛晓红江粤张新玉
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1