A privacy protection method for genome multiple sequence alignment based on secret sharing
By combining arithmetic secret sharing, Boolean secret sharing, and Yao's secret sharing methods, a secret-sharing data slice is constructed, which solves the privacy protection problem in genome multiple sequence alignment, achieves efficient approximate multiple sequence alignment, and ensures the privacy and security of genome data as well as computational utility.
Patent Information
- Application Number
- CN202411850546.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-16
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2044-12-16
AI Technical Summary
Existing technologies pose a risk of privacy information leakage in genome multiple sequence alignment, and existing privacy protection methods are inefficient and inflexible, making it difficult to meet computational needs.
A secure multi-party computation method based on secret sharing is adopted. By combining arithmetic secret sharing, Boolean secret sharing and Yao's secret sharing, secret sharing data slices are constructed to protect the privacy of genome sequences. Seed sequence construction and rearrangement methods are used to reduce the time overhead in the multiple sequence alignment process and achieve approximate multiple sequence alignment.
It improves the efficiency of privacy protection and computation in genome multiple sequence alignment, ensuring the privacy and security of genomic data while maintaining the accuracy of computation results.
Smart Images

Figure CN119885256B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application relates to a secret sharing-based privacy protection method for genome multiple sequence alignment, and belongs to the technical field of cyberspace security. BACKGROUND
[0002] With the progress of genome sequencing technology, the amount of genomic sequence data is increasing, reaching the TB level, and digital storage is gradually becoming mainstream. The analysis and utilization of genomic data have gradually expanded to various fields. Genome sequence alignment analysis is an important research method in genomic data scientific research, mainly including genome double sequence alignment and genome multiple sequence alignment methods. Multiple sequence alignment (MSA) of genomic sequences plays an increasingly important role in comparative genomics research. MSA can identify the commonalities and differences of a group of gene sequences, thereby predicting molecular structure and function, and can also construct phylogenetic trees to understand the evolutionary relationships between different species. Multiple sample MSA between different gene databases can understand the evolutionary relationships and functional associations between different organisms or individuals. In order to improve the effectiveness and accuracy of large-scale genomic sequence analysis, different institutions usually conduct collaborative analysis of genomic sequences.
[0003] However, human genomic sequences contain a large amount of sensitive personal information, especially long gene sequence data for multiple sequence alignment, which can uniquely identify individuals through mutation site information in the genomic sequence, and may cause the leakage of private information about family inheritance, diseases and blood relationships, threatening the privacy information of individuals. In addition, there is a strong correlation and similarity between genomic sequences, and the leakage of personal genomic sequence information may also lead to the leakage of sensitive biological information of relatives, ethnic groups or countries, resulting in serious consequences. The stability of gene sequences means that if sensitive information in gene sequence data is leaked, the related risks will run through the entire life cycle of the individual.
[0004] The owners of genomic data are mostly large-scale hospitals or research institutions, and the relevant practitioners have certain security awareness, and the genomic data is protected by certain cryptographic techniques during storage and transmission. However, there is still a lack of corresponding attention to the privacy protection of genomic sequences during the calculation process. The commonly used methods for protecting the privacy of genomic sequences during the calculation process include secure multi-party computation methods based on homomorphic encryption, garbled circuits and secret sharing. Among them, the secure multi-party computation based on homomorphic encryption and garbled circuits is an effective solution to protect the privacy of gene sequences during analysis and application, which protects the privacy of genomic data between different participants and maintains the availability of data. However, the time efficiency of these two methods is low, and they are not flexible enough. Even if only a single base alignment is performed, the entire genomic sequence must be encrypted or garbled, which is difficult to meet the calculation requirements of genomic multiple sequence alignment.
[0005] The secure multi-party computation method based on arithmetic secret sharing, Boolean secret sharing and Yao's secret sharing is a secure two-party computation based on secret sharing ciphertext space conversion proposed by Demmler et al. in 2015. The core idea is to secret share the data to be calculated, including arithmetic secret sharing, Boolean secret sharing and Yao's secret sharing, so that the participants have secret sharing slices of the data for calculation, and can restore the plaintext after calculation. In the case that the participants do not know each other's data, the relevant privacy calculation is completed. Since the three secret sharing methods have their own advantages and disadvantages and are good at different calculation methods, different secret sharing methods can be adapted to different calculation scenarios through ciphertext space conversion to increase the types of calculations that can be performed and improve the efficiency of privacy calculation. The secure multi-party computation method based on secret sharing is suitable for complex operations in genomic sequence multiple sequence alignment and can meet the requirements of efficiency and accuracy in genomic long sequence multiple sequence alignment. The secure multi-party computation method based on multiple secret sharing is a feasible scheme for privacy-protected genomic multiple sequence alignment.
[0006] Therefore, the present application realizes the privacy calculation of genomic sequence data in genomic multiple sequence alignment, designs a genomic sequence segmentation and rearrangement method to reduce the time overhead of ciphertext slice construction in the multiple sequence alignment process, designs a secret sharing privacy protection method that can be used for calculating genomic multiple sequence alignment, realizes approximate genomic multiple sequence alignment based on secret sharing, and ensures the privacy protection and calculation utility of genomic data. SUMMARY
[0007] The technical problem solved by the present application is: aiming at the privacy and utility demand in genome multiple sequence alignment, a secret sharing based genome multiple sequence alignment method is provided, which protects the privacy information of genome sequence in the multiple sequence alignment process while realizing high-precision approximate multiple sequence alignment, and realizes privacy-protected gene multiple sequence alignment.
[0008] The technical scheme adopted by the present application is: a secret sharing based privacy protection method for genome multiple sequence alignment, which involves a plurality of genome database query parties and a plurality of computing nodes A and B for aggregated privacy calculation, wherein the query party is a sub-node in the multiple sequence alignment calculation, and the offline calculation stage of the multiple sequence alignment is carried out, and the model of the genome multiple sequence alignment is as shown in the figure. Figure 1 The technical scheme for realizing the present application comprises the following steps:
[0009] Step one: the query party divides the genome sequence in the genome dataset
[0010] The genome database query party querying the multiple sequence alignment result pre-processes the local genome sequence dataset D={S 0 ,S 1 ,...,S n}. Any genome sequence S in D is divided into equal subsequences of length k {s0,s1,...,s m-1 ,m=length(S)-k+1}, wherein m represents the number of equal subsequences of S. Different subsequences differ from each other by 1 base site, so that a genome sequence can be represented as a list S H =[H0,H1,...,H m-1 ] composed of hash values of multiple equal subsequences.
[0011] Step two: the query party constructs a local public subsequence set
[0012] After the genome database query party obtains the hash list S H =[H0,H1,...,H m-1 ] of all genome sequences, the shortest sequence S R in all sequences is taken as a reference sequence, and the intersection of all genome sequences in the local genome dataset D is calculated to obtain the set of local public subsequence fragments and their positions
[0013] AncPos=[AncPos 0 ,AncPos 1 ,...,AncPos v-1] and sends it to the computing node A. Wherein, AncPos represents the local common subsequence set established by the genomic database; v represents the number of common subsequences in the local common subsequence set established by the genomic database.
[0014] Step three: the computing node A acquires the seed sequence set by comparison
[0015] The computing node A receives the set of local common subsequence fragments and positions of the genomic database obtained by all the sub-nodes participating in the query AncPos = [AncPos 0 ,AncPos 1 ,...,AncPos v-1 ] and obtains the intersection of the common subsequence sets of all the genomic databases, to obtain the seed sequence set and sends it to all the genomic database sub-nodes of the querying party. Wherein, AncPos C represents the seed sequence set of all the genomic databases participating in the query established by the computing node; Z represents the number of seed sequences of the sequence in the seed sequence set of all the genomic databases participating in the query established.
[0016] Step four: the querying party reconstructs the order of the seed sequence locally
[0017] 4.1 The genomic database querying party sub-node receives the seed sequence set According to the subsequence hash value matching the local genomic sequence, the position of the seed sequence on different local genomic sequences is obtained.
[0018] 4.2 On a genomic sequence, the hash of a seed sequence may appear at different positions. Based on the position of the seed sequence in all the local genomic sequences, the final order of the seed sequence is determined by a position weight function. The different hash values in the seed sequence are sorted according to the results obtained by the weight function, and finally the relative position of the seed sequence on the genomic sequence can be determined, to obtain the local position list of the seed sequence Wherein represents the local position list of the i-th seed sequence; represents the position of the i-th seed sequence on the U-th local genomic sequence; represents the hash value of the i-th seed sequence.
[0019] Step five: the querying party splits the genomic sequence to obtain the sequence to be compared
[0020] The genomic database querying party sub-node splits the genomic sequence according to the local position list of the seed sequence Determine the identical fragments of the local subsequence and other sequences to be aligned, cut them from the local genome sequence, and obtain the list of sequences to be aligned ES = {ES 1 ,ES 2 ,...,ES t}.
[0021] Step six: local construction of secret sharing data slices by the query party
[0022] The genome database query party node performs arithmetic secret sharing on the locally obtained list of sequences to be aligned ES = {ES 1 ,ES 2 ,...,ES t}, and obtains two additive arithmetic secret sharing data slices ES = {ES <es> A + <es> B = { <ES 1 > A + <ES 1 > B , <ES 2 > A + <ES 2 > B ,..., <ES t > A + <ES t > B}, respectively, <es> A = { <ES 1 > A , <ES 2 > A ,..., <ES t > A} sent to computing node A, will <es> B = { <ES 1 > B , <ES 2 > B ,..., <ES t > B} are sent to the computing node B;
[0023] wherein ES represents the fragments that are not identical in the genomic sequences of each day, i.e. the fragments to be aligned, determined by the genomic database subnode; <es> A , <es> B secret sharing data slices representing the sequence to be aligned, wherein <es> A represents that the compute node A obtains the data slice, <es> B represents the data slice obtained by the computing node B; t represents the number of the to-be-compared segments; wherein <ES 1 A represents the data slice of the first to-be-compared segment obtained by the computing node A, <ES 1 B represents the data slice of the first to-be-compared segment obtained by the computing node B.
[0024] Step seven: multi-sequence comparison of the ciphertext data slices between the computing nodes A and B
[0025] The computing node A receives the data secret sharing slice sent by the genomic data sub-node <es> A = { <ES 1 > A , <ES 2 > A ,..., <ES t > A}, the computing node B receives the genomic data subnode sends to the data secret sharing slice <es> B = { <ES 1 > B , <ES 2 > B ,..., <ES t > B}, multi-sequence comparison of the ciphertext data between the two parties is carried out, calculation of the scoring function f(es1, es2) is realized, and finally the ciphertext comparison result slice
[0026] <ed> A = { <ED 1 > A , <ED 2 > A ,..., <ED n > A} and ciphertext comparison result slice
[0027] <ed> B = { <ED 1 > B , <ED 2 > B ,..., <ED n > B} and sends the result to the genomic database query party sub-node participating in the multiple sequence alignment.
[0028] where <ED 1 > A represents the data slice of the scoring calculation result of the first piece of to-be-aligned fragment obtained by the computing node A, <ED 1 > B represents the data slice of the scoring calculation result of the first piece of to-be-aligned fragment obtained by the computing node B.
[0029] Step eight: the query party recovers and obtains the multiple sequence alignment calculation result
[0030] The genomic database query party sub-node obtains the ciphertext data result slice sent by the computing node A <ed> A = { <ED 1 > A , <ED 2 > A ,..., <ED n > A} and the ciphertext data result slice sent by the computing node B <ed> B = {<ED 1 B <ED 2 B <ED n B} and the two pieces of ciphertext data result slices are reconstructed to obtain the final multi-sequence alignment calculation result ED.
[0031] Compared with the prior art, the application has the following advantages:
[0032] (1) The application proposes a multi-party secure calculation method combined with arithmetic secret sharing, Boolean secret sharing and Yao's secret sharing to realize privacy protection of genome multi-sequence alignment. By using the characteristics of multi-sequence alignment of gene sequences, after constructing the secret sharing data slice ciphertext reduction, the corresponding secret sharing mode is selected according to the properties of different calculations in the scoring function to directly realize the conversion of the ciphertext space, which improves the efficiency of the ciphertext calculation and realizes the privacy of the gene sequence data of the participating multi-sequence alignment of the genome database.
[0033] (2) A seed sequence construction method is designed for long genome sequences, which is suitable for privacy multi-sequence alignment of long genome sequences and improves the implementation efficiency of the privacy protection multi-sequence alignment scheme. By cutting the long genome sequence, the same sub-sequence fragments in all sequences are cut off, the length of the sequence that needs to be calculated in ciphertext is reduced, and the overhead caused by the ciphertext calculation is reduced while ensuring the accuracy of the multi-sequence alignment result. BRIEF DESCRIPTION OF DRAWINGS
[0034] Figure 1 Figure 1 is a schematic diagram of the genome double-sequence alignment privacy protection method based on the confusion circuit of the application. DETAILED DESCRIPTION
[0035] The privacy protection method for genome multi-sequence alignment based on secret sharing proposed by the application needs to solve the following two problems: (1) how to realize the scoring of genome multi-sequence alignment; (2) how to realize privacy protection of genome multi-sequence alignment through three secret sharing secure multi-party calculation methods.
[0036] For problem (1), the application adopts the divide-and-conquer method and the heuristic method to realize the multiple sequence alignment scoring of genome sequences. The genome multiple sequence alignment method mainly adopts the dynamic programming algorithm to realize the edit distance scoring between each two sequences, and then adopts a three-step heuristic method to obtain the final multiple sequence alignment matrix. When performing the alignment of each two sequences, the edit distance and the gap penalty are used for scoring to determine the similarity of the two gene sequences. The difference between the two sequences is represented by the distance. When comparing two different DNAs, they can be made the same through insertion, deletion and substitution operations. The cost in this process is called edit distance, which is an important basis for gene double sequence alignment.
[0037] The gene double sequence alignment is realized by calculating the edit distance between two sequences. The dynamic programming method is adopted to calculate the edit distance. The input of the circuit is the gene sequence str1 and the gene sequence str2. The edit distance d between the two sequences is obtained through dynamic programming. When there are two different gene sequences, the two gene sequences can be made the same through some operations. The cost in this process is called edit distance. These operations are divided into insertion, deletion and substitution, which are defined as follows:
[0038] Insertion: insert one or more base sequences;
[0039] Deletion: delete one or more bases from the sequence;
[0040] Substitution: replace one base in the sequence with another base.
[0041] Now it is assumed that the cost required by the insertion, deletion and substitution operations is 1. Now the input is the i-th base of the sequence and the j-th base of the sequence. At this time, the calculated edit distance is D ij , then D ij can be obtained in the following three ways:
[0042] Insert or delete str1[i]: D ij =D (i-1)j +1;
[0043] Insert or delete str2[j]: D ij =D i(j-1) +1;
[0044] Substitute str1[i] or str2[j]: D ij =D (i-1)(j-1) +t, t∈{0,1}.
[0045] If str1[i]=str2[j], then t=0, otherwise t=1.
[0046] The formula for calculating the edit distance through dynamic programming is:
[0047] D ij =min[D (i-1)j +1,D i(j-1) +1,D (i-1)(j-1) +t]. The alignment distance matrix between multiple sequence alignments can be constructed using the distance between every two sequences, which is implemented in three steps:
[0048] (1) Determine the reference sequence in the genome sequence. Select one sequence from the multiple genome sequences to be aligned as the reference sequence for constructing the multiple sequence alignment matrix. Usually, the shortest genome sequence is selected.
[0049] (2) Construct the edit distance matrix for multiple sequence alignment. Score the edit distance between other genome sequences and the reference sequence pairwise, and construct the edit distance matrix between multiple sequence alignments around the reference sequence.
[0050] (3) Apply the edit distance matrix to multiple sequence alignment. Based on the edit distance matrix obtained in step two, construct a guide tree or find the center sequence in the multiple sequence alignment, find the k-nearest neighbor sequence, etc.
[0051] To address problem (2), this invention presents a privacy protection scheme for genome multiple sequence alignment based on ciphertext conversion between three types of secret sharing: arithmetic sharing, Boolean sharing, and Yao's sharing. ABY is a hybrid framework for multi-party secure computation that supports three different types of secret sharing, providing an efficient sharing and conversion method for the ciphertext of these three secret sharing methods.
[0052] Arithmetic sharing is implemented based on Beaver multiplication triples. A value x of length l bits to be shared can be divided into a range space. The ciphertext sharing and plaintext reconstruction methods for the two additive secret shared values are as follows:
[0053] Segmentation: Secret value is shared by performing additive secret sharing. <x> A can be split into two additive secret share values over the value domain space , where
[0054] Shr i A (x) share: party P i chooses a random number let and sends r to party P 1-i , party P 1-i gets the secret share slice
[0055] reconstruct: party P 1-i sends its owned secret share slice to come P i reconstructs the secret value <x> A Obtaining plaintext
[0056] Boolean sharing uses a bitwise bit-wise exclusive OR, XOR, operation to share a secret value, based on the Goldreich-Micali Wigderson (GMW) protocol to evaluate the result of a function represented as a Boolean circuit, whose ciphertext shares are reconstructed with plaintext as shown below:
[0057] Split: 1 bit long secret value <x> B share to two parties by a Boolean secret sharing, where
[0058] Shr i B (x) share: party P i selects a random number r e R {0,1}, let and sends r to party P 1-i , party P 1-i gets the secret share slice
[0059] reconstruction: party P 1-i sends its owned secret share slice to come P i reconstructs the secret value <x> B obtaining the plaintext
[0060] Yao's sharing is implemented based on the garbled circuit protocol. A garbled circuit based on a Boolean function expression is encrypted by a garbler, and the encrypted circuit is sent to an evaluator for evaluation to obtain a calculation result. The garbler randomly selects a global mask R with a length of k. For each input line ω, the available encryption keys include and The ciphertext sharing and plaintext reconstruction mode are as follows:
[0061] Split: 1-bit long secret value <x> Y Two secret sharing slices are obtained by performing Yao’s secret sharing between the two parties and
[0062] Sharing: Party P0 randomly samples a mask value k0∈ R {0,1} k Let and send to party P1.
[0063] Shr1 Y (x) Sharing: Parties perform k rounds of Oblivious Transfer protocol between them, where party P0 is the sender and the input association function and obtain where k 0 ∈ R {0,1} k Party P1 is the receiver and obtains the secret sharing slice
[0064] Reconstruction: Party P 1-i sends the garbled bit string it possesses to P i to reconstruct the secret value <x> Y Obtain plaintext
[0065] A privacy protection method for genome multi-sequence alignment based on secret sharing, the specific method is as follows:
[0066] Step one: the query party cuts the genome sequence in the genome dataset
[0067] The genome database query party participating in the query of the multi-sequence alignment result pre-processes the local genome sequence dataset D = {S 0 ,S 1 ,...,S n}. The genome sequence in D is cut into equal subsequences of length k {s0,s1,...,s m-1 ,m = length(S)-k+1}, and different subsequences differ from each other by 1 base site. Four different base types A (Adenine), T (Thymine), C (Guanine), and G (Cytosine) are encoded as h(A) = 0, h(T) = 1, h(C) = 2, and h(G) = 3, and the hash value of each subsequence can be obtained
[0068] H sub = H(h i ) = H(h0||h1||...||h k-1 ), then a genome sequence can be represented as a list S H = [H0,H1,...,H m-1 ] composed of hash values of multiple equal subsequences.
[0069] Step two: the query party constructs a local public subsequence set
[0070] After the genome database query party obtains the hash list S H = [H0,H1,...,H m-1 ] of all genome sequences, the shortest sequence S R in all sequences is taken as the reference sequence of the local genome dataset, the hash list of other sequences in D is compared with the list of S R , the subsequence fragments with consistent hash values appearing in all genome sequences are found, and the hash values of these public subsequences and the position records on different sequence fragments are recorded. The hash values and positions of all public subsequences of the local genome sequence in the genome dataset D are recorded The set of local public subsequence fragments and their positions of D is obtained AncPos = [AncPos 0 ,AncPos 1 ..., AncPos v-1 ] and sends it to the computing node A. Where, represents the representation information of a common subsequence, where is the position of the common subsequence in different gene sequences, represents the hash value of the common sequence;
[0071] Step three: Computing node A compares and obtains the seed sequence set
[0072] The computing node A receives the set of local common subsequence fragments and positions obtained by the genomic database of all participating query sub-nodes AncPos = [AncPos 0 ,AncPos 1 ,...,AncPos v-1 ] and obtains the seed sequence set by the intersection of the common subsequence set of all genomic data sets through the EQ function to judge whether the values are equal.
[0073] sequence set and sends it to all query genomic database query sub-nodes.
[0074] Step four: Query local reconstruction of seed sequence order
[0075] 4.1 The genomic database query sub-node receives the seed sequence set According to which the seed subsequence hash value is matched with all sequences D = {S1, S2,..., S t} in the local genomic data set, the position of the seed sequence on different local genomic sequences is obtained Where represents the position of the seed sequence i on the genomic sequence U, represents the hash value of the seed sequence.
[0076] 4.2 On a genomic sequence, the hash of a seed sequence may appear at different positions. Based on the position of the seed sequence in all local genomic sequences, the final ranking of the seed sequence is determined by the position weight function The position weight function mainly includes the distance function α(j, i) and the penalty function β(i, j) and the function. The distance function evaluates the relative distance between seed sequences i and j through the position of the seed sequence in the hash table; the function β(i, j) is a blank penalty function, which can be changed according to different requirements.
[0077] The different hash values in the seed sequence are sorted according to the results obtained by the weight function, the order of the subsequence is evaluated by the weight function f(i), and it is generally considered that the subsequence with a higher score is closer to each other. When judging the position of the seed sequence, the scoring results calculated according to the position index of the different hash values in AncPos, and the ranking position of the target seed sequence is calculated according to the scoring results. The function for calculating the position of the seed sequence is The relative position of the seed sequence on the genomic sequence can be determined by the calculation result of the seed sequence position function, and the local position list of the seed sequence is obtained
[0078] Step five: the query party splits the genomic sequence to obtain the sequence to be aligned
[0079] The local position list of the seed sequence is obtained by the genomic database query party subnode The local subsequence and the other sequences to be aligned are determined to be completely identical fragments, which are cut from the local genomic sequence to obtain the list of local genomic sequences to be aligned ES={ES 1 ,ES 2 ,...,ES t}.
[0080] Step six: the query party locally constructs secret sharing data slices
[0081] The genomic database query party subnode executes the arithmetic secret sharing function Shr i A (ES) on the locally obtained sequence to be aligned list ES={ES 1 ,ES 2 ,...,ES t} to obtain the additive arithmetic secret sharing data slice and Where R is an array of random numbers.
[0082] Send to the computing node A, and send to the computing node B.
[0083] Step seven: multi-sequence alignment of ciphertext data slices between computing nodes A and B
[0084] The computing node A receives the data secret sharing slice The computing node B receives the data secret sharing slice sent by the genomic data subnode, and performs multi-sequence alignment of ciphertext data between the two parties.
[0085] The scoring function in the double sequence alignment is constructed by using the dynamic programming edit distance algorithm, and the sequence fragments to be aligned are recorded as inputs es1, es2. For the i-th position of the input base and the j-th position of the base in the two sequence fragments, the edit distance is recorded as f(es1, es2)=d i,j . Then f(es1, es2) (i,j) can be obtained by inserting es1[i], and the penalty is c ins ; it can also be obtained by deleting es2[j], and the penalty is c del ; it can also be obtained by replacing es1[i] or es2[j], and the penalty is c sub , then according to the calculation formula of edit distance, the scoring function of sequence alignment can be determined
[0086] The computing node A and the computing node B input the sequence fragments to be aligned in the form of ciphertext data slices, and calculate the scores between the corresponding subsequence fragments by the scoring function. The calculation results of aligning multiple genomic sequences with the reference sequence are constructed as an edit distance matrix. The addition part in the function is realized by arithmetic secret sharing, and when es1[i] or es2[j] is compared, the ciphertext is converted to the ciphertext structure of Yao's secret sharing by ABY ciphertext conversion and The result is also in the form of ciphertext data slices, and is returned to the computing node A and the computing node B. The subsequence alignment scoring algorithm is shown in Algorithm 1:
[0087]
[0088]
[0089] After aligning the relative subsequence fragments of different sequences one by one, the computing node A obtains the ciphertext alignment result slice The computing node B obtains the ciphertext alignment result slice The results are sent to the genomic database query sub-node participating in the multi-sequence alignment.
[0090] Step eight: the query party restores and obtains the multi-sequence alignment calculation result
[0091] The genomic database sub-node obtains the ciphertext data result slice sent by the computing node A and the ciphertext data result slice sent by the computing node B The two ciphertext data result slices are reconstructed by Rec A (ED) ciphertext to obtain the final multi-sequence alignment calculation result. The result of multi-sequence alignment is an edit distance matrix calculated by the sum of edit distances of each unequal subsequence fragment. The result of multiple sequence alignment can be obtained for different genomic sequence and reference sequence alignment scoring of edit distance matrix.
[0092] The content not described in detail in the specification of the present application belongs to the prior art known to those skilled in the art.
[0093] The above is only a preferred embodiment of the privacy protection method for multiple sequence alignment of genomes based on secret sharing of the present application, and it should be noted that for those skilled in the art, without departing from the principle of the privacy protection method for multiple sequence alignment of genomes based on secret sharing, some improvements and refinements can also be made, which should also be considered as the protection scope of the privacy protection method for multiple sequence alignment of genomes based on secret sharing of the present application.< / x> < / x> < / x> < / x> < / x> < / x> < / ed> < / ed> < / ed> < / ed> < / es> < / es> < / es> < / es> < / es> < / es> < / es> < / es> < / es> < / es>
Claims
1. A privacy preserving method for secret sharing based genome multiple sequence alignment, characterized in that, The method comprises the following steps: Step one: the query party splits the genomic sequence in the genomic dataset; Step two: the query party constructs a local public subsequence set; Step three: the computing node A acquires a seed sequence set through alignment; Step four: the query party locally reconstructs the seed sequence order; Step five: the query party splits the genomic sequence to obtain a sequence to be aligned; Step six: the query party locally constructs a secret sharing data slice; Step seven: the computing nodes A and B perform multi-sequence alignment on the secret sharing data slice; Step eight: the query party restores and obtains the multi-sequence alignment calculation result; In step six, specifically: the genomic database query sub-node carries out arithmetic secret sharing on the locally obtained sequence list ES = {ES 1 , ES 2 ,..., ES t} to obtain two additive arithmetic secret sharing data slices ES = {ES <es> A + <es> B = { <ES 1 > A + <ES 1 > B , <ES 2 > A + <ES 2 > B ,..., <ES t > A + <ES t > B}, respectively, <es> A = { <ES 1 > A , <ES 2 > A ,..., <ES t > A} sent to computing node A, will <es> B = { <ES 1 > B , <ES 2 > B ,..., <ES t > B} sent to computing node B;< / es> < / es> < / es> < / es> ES represents the different fragments in the genome sequence of each day determined by the genome database sub-node, i.e. the fragments to be aligned; <es> A , <es> B secret sharing data slices representing the sequence to be aligned, wherein, <es> A represents that the computing node A obtains the data slice, <es> B represents the data slice obtained by the computing node B; t represents the number of the to-be-compared slices; wherein, <ES 1 A represents the data slice of the first to-be-compared slice obtained by the computing node A, <ES 1 B represents the data slice of the first to-be-compared slice obtained by the computing node B.< / es> < / es> < / es> < / es> 2. The privacy-preserving method for genomic multiple sequence alignment based on secret sharing according to claim 1, characterized in that: In step one, specifically: query the genome database query side of the multiple sequence alignment result to the local genome sequence dataset D = {S 0 ,S 1 ,...,S n} for preprocessing; any genome sequence S in D is cut into equal subsequences of length k {s0,s1,...,s m-1 ,m = length(S) - k + 1}, different sub-sequences differ from each other by one base site, then a genome sequence is represented as a list S consisting of hash values of equal sub-sequences H = [H0,H1,...,H m-1 ].
3. The privacy-preserving method for genomic multiple sequence alignment based on secret sharing according to claim 1 or 2, characterized in that: In step two, specifically: the genomic database querying party obtains the hash list S of all genomic sequences H = [H0, H1,..., H m-1 ] and takes the shortest sequence S R in all sequences as the reference sequence, and obtains the local common subsequence fragments and their positions of D by intersecting all genomic sequences in the genomic dataset D AncPos = [AncPos 0 ,AncPos 1 ,...,AncPos v-1 ] and sends it to the computing node A; wherein, AncPos represents the local common subsequence set established by the genome database; v represents the number of common subsequences in the local common subsequence set established by the genome database.
4. The privacy-preserving method for genomic multiple sequence alignment based on secret sharing according to claim 3, characterized in that: In step three, specifically: the computing node A receives the set of local public subsequence fragments and positions obtained by all participating query sub-nodes of the genomic database AncPos=[AncPos 0 ,AncPos 1 ,...,AncPos v-1 ] and obtains the intersection of the public subsequence set of all genomic datasets, obtaining the seed sequence set and sending it to all query genomic database sub-nodes; wherein AncPos C represents the seed sequence set of all participating query genomic databases established by the computing node; Z represents the number of seed sequences of the sequence in the seed sequence set of all participating query genomic databases established.
5. The privacy-preserving method for genomic multiple sequence alignment based on secret sharing according to claim 4, characterized in that: In step four, specifically: 4.1 The genomic database query subnode receives a set of seed sequences The positions of the seed sequences on the different local genomic sequences are obtained according to which subsequence hash values match the local genomic sequence. 4.2 The hash of a seed sequence can occur at different positions on a genomic sequence. The final order of the seed sequence is determined by a position weight function based on the position of the seed sequence in all local genomic sequences. Different hash values of the seed sequence are sorted according to the results obtained by the weight function, and the relative position of the seed sequence on the genomic sequence is finally determined to obtain the local position list of the seed sequence wherein, represents the local position list of the i-th seed sequence; represents the position of the i-th seed sequence on the U-th local genomic sequence; represents the hash value of the i-th seed sequence.
6. The privacy-preserving method for genomic multiple sequence alignment based on secret sharing according to claim 1 or 5, characterized in that: In step five, specifically: the genomic database query sub-node according to the local position list of the seed sequence determines the completely identical fragments of the local sub-sequence and other sequences to be compared, cuts them from the local genomic sequence, and obtains the to-be-compared sequence list ES = {ES 1 , ES 2 ,..., ES t} of the local genomic sequence.
7. The privacy-preserving method for genomic multiple sequence alignment based on secret sharing according to claim 1, characterized in that: In step seven, specifically: the computing node A receives the genomic data subnode sent to the data secret sharing slice <es> A = { <ES 1 > A , <ES 2 > A ,..., <ES t > A}, the computing node B receives the genomic data subnode sends to the data secret sharing slice <es> B = { <ES 1 > B , <ES 2 > B ,..., <ES t > B}, multi-sequence comparison of the ciphertext data between the two parties is performed to realize the calculation of the scoring function f (es1, es2), and finally the ciphertext comparison result slice <ed> A = { <ED 1 > A , <ED 2 > A ,..., <ED n > A} and ciphertext comparison result slice <ed> B = { <ED 1 > B , <ED 2 > B ,..., <ED n > B}, the result is sent to the genomic database query sub-node participating in the multiple sequence alignment.< / ed> < / ed> < / es> < / es> wherein, <ED 1 > A represents a data slice indicating the scoring computation result of the first piece of to-be-compared segment obtained by the computing node A, <ED 1 > B represents a data slice indicating the scoring computation result of the first piece of to-be-compared segment obtained by the computing node B.
8. The privacy-preserving method for genomic multiple sequence alignment based on secret sharing according to claim 7, characterized in that: In step eight, specifically: the genomic database query party sub-node obtains the ciphertext data result slice sent by the computing node A <ed> A = { <ED 1 > A , <ED 2 > A ,..., <ED n > A} and the ciphertext data result slice sent by the computing node B <ed> B = { <ED 1 > B , <ED 2 > B ,..., <ED n > B}, and the two pieces of ciphertext data result slices are reconstructed to obtain the final calculation result ED of the multiple sequence alignment, and the result of the multiple sequence alignment is obtained according to the alignment scoring between different genomic sequences and reference sequences.< / ed> < / ed>
Citation Information
Patent Citations
User privacy information query implementation method and device based on distributed reconstruction
CN111782662A
Privacy-enhancing technologies for medical tests using genomic data
EP2709028A1