基于负数据库的相似患者查询方法及系统转让专利

申请号 : CN202010067402.9

文献号 : CN111326214B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵冬冬毛以恒向剑文

申请人 : 武汉理工大学

摘要 :

本发明公开了一种基于负数据库的基因数据上安全的相似患者查询方法及系统,包括以下步骤:将作为典型样本患者的基因序列转化为二进制串,并生成负数据库,并作为样本负数据库存储到服务器的基因序列总数据库中,同时存储与相应患者的医疗数据;将待查询的基因序列数据转化为二进制串,并生成相应的待查询基因序列负数据库,并上传服务器;计算待查询基因序列负数据库与基因序列总数据库中所有样本负数据库之间的编辑距离;找出编辑距离最小的样本负数据库,并返回相应患者的医疗数据。本发明可以在满足隐私保护的前提下,安全地计算基因序列间的编辑距离,由此比较基因序列间的相似性,用于基因医疗和疾病诊断。

权利要求 :

1.一种基于负数据库的基因数据上安全的相似患者查询方法,其特征在于,包括以下步骤:步骤1,将作为典型样本患者的基因序列转化为二进制串,并生成负数据库,并作为样本负数据库存储到服务器的基因序列总数据库中,同时存储与相应患者的医疗数据;

步骤2,将待查询的基因序列数据转化为二进制串,并生成相应的待查询基因序列负数据库,并上传服务器;

步骤3,计算待查询基因序列负数据库与基因序列总数据库中所有样本负数据库之间的编辑距离;

步骤4,找出编辑距离最小的样本负数据库,并返回相应患者的医疗数据。

2.根据权利要求1所述的基于负数据库的基因数据上安全的相似患者查询方法,其特征在于,步骤1、2中,对于由碱基A,T,G和C组成的一段基因序列,分别使用00,01,10和11来代替A,T,G和C,并将其转化为长度是原来两倍的二进制串形式,使用负数据库生成算法K‑hidden将二进制串生成对应的负数据库形式。

3.根据权利要求1所述的基于负数据库的基因数据上安全的相似患者查询方法,其特征在于:步骤3中,由负数据库NDBb中某一位上‘0’和‘1’的个数,来估算其隐藏的二进制串b在对应位上值为0的概率 结合经典的编辑距离公式,得到负数据库间编辑距离估算公式NDB‑ED:其中,

其中edit[i][j]为编辑距离计算公式,对于两个基因序列s1和s2,edit[i][j]表示s1的前i位子串与s2的前j位子串之间的编辑距离,设s1和s2的长度分别是len1和len2,那么由edit[0][0]逐步计算到edit[len1][len2]就得到了s1与s2间的编辑距离;设由s1和s2生成的负数据库为NDBb1和NDBb2,通过统计NDBb1和NDBb2分别在第2i,2i+1位和第2j,2j+1位上‘0’和‘1’的个数,估算出它们所隐藏的二进制串b1和b2在对应位上为‘0’的概率和 而它们又分别对应s1和s2的第i位和第j位,因此进一步计算出s1和s2分别在第i位和第j位取值相等的概率

4.一种基于负数据库的基因数据上安全的相似患者查询系统,其特征在于,包括客户端和服务器,其中,客户端包括:

样本负数据库转换模块,用于将作为典型样本患者的基因序列转化为二进制串,并生成负数据库,并作为样本负数据库存储到服务器的基因序列总数据库中,同时存储与相应患者的医疗数据;以及待查询负数据库转换模块,用于将待查询的基因序列数据转化为二进制串,并生成相应的待查询基因序列负数据库,并上传服务器;

服务器包括:

编辑距离计算模块,用于计算待查询基因序列负数据库与基因序列总数据库中所有样本负数据库之间的编辑距离;以及医疗数据返回模块,用于找出编辑距离最小的样本负数据库,并返回相应患者的医疗数据给客户端。

5.根据权利要求4所述的基于负数据库的基因数据上安全的相似患者查询系统,其特征在于,样本负数据库转换模块具体将碱基A,T,G和C组成的一段基因序列,分别使用00,

