IP Library › Granted Patent US 12,322,477
Granted Patent B1
US 12,322,477 · App. 17/126,039 · Granted Jun 3, 2025

Methods of efficiently transforming and comparing recombinable DNA information

Inventor: John Hayward (Wheaton, IL)
G16B20/00G16B30/00G16B50/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,322,477
App. No.
17/126,039
Granted
Jun 3, 2025
Kind
B1
Abstract

The present invention relates to an improved system and method for analyze data from submitted DNA kit and/or genome data form database records so as to compare sequences for determining the level of SNP homology between the two tested sequences. The DNA calling data is compared in a stepwise block by block manner, where the blocks for the compared sequences have data blocks in bit-word lengths of the processor performing the sequence comparison analysis. The blocks are compared in block sets having a minimum cM length, where the block comparisons are initiated at the last block of the minimum length block sets and proceed in a retrograde manner.

Claims (34)

1. A computer-implemented method for determining the genetic relatedness of multiple individuals of a particular species with fewer computational steps by a processor, comprising executing on a processor the steps of:

obtaining from a computer memory digital files of a first deoxyribonucleic acid (DNA) sequence information of a first individual and a second DNA sequence information of a second individual, each of said first and second DNA sequence information including base pair data for a set of single nucleotide polymorphism (SNP) loci;

said processor organizes the base pair data of each of said first and second DNA sequence information, wherein the base pair data present at each of said set of SNP loci are transformed into a standardized SNP data sequence format according to a digital SNP loci template having a pre-determined set of SNP loci, wherein a first digital file comprising a first standardized SNP sequence from said first DNA sequence and a second digital file comprising second standardized SNP sequence from said second DNA sequence are created, wherein each bit in said first standardized SNP sequence and said second standardized SNP sequence represents a base pair at one of said pre-determined set of SNP loci;

said processor divides the first standardized SNP sequence into a first set of digital data blocks and the second standardized SNP sequence into a second set of digital data blocks, each of said data blocks having a pre-determined bit length that is equal to a bit word length of said processor; and

said processor compares said first set of digital blocks with said second set of digital blocks,

wherein said first set of digital data blocks is aligned with said second set of digital data blocks according to said digital SNP loci template, a first predetermined sequence of digital data blocks of said first set of digital data blocks represents a first comparison segment and a first predetermined sequence of said second set of data blocks represents a second comparison segment, wherein the first comparison segment and said second comparison segment have a pre-determined segment length, and said processor performs the comparison of the first comparison segment and the second comparison segment in a stepwise block-by-block process beginning at a last digital data block of each of the first and second comparison segments, working backwards toward a first digital data block of each of the first and second comparison segments until

(1) a mismatch between the first and second comparison segments at an SNP locus is found or

(2) the entire lengths of the first and second comparison segments are compared with no mismatches at the SNP loci found,

wherein aligned digital data blocks are compared in a single computational step by the processor, and in the event a mismatch is identified in the comparison of the first comparison segment and said second comparison segment, a third comparison segment of said pre-determined segment length is identified starting from the last digital data block free from mismatches between the SNP loci of the first and second comparison segments and extending for said pre-determined segment length along said first set of digital data blocks, and a fourth comparison segment of said pre-determined segment length is identified starting from the last digital data block free from mismatches and extending for said pre-determined segment length along said second set of digital data blocks, and

said processor performing a comparison of the third comparison segment and the fourth comparison segment in a stepwise block-by-block process beginning at a last digital data block of each of the third and fourth comparison segments working backwards toward a first digital data block of each of the third and fourth comparison segments until

(1) a mismatch at an SNP locus between the third and fourth comparison segments is found or

(2) the entire lengths of the third and fourth comparison segments are compared with no mismatches at the SNP loci.

2. The method of claim 1 , wherein said mismatch between base pairs of the first and second comparison segments occurs when they have opposite base pairs at a particular SNP locus.

3. The method of claim 1 , wherein said first and second comparison segments include a pre-determined cM length requirement, defining said pre-determined segment length.

4. The method of claim 1 , wherein each of the first and second DNA sequence information includes a single bit representing both sets of base pairs at each SNP locus in the digital SNP loci template for the corresponding individual.

5. The method of claim 4 , further comprising creating a second bit corresponding to each SNP locus in the digital SNP loci template that encodes whether the sets of base pairs at said SNP locus are homozygous or heterozygous.

