【技术实现步骤摘要】
基于隐私保护的基因相似度计算方法及基因信息获取方法
本专利技术属于生物信息
,具体涉及一种基于隐私保护的基因相似度计算方法及基因信息获取方法。
技术介绍
人类的全部生物信息可以由基因数据反映出来,并存储在人类的脱氧核糖核酸(deoxyribonucleicacid,简称DNA)序列之中。生物的遗传和变异都与DNA密切相关。如今基因测序技术飞速发展,基因测序的成本正在逐渐降低;基因数据在很多领域有着广泛的应用。在医学上,为了给病人提供最佳的治疗方案,医生需要将病人的DNA与远程基因组数据库进行比对。数据库中存储个体基因组序列,每个序列都标有此人的医疗状况(MedicalConditions)。医生需要在数据库中找到与病人基因组序列最相似的少数个体,并了解这些个体的医疗状况。这种在数据库中的查询称为相似病人查询(SimilarPatientQueries,简称SPQ)。SPQ有利于确定疾病背后的基因突变,也有利于避免无法治愈疾病的痛苦治疗方案,提供更准确的疾病预测和指导。人类有99.9%以上的DNA是相同的,剩下部分由于遗传变异而不同。最常见的变异只涉及单个核苷酸,这种变异称为单核苷酸多态性(singlenucleotidepolymorphism,简称SNP)。在基因组序列中只需30~80个独立的SNP位点就可以唯一重识别个体,并含有该个体的隐私敏感信息,例如,载脂蛋白E(apolipoproteinE)基因的两个SNP(rs429358和rs7412)会增加患阿尔茨海默病(Alzheimer’s ...
【技术保护点】
1.一种基于隐私保护的基因相似度计算方法,包括如下步骤:/nS1.数据库端和用户端分别进行初始化;/nS2.用户端对用户基因序列进行字符填充;数据库端对数据库存储的存储基因序列进行字符填充;/nS3.用户端对用户基因序列进行移动划分,从而得到用户基因移动序列;/nS4.数据库端对存储基因序列进行若干次移动划分,从而得到存储基因移动序列;/nS5.用户端将步骤S3得到的用户基因移动序列中每一个块编码为向量,得到用户基因移动序列向量;同时数据库端将步骤S4得到的存储基因移动序列中的每一个块编码为一个向量,得到存储基因移动序列向量;/nS6.用户端对用户基因移动序列向量加密,并将加密后的用户基因移动序列向量和设定阈值发送给数据库端;/nS7.数据库端对接收的步骤S6发送的数据进行解密,并计算存储基因移动序列向量与存储基因移动序列向量之间的序列相似度,从而得到最终的基因相似度计算结果。/n
【技术特征摘要】
1.一种基于隐私保护的基因相似度计算方法,包括如下步骤:
S1.数据库端和用户端分别进行初始化;
S2.用户端对用户基因序列进行字符填充;数据库端对数据库存储的存储基因序列进行字符填充;
S3.用户端对用户基因序列进行移动划分,从而得到用户基因移动序列;
S4.数据库端对存储基因序列进行若干次移动划分,从而得到存储基因移动序列;
S5.用户端将步骤S3得到的用户基因移动序列中每一个块编码为向量,得到用户基因移动序列向量;同时数据库端将步骤S4得到的存储基因移动序列中的每一个块编码为一个向量,得到存储基因移动序列向量;
S6.用户端对用户基因移动序列向量加密,并将加密后的用户基因移动序列向量和设定阈值发送给数据库端;
S7.数据库端对接收的步骤S6发送的数据进行解密,并计算存储基因移动序列向量与存储基因移动序列向量之间的序列相似度,从而得到最终的基因相似度计算结果。
2.根据权利要求1所述的基于隐私保护的基因相似度计算方法,其特征在于步骤S1所述的数据库端和用户端分别进行初始化,具体为数据库端初始化划分窗口值b;用户端初始化公钥pk和私钥sk。
3.根据权利要求2所述的基于隐私保护的基因相似度计算方法,其特征在于步骤S2所述的用户端对用户基因序列进行字符填充;数据库端对数据库存储的存储基因序列进行字符填充,具体为用户端对用户基因序列Q进行字符填充,数据库端对数据库存储的存储基因序列S进行字符填充,且填充字符的个数均为为向上取整函数;b为划分窗口值。
4.根据权利要求3所述的基于隐私保护的基因相似度计算方法,其特征在于步骤S3所述的用户端对用户基因序列进行移动划分,从而得到用户基因移动序列,具体为用户端对用户基因序列Q进行一次移动划分,从而得到用户基因移动序列
5.根据权利要求4所述的基于隐私保护的基因相似度计算方法,其特征在于步骤S4所述的数据库端对存储基因序列进行若干次移动划分,从而得到存储基因移动序列,具体为数据库端对存储基因序列S进行b次移动划分,从而得到存储基因移动序列其中b为划分窗口值。
6.根据权利要求5所述的基于隐私保护的基因相似度计算方法,其特征在于步骤S4所述的数据库端对存储基因序列进行若干次移动划分,从而得到存储基因移动序列,具体为采用如下步骤进行划分:
A.初始化序列参数n=1;
B.初始化循环参数t=1;
C.将划分窗口移动到距离序列Sn首字符t-1的位置;
D.移动划分序列Sn得到其中的元素个数为l,且l≤b;Sn的元素个数为L,且满足b为划分窗口值;
E.根据步骤C的结果,得到序列
F.将循环参数t增加1,并重复步骤C~步骤E,直至循环参数t等于b;其中b为划分窗口值;
F.将序列参数n增加1,并重复步骤B~步骤F,...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。