01,10和11来代替A,T,G和C,并将其转化为长度是原来两倍的二进制串形式,使用负数据库生成算法K‑hidden将二进制串生成对应的负数据库形式。

6.根据权利要求4所述的基于负数据库的基因数据上安全的相似患者查询系统,其特征在于,待查询负数据库转换模块具体将碱基A,T,G和C组成的一段基因序列,分别使用00,

01,10和11来代替A,T,G和C,并将其转化为长度是原来两倍的二进制串形式,使用负数据库生成算法K‑hidden将二进制串生成对应的负数据库形式。

7.根据权利要求4所述的基于负数据库的基因数据上安全的相似患者查询系统,其特征在于:编辑距离计算模块具体用于:由负数据库中某一位上‘0’和‘1’的个数,来估算其隐藏的二进制串在对应位上值为0的概率 结合经典的编辑距离公式,得到负数据库间编辑距离估算公式NDB‑ED:其中,

其中edit[i][j]为编辑距离计算公式,对于两个基因序列s1和s2,edit[i][j]表示s1的前i位子串与s2的前j位子串之间的编辑距离,设s1和s2的长度分别是len1和len2,那么由edit[0][0]逐步计算到edit[len1][len2]就得到了s1与s2间的编辑距离;设由s1和s2生成的负数据库为NDBb1和NDBb2,通过统计NDBb1和NDBb2分别在第2i,2i+1位和第2j,2j+1位上‘0’和‘1’的个数,估算出它们所隐藏的二进制串b1和b2在对应位上为‘0’的概率和 而它们又分别对应s1和s2的第i位和第j位,因此进一步计算出s1和s2分别在第i位和第j位取值相等的概率

8.一种计算机存储介质,其特征在于,其内存储有可被处理器执行的计算机程序,该计算机程序执行如权利要求1‑3中任一项所述的基于负数据库的基因数据上安全的相似患者查询方法。

说明书 :

基于负数据库的相似患者查询方法及系统

技术领域

[0001] 本发明属于生物特征数据隐私保护领域,具体涉及一种基于负数据库的基因序列间编辑距离估算方法及系统。

背景技术

[0002] 随着基因测序技术的进步,基因数据相关的研究和应用也在快速发展,例如比较基因序列的相似性,用于基因医疗和疾病诊断等,医生可以通过比较自己病人的基因序列与数据库中其他患者的基因序列数据,找出最为相似的那些患者,参考他们的医疗信息,从而为自己的病人提供好的诊断。近年来有许多比较基因序列相似性的算法被提出,在各项比较指标中,编辑距离是其中最为重要的相似性测量指标之一,常被用于生物医学研究中对疾病的诊断。
[0003] 然而一个人的基因数据是唯一且不变的,一旦被泄露则会给个人造成终身的隐私安全问题。目前为了能够在不公开基因数据的前提下安全地比较两个基因序列间的相似性,通常采用的方法是先对原始的基因数据进行加密,然后在加密的数据上进行安全的编辑距离计算。但是基于加密的算法一般为了降低自己的时间复杂度和通信开销,在算法的精度上会有一定的妥协,如果要达到完全精确,在算法效率上又无法让人接受。

发明内容