6. The method of claim 1 , further converting a predetermined cM length requirement into a corresponding number of data blocks representing a number of SNP loci to satisfy the said predetermined cM length requirement, wherein said first comparison segment, said second comparison segment, said third comparison segment, and said fourth comparison segment each have a length that is equal to said predetermined cM length requirement.

7. A computer-implemented method for determining the genetic relatedness of multiple individuals executing machine-readable instructions on a general purpose computer, comprising:

obtaining first digital deoxyribonucleic acid (DNA) sequence data set of a first individual and second digital DNA sequence data set of a second individual from a computer memory;

a processor of said general purpose computer transforms base pair data at single nucleotide polymorphism (SNP) loci in the first digital DNA sequence data set to generate a first digital file comprising a first digital comparison sequence according to an SNP loci sequence template, wherein each bit in said first digital comparison sequence represents a homozygous set of base pairs at one of said SNP loci;

said processor transforms base pair data at SNP loci data in the second digital DNA sequence data to generate a second digital file comprising a second digital comparison sequence according to said SNP loci sequence template, wherein each bit in said second digital comparison sequence represents a homozygous set of base pairs at one of said SNP loci;

said processor divides the first comparison sequence into a first set of digital data blocks and the second comparison sequence into a second set of digital data blocks, wherein the number of bits in each digital data block is equal to the bit word length of a computer processor and each bit in each digital data block represents an identity of a set of homozygous base pairs at an SNP locus in the SNP loci sequence template; comparing a first set of digital data blocks from said first comparison sequence with a second set of digital data blocks from said second comparison sequence to identify mismatches in base pair data at SNP loci, wherein said first set of digital data blocks and said second digital data blocks are aligned according to said SNP loci sequence template and have a predetermined length that has a number of SNP loci required to satisfy a pre-determined centimorgan (cM) length, wherein said comparison begins between a last data block of said first set of digital data blocks and a last data block of said second set of digital data blocks and proceeds in a retrograde progression from the last data digital blocks until either a mismatch occurs between the first and second sets of digital data blocks at an SNP locus or the comparison does not identify a mismatch at any SNP locus; and

said processor determines whether the SNP loci of the first and second sets of digital data blocks match by comparing the bits between two corresponding digital data blocks of said first and second sets of digital data blocks in a single computational operation.

8. A digital computing system having a processor and, a computer-readable memory, and having software enabling said digital computing system to convert and compare digital DNA sequence data set from multiple individuals to determine the genetic relatedness of the multiple individuals with fewer computational operations by said processor, comprising:

said processor operable to:

obtain from a computer-readable medium first and second digital deoxyribonucleic acid (DNA) sequence data sets of a first individual and a second individual, respectively, said first and second digital DNA sequence data sets including base pair data for single nucleotide polymorphism (SNP) loci of said first and second individuals;

create first and second digital comparison sequences each comprising said base pair data at said SNP loci from said first and second digital DNA sequence data sets according to a digital SNP sequence template, wherein each bit in the first and second comparison sequences represents an identity of a base pair at an SNP locus;

divide the first comparison sequence into a first set of digital data blocks and the second comparison sequence into a second set of digital data blocks, each of said data blocks having a pre-determined bit length equal to a bit word length of said processor; and

compare said first comparison sequence of said first individual with said second comparison sequence of said second individual in a stepwise block-by-block process beginning at a last digital data block of each of the first and second sets of digital data blocks and working backwards toward a first digital data block of each of the first and second sets of digital data blocks, wherein

a. a comparison of one digital data block of said first set of digital data blocks and one digital block of said second set of digital data blocks is completed in a single computational operation by the processor, and

b. said first set of digital data blocks is aligned with said second set of digital data blocks according to said digital SNP sequence template, such that bit values at the SNP loci in the one digital data block of said first set of digital data blocks and the one digital data block of said second set of digital data blocks are directly compared during said single computational operation.

9. The method of claim 1 , said digital file of a first DNA sequence information is obtained from a first DNA kit and said second DNA sequence information is from a second DNA kit, wherein said first DNA kit and second DNA kit have partially differing sets of SNP loci, and said first DNA sequence information and said second DNA sequence information are organized according to said SNP loci template to pre-align the data to allow the first DNA sequence information and said second DNA sequence information to be compared for matching segments.