[0004] 本发明要解决的技术问题在于针对现有技术中的上述缺陷,提供一种基于负数据库的基因数据上安全的相似患者查询方法及系统。
[0005] 本发明解决其技术问题所采用的技术方案是:
[0006] 提供一种基于负数据库的基因数据上安全的相似患者查询方法,包括以下步骤:
[0007] 步骤1,将作为典型样本患者的基因序列转化为二进制串,并生成负数据库,并作为样本负数据库存储到服务器的基因序列总数据库中,同时存储与相应患者的医疗数据;
[0008] 步骤2,将待查询的基因序列数据转化为二进制串,并生成相应的待查询基因序列负数据库,并上传服务器;
[0009] 步骤3,计算待查询基因序列负数据库与基因序列总数据库中所有样本负数据库之间的编辑距离;
[0010] 步骤4,找出编辑距离最小的样本负数据库,并返回相应患者的医疗数据。
[0011] 接上述技术方案,步骤1、2中,对于由碱基A,T,G和C组成的一段基因序列,分别使用00,01,10和11来代替A,T,G和C,并将其转化为长度是原来两倍的二进制串形式,使用负数据库生成算法K‑hidden将二进制串生成对应的负数据库形式。
[0012] 接上述技术方案,步骤3中,由负数据库NDBb中某一位上‘0’和‘1’的个数,来估算其隐藏的二进制串b在对应位上值为0的概率 结合经典的编辑距离公式,得到负数据库间编辑距离估算公式NDB‑ED:
[0013]
[0014] 其中,
[0015]
[0016] 其中edit[i][j]为编辑距离计算公式,对于两个基因序列s1和s2,edit[i][j] 表示s1的前i位子串与s2的前j位子串之间的编辑距离,设s1和s2的长度分别是len1和len2,那么由edit[0][0]逐步计算到edit[len1][len2]就得到了s1与 s2间的编辑距离;设由s1和s2生成的负数据库为NDBb1和NDBb2,通过统计 NDBb1和NDBb2分别在第2i,2i+1位和第2j,2j+1位上‘0’和‘1’的个数,估算出它们所隐藏的二进制串b1和b2在对应位上为‘0’的概率和 而它们又分别对应s1和s2的第i位和第j 位,因此进一步计算出s1和s2分别在第i位和第j位取值相等的概率
[0017] 本发明还提供了一种基于负数据库的基因数据上安全的相似患者查询系统,包括客户端和服务器,其中,
[0018] 客户端包括:
[0019] 样本负数据库转换模块,用于将作为典型样本患者的基因序列转化为二进制串,并生成负数据库,并作为样本负数据库存储到服务器的基因序列总数据库中,同时存储与相应患者的医疗数据;以及
[0020] 待查询负数据库转换模块,用于将待查询的基因序列数据转化为二进制串,并生成相应的待查询基因序列负数据库,并上传服务器;
[0021] 服务器包括:
[0022] 编辑距离计算模块,用于计算待查询基因序列负数据库与基因序列总数据库中所有样本负数据库之间的编辑距离;以及
[0023] 医疗数据返回模块,用于找出编辑距离最小的样本负数据库,并返回相应患者的医疗数据给客户端。
[0024] 接上述技术方案,样本负数据库转换模块具体将碱基A,T,G和C组成的一段基因序列,分别使用00,01,10和11来代替A,T,G和C,并将其转化为长度是原来两倍的二进制串形式,使用负数据库生成算法K‑hidden将二进制串生成对应的负数据库形式。
[0025] 接上述技术方案,待查询负数据库转换模块具体将碱基A,T,G和C组成的一段基因序列,分别使用00,01,10和11来代替A,T,G和C,并将其转化为长度是原来两倍的二进制串形式,使用负数据库生成算法K‑hidden将二进制串生成对应的负数据库形式。
[0026] 接上述技术方案,编辑距离计算模块具体用于:由负数据库中某一位上‘0’和‘1’的个数,来估算其隐藏的二进制串在对应位上值为0的概率 结合经典的编辑距离公式,得到负数据库间编辑距离估算公式NDB‑ED:
[0027]
[0028] 其中,
[0029]
[0030] 其中edit[i][j]为编辑距离计算公式,对于两个基因序列s1和s2,edit[i][j] 表示s1的前i位子串与s2的前j位子串之间的编辑距离,设s1和s2的长度分别是len1和len2,那么由edit[0][0]逐步计算到edit[len1][len2]就得到了s1与 s2间的编辑距离;设由s1和s2生成的负数据库为NDBb1和NDBb2,通过统计 NDBb1和NDBb2分别在第2i,2i+1位和第2j,2j+1位上‘0’和‘1’的个数,估算出它们所隐藏的二进制串b1和b2在对应位上为‘0’的概率和 而它们又分别对应s1和s2的第i位和第j 位,因此进一步计算出s1和s2分别在第i位和第j位取值相等的概率
[0031] 本发明还提供了一种计算机存储介质,其内存储有可被处理器执行的计算机程序,该计算机程序执行如上述技术方案所述的基于负数据库的基因数据上安全的相似患者查询方法。
[0032] 本发明产生的有益效果是:本发明能够在不泄露原始基因数据的前提下安全地计算它们之间的编辑距离,用于查询者从基因数据库中找到与自己具有相似基因数据的人的医疗信息,为医疗诊断提供参考。使用负数据库作为隐私保护的方法,相对于已有的无法很好平衡效率与精度的基于加密的算法,本发明能够保证好的效率,并达到100%的精度。

附图说明

[0033] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0034] 图1是本发明实施例基于负数据库的基因数据上安全的相似患者查询方法的流程图;
[0035] 图2是本发明另一实施例基于负数据库的基因数据上安全的相似患者查询方法的具体步骤;
[0036] 图3是本发明实施例通过负数据库来估算隐藏串b对应的基因序列s在每一位上取值的概率;
[0037] 图4是本发明实施例基于负数据库的基因数据上安全的相似患者查询系统结构示意图一;
[0038] 图5是本发明实施例基于负数据库的基因数据上安全的相似患者查询系统结构示意图二。

具体实施方式

[0039] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0040] 如图1所示,本发明实施例基于负数据库的基因数据上安全的相似患者查询方法包括以下步骤:
[0041] S1、将作为典型样本患者的基因序列转化为二进制串,并生成负数据库,并作为样本负数据库存储到服务器的基因序列总数据库中,同时存储与相应患者的医疗数据;
[0042] S2、将待查询的基因序列数据转化为二进制串,并生成相应的待查询基因序列负数据库,并上传服务器;
[0043] S3、计算待查询基因序列负数据库与基因序列总数据库中所有样本负数据库之间的编辑距离;
[0044] S4、找出编辑距离最小的样本负数据库,并返回相应患者的医疗数据。
[0045] 步骤1中,对于由碱基A,T,G和C组成的一段基因序列s,分别使用00, 01,10和11来代替A,T,G和C将其转化为长度是原来两倍的二进制串形式b,使用负数据库生成算法K‑hidden将b生成对应的负数据库形式NDBb。
[0046] 进一步地,步骤S3中,由负数据库NDBb中某一位上‘0’和‘1’的个数,来估算其隐藏的二进制串b在对应位上值为0的概率 结合经典的编辑距离公式,得到负数据库间编辑距离估算公式(NDB‑ED):
[0047]
[0048] 其中,
[0049]
[0050]
[0051] 其中edit[i][j]为编辑距离计算公式,对于两个基因序列s1和s2,edit[i][j] 表示s1的前i位子串与s2的前j位子串之间的编辑距离,设s1和s2的长度分别是len1和len2,那么由edit[0][0]逐步计算到edit[len1][len2]就得到了s1与 s2间的编辑距离。设由s1和s2生成的负数据库为NDBb1和NDBb2,通过统计 NDBb1和NDBb2分别在第2i,2i+1位和第2j,2j+1位上‘0’和‘1’的个数,估算出它们所隐藏的二进制串b1和b2在对应位上为‘0’的概率和 而它们又分别对应s1和s2的第i位和第j 位,因此可进一步计算出s1和s2分别在第i位和第j位取值相等的概率
[0052] 查询者和数据拥有者在本地将自己的基因序列转化为负数据库的形式上传给服务器,服务器使用推导的NDB‑ED算法,就可以安全地估算原始基因序列间的编辑距离,用于比较基因序列间的相似性,将数据拥有者的数据库中,与查询者基因序列相似的患者信息返回给查询者。
[0053] 下面结合图2,图3和图4对本发明进行详细的描述,本实施例另一实施例基于负数据库的基因数据上安全的相似患者查询方法的具体步骤包括:
[0054] 步骤1,查询者和数据拥有者在本地将自己的基因序列数据生成为负数据库。
[0055] 因为基因序列数据是由4中碱基A,T,G和C组成的字符串,所以使用2个 bit刚好4种组合00,01,10和11来代替这4个字符,将原始的基因序列转化为二进制串,如图2中将基因序列s(m个字符)转化为b(长度为2m)。接着,使用K‑hidden算法将基因序列转化后的二进制串b生成相应的负数据库NDBb,其中一共有2m x r条记录,每条记录长度为2m,如图2中b到NDBb的转化。
[0056] 步骤2,推导负数据库间的编辑距离估算公式,2个负数据库间的编辑距离计算公式为:
[0057]
[0058] 其中
[0059]
[0060]
[0061] 这里edit[i][j]表示的是,对于两个负数据库NDB1和NDB2,它们所隐藏的原始串分别是s1和s2,将s1的前i位的子串编辑成s2的前j位的子串所需的最小编辑操作。公式中表示s1的第i位与s2的第j位取值相等的概率, b1和b2分别表示s1和s2对应的二进制形式。对于pr可以通过对负数据库上0 和1数量的统计以及负数据库的生产参数,使用贝叶斯概率公式来求解。
[0062] 如图3中,由负数据库NDBb可以估算出隐藏串b上第1位和第2位为‘0’的概率,分别表示为pr1和pr2,于是二进制串b所对应的原始基因序列s的第一位取‘A’,‘G’,‘T’或‘C’的概率可分别通过pr1和pr2求出。这样我们就可以通过负数据库来估算它对应的基因序列s在每一位上取值的概率,用于负数据库间的编辑距离计算。
[0063] 步骤3,在各方将原始基因序列转化为负数据库后,上传给服务器。一般上传者包括查询者和数据拥有者,查询者想获得与自己基因序列相似的其他基因数据,数据拥有者有大量的基因数据如医院或者相关研究机构。服务器来安全地计算收到的负数据库间的编辑距离,并将与查询者提供的负数据库相似的一个或多个负数据库数据及相应的医疗信息返还给查询方。
[0064] 上述实施例中使用的基因数据集为iDASH competition 2016中提供的SNPs 序列,使用我们的方法进行安全的编辑距离计算返回的查询结果,与不采取任何安全策略直接计算编辑距离得到的查询结果相比,我们的结果精度可达到100%,效率上需要1.7倍的计算时间,说明了我们的方法可以在保证基因序列数据安全的前提下,以合适的效率,达到最好的查询精度。
[0065] 如图5所示,本发明实施例基于负数据库的基因数据上安全的相似患者查询系统,包括客户端和服务器,其中,
[0066] 客户端包括:
[0067] 样本负数据库转换模块,用于将作为典型样本患者的基因序列转化为二进制串,并生成负数据库,并作为样本负数据库存储到服务器的基因序列总数据库中,同时存储与相应患者的医疗数据;以及
[0068] 待查询负数据库转换模块,用于将待查询的基因序列数据转化为二进制串,并生成相应的待查询基因序列负数据库,并上传服务器;
[0069] 服务器包括:
[0070] 编辑距离计算模块,用于计算待查询基因序列负数据库与基因序列总数据库中所有样本负数据库之间的编辑距离;以及
[0071] 医疗数据返回模块,用于找出编辑距离最小的样本负数据库,并返回相应患者的医疗数据给客户端。
[0072] 上述系统主要用于实现上述方法实施例的每个步骤,相同部分在此不赘述。
[0073] 本发明还保护一种计算机存储介质,其内存储有可被处理器执行的计算机程序,该计算机程序执行上述实施例的基于负数据库的基因数据上安全的相似患者查询方法。
[0074] 综上,本发明可以在满足隐私保护的前提下,安全地计算基因序列间的编辑距离,由此比较基因序列间的相似性,用于基因医疗和疾病诊断,如在大量患者中找出与查询者基因序列相似的患者信息,为查询者的诊断提供参考,并且全过程不泄露任何人的基因数据。
[0075] 应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。