10. The method of claim 7 , said first digital DNA sequence data set is obtained from a first DNA kit and said second digital DNA sequence data set is from a second DNA kit, wherein said first DNA kit and second DNA kit have partially differing sets of SNP loci, and said first digital DNA sequence data set and said second digital DNA sequence data set are organized according to said SNP sequence template to pre-align the data to allow the first DNA sequence information and said second DNA sequence information to be compared for matching segments.

11. The method of claim 8 , said first digital DNA sequence data set is obtained from a first DNA kit and said second digital DNA sequence data set is from a second DNA kit, wherein said first DNA kit and second DNA kit have partially differing sets of SNP loci, and said first digital DNA sequence data set and said second digital DNA sequence data set are organized according to said digital SNP sequence template to pre-align the data to allow the first DNA sequence information and said second DNA sequence information to be compared for matching segments.

Continuity (2)
Continuation 17112919 · Dec 4, 2020
Provisional Application 62943802 · Dec 4, 2019
References Cited (57)
US 7058515B1 · Selifonov · 2006 [cited by examiner]
US 7761238B2 · Moser · 2010 [cited by examiner]
US 8428886B2 · Wong et al. · 2013 [cited by applicant]
US 8463554B2 · Hon et al. · 2013 [cited by applicant]
US 8645343B2 · Wong et al. · 2014 [cited by applicant]
US 10036063B2 · West · 2018 [cited by examiner]
US 10347361B2 · Adams et al. · 2019 [cited by applicant]
US 20070127482A1 · Harris · 2007 [cited by examiner]
US 20100057374A1 · Wong et al. · 2010 [cited by applicant]
US 20100057807A1 · Wong et al. · 2010 [cited by applicant]
US 20110008775A1 · Gao · 2011 [cited by examiner]
US 20130338934A1 · Asadi · 2013 [cited by examiner]
US 20140115515A1 · Adams et al. · 2014 [cited by applicant]
US 20150278435A1 · Sanborn · 2015 [cited by examiner]
US 20160306922A1 · van Rooyen · 2016 [cited by examiner]
US 20170016063A1 · McGall · 2017 [cited by examiner]
US 20180240032A1 · van Rooyen · 2018 [cited by examiner]
US 20190249229A1 · Soon-Shiong · 2019 [cited by examiner]
US 20190311784A1 · Adams et al. · 2019 [cited by applicant]
US 20200042735A1 · Baluch · 2020 [cited by examiner]
FR 2547082A1 · 1984 [cited by examiner]
JP H08505483 · 1996 [cited by examiner]
WO 2010024894 · 2010 [cited by applicant]
WO 2014066635 · 2014 [cited by applicant]
Yihui, L. A sequential iterative refinement optimization method to multiple sequence alignment. (2004) National University of Singapore. 127 pages. (Year: 2004). [cited by examiner]
Zhang, J. Transforming and optimizing irregular applications for parallel architectures (2017) Virginia polytechnic institute and state university. 265 pages. (Year: 2017). [cited by examiner]
Yano, M. CLAST: CUDA implemented large scale alignment search tool. BMC bioinformatics (2014) 15:406, 13 pages. (Year: 2014). [cited by examiner]
Turakhia, Y. Darwin: a hardware acceleration framework for genomic sequence alignment. (2017) biorXiv. 15 pages. doi.org/10.1101/092171. (Year: 2017). [cited by examiner]
Shaji (2016) fast genotyping of known SNP through approximate k-mer matching. Bioinformatics 32:i538-i544. (Year: 2016). [cited by examiner]
Ranwez, V. MACSE: multiple alignment of coding sequences accounting for frameshifts and stop codons. (2011) vol. 6 Issue 9 e22594. 10 pages. (Year: 2011). [cited by examiner]
Pockrandt, C. EPR-dictionaries: a practical and fast data structure for constant time searches in unidirectional and bidirectional FM indices. In RECOMB 2017, LNBI 10229, Sahinalp (ed) pp. 190-206, Springer Internationa… [cited by examiner]
Liu, P. (2017) 3D-stacked many-core architecture for biological sequence analysis problems. Int J Parallel Prog. vol. 45: 1420-1460. (Year: 2017). [cited by examiner]
Lanjanian, H. (2019) Block alignment: new representation and comparison method to study genomes. vol. 111, p. 1590-1603. (Year: 2019). [cited by examiner]
Gupta, S. (2019) RAPID: a ReRAM processing in-Memory architecture for DNA sequence alignment. IEEE 6 pages. (Year: 2019). [cited by examiner]
Sandes, E.F.O. (2016) IEEE transactions on parallel and distributed systems. vol. 27 No 10. pp. 2838-2850. (Year: 2016). [cited by examiner]
Yin (2017) Computing platforms for Bio Biological Analytics: Perspectives and Challenges. Computational and Structural Biotechnology Journal 15:402-411 (Year: 2017). [cited by examiner]
Alser (2017) Gatekeeper: a new hardware architecture for accelerating pre-alignment in DNA short read mapping. Bioinformatics 33(21) 3355-3363. (Year: 2017). [cited by examiner]
Tran, T.T. et al. (2014) Bit-parallel approximate pattern matching on the Xeon Phi Coprocessor. IEEE 26th Int. Symposium on Computer Architecture and high performance computing. p. 81-89. (Year: 2014). [cited by examiner]
Konagurthu, A. S. et al. (2010) Design of an efficient out of core read alignment algorithm. WABI, LNBI 6293 p. 189-201. (Year: 2010). [cited by examiner]
Durbin, R. (2014) efficient haplotype matching and storage using the positional Burrows-Wheeler transform (PWBT). Bioinformatics 30:9 1266-1272. (Year: 2014). [cited by examiner]
Wu, T.D. et al. 2016 Chapter 15: GMAP and GSNAP for genomic sequence alignment: enhancements to speed accuracy and functionality. Mathe and Davis (eds) Statistical genomics: Methods and protocols, Methods in molecular b… [cited by examiner]
GATK website information about VCF file formats. Downloaded Dec. 13, 2022. (Year: 2022). [cited by examiner]
PLINK 1.9 website formats downloaded Dec. 13, 2022 cog-genomics.org. (Year: 2022). [cited by examiner]
UCSC website listing data file formats, downloaded Dec. 13, 2022, genome.ucsc.edu. (Year: 2022). [cited by examiner]
GWASTools Gogarten, Nov. 2022, Data Formats in GWASTools. (Year: 2022). [cited by examiner]
Complete genomics manual 2013, sequence services pipelines. (Year: 2013). [cited by examiner]
NIH NHGRI definition of centimorgan. downloaded Dec. 13, 2022 (Year: 2022). [cited by examiner]
Mula et al (2017) Faster population counts using AVX2 instructions. The British Computer Society, vol. 61, No. 1 advance access publication May 24, 2017, 10 pages. (Year: 2017). [cited by examiner]
Wikipedia definition of Boolean algebra, downloaded Jul. 21, 2023 (Year: 2023). [cited by examiner]
Zheng, X. (2017) SeqArray—a storage-efficient high-performance data format for WGS variant calls. Bioinformatics 33(15) 2251-2257 and supplemental material. (Year: 2017). [cited by examiner]
Zheng, X. (2015) A tutorial for the R/ Bioconductor package SNPRelate. Downloaded from Bioconductor (dot) com, Jul. 18, 2023. 27 pages. (Year: 2015). [cited by examiner]
Chang (2015) Second-generation PLINK: rising to the challenge of larger and richer datasets. Gigascience vol. 4:7, 16 pages and supplemental material. (Year: 2015). [cited by examiner]
Layer et al. (2016) Efficient genotype compression and analysis of large genetic variation data sets. Nature Methods, 11:1 p. 63-68, with integrated supplemental information, and additional supplemental figures. (Year: … [cited by examiner]
GENESIS package manual, Oct. 16, 2018, downloaded from Bioconductor Jul. 18, 2023. 51 pages. (Year: 2018). [cited by examiner]
SeqArray package manual, Jul. 15, 2023, downloaded from Bioconductor Jul. 18, 2023. 79 pages. (Year: 2023). [cited by examiner]
SNPRelate package manual, Jul. 17, 2023, downloaded from Bioconductor Jul. 18, 2023, 108 pages. (Year: 2023). [cited by examiner]
Daily, J. (2016) Parasail: SIMD C library for global, semi-global and local pairwise sequence alignments. BMC Bioinformatics 17:81, 11 pages. (Year: 2016). [cited by examiner]