# US 10,370,246 B1 · Portable and low-error DNA-based data storage

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,370,246 B1
- Document ID: US10370246B1
- Status: Granted
- Kind: B1
- Application number: 15/789,519
- Filed: 2017-10-20
- Granted: 2019-08-06
- Earliest claimed: 2016-10-20
- Assignees: The Board of Trustees of the University of Illinois
- Applicants: The Board of Trustees of the University of Illinois
- Inventors: Olgica Milenkovic; Ryan Gabrys; S. M. Hossein Tabatabaei Yazdi
- Web page: https://patentgrep.com/patent/US10370246B1

## CPC

- G11C 13/025: {using fullerenes, e.g. C60, or nanotubes, e.g. carbon or silicon nanotubes}
- B82Y 10/00: Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic
- C12Q 1/68: involving nucleic acids
- C12Q 1/6806: Preparing nucleic acids for analysis, e.g. for polymerase chain reaction [PCR] assay (C12Q1/6804 takes precedence)
- C12Q 1/6869: Methods for sequencing
- G06N 3/12: using genetic models
- G06N 3/123: DNA computing
- G11C 13/0019: {comprising bio-molecules}
- G11C 13/004: {Reading or sensing circuits or methods}
- G16B 30/10: Sequence alignment; Homology search
- G16B 50/00: ICT programming tools or database systems specially adapted for bioinformatics
- G16B 50/50: Compression of genetic data
- B82Y 5/00: Nanobiotechnology or nanomedicine, e.g. protein engineering or drug delivery
- G11C: STATIC STORES (semiconductor memory devices H10B)
- B82Y: SPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
- C12Q: MEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS (immunoassay G01N33/53); COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G16B: BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY

## Abstract

The present disclosure provides DNA-based storage system demonstrated through experimental and theoretical verification that such a platform can easily be implemented in practice using portable, nanopore-based sequencers. The gist of the approach is to design an integrated pipeline that encodes data to avoid synthesis and sequencing errors, enables random access through addressing, and leverages efficient portable nanopore sequencing via new anchored iterative alignment and insertion/deletion error-correcting codes. The embodiments herein represent the only known random access DNA-based data storage system that uses error-prone portable, nanopore-based sequencers and produces low-error readouts with the highest reported information rate and density.

## Claims

### Claim 1

A method for enabling portable readout of synthetic nucleotide sequences, the method comprising:
reading, from a nanopore-based storage device, a plurality of nucleotide sequence blocks, wherein each of the nucleotide sequence blocks as stored in the nanopore-based storage device contains respective address sequences followed by data sequences, wherein each of the data sequences as stored is identical to that of a target nucleotide data sequence, wherein each of the data sequences contains a series of fixed-length substrings and each of the fixed-length substrings is 50% guanine and cytosine and 50% adenine and thymine, and wherein the reading introduces deletion, insertion, or substitution errors into the nucleotide sequence blocks;
selecting, by a computing device, a first group of the nucleotide sequence blocks read from the nanopore-based storage device, each having address sequences without any deletion, insertion, or substitution errors;
aligning, by the computing device, the data sequences from the first group of nucleotide sequence blocks with one another; and
performing, by the computing device, a first consensus procedure over respective aligned nucleotides of the data sequences from the first group of nucleotide sequence blocks, wherein the first consensus procedure produces a first output nucleotide data sequence.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first output nucleotide data sequence matches the target nucleotide data sequence.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
determining that at least one fixed-length substring of the first output nucleotide data sequence is not 50% guanine and cytosine and 50% adenine and thymine;
in response to determining that at least one fixed-length substring of the first output nucleotide data sequence is not 50% guanine and cytosine and 50% adenine and thymine, selecting a second group of the nucleotide sequence blocks read from the nanopore-based storage device, each having address sequences with exactly one deletion, insertion, or substitution error;
aligning the data sequences from the first group of nucleotide sequence blocks and the data sequences from the second group of nucleotide sequence blocks with one another; and
performing a second consensus procedure over respective aligned nucleotides of the data sequences from the first group of nucleotide sequence blocks and the data sequences from the second group of nucleotide sequence blocks, wherein the second consensus procedure produces a second output nucleotide data sequence.

### Claim 4 (depends on 3)

The method of claim 3, wherein the second output nucleotide data sequence matches the target nucleotide data sequence.

### Claim 5 (depends on 1)

The method of claim 1, wherein each of the fixed-length substrings consists of 8 nucleotides.

### Claim 6 (depends on 1)

The method of claim 1, wherein each of the fixed-length substrings contains run length values for runs of one or more consecutive nucleotides therein.

### Claim 7 (depends on 6)

The method of claim 6, wherein the consensus procedure determines deletion, insertion, or substitution errors in the fixed-length substrings of the data sequences based on inconsistences between a number of consecutive nucleotides and an associated run length value.

### Claim 8 (depends on 1)

The method of claim 1, wherein the consensus procedure determines the first output nucleotide data sequence from the data sequences based on a per-nucleotide majority-rule protocol that operates such that the fixed-length substrings of the first output nucleotide data sequence have 50% guanine and cytosine and 50% adenine and thymine.

### Claim 9 (depends on 1)

The method of claim 1, wherein each of the address sequences is 8-32 nucleotides in length, and wherein each of the data sequences is 512-2048 nucleotides in length.

### Claim 10 (depends on 1)

The method of claim 1, wherein each of the address sequences is p nucleotides in length, and wherein a particular address sequence of the address sequences does not appear as a non-address substring in any of the nucleotide sequence blocks.

### Claim 11 (depends on 1)

The method of claim 1, wherein each of the address sequences is p nucleotides in length, and wherein each of the address sequences is a Hamming distance of at least p/2 from one another.

### Claim 12 (depends on 1)

The method of claim 1, wherein each of the address sequences is 50% guanine and cytosine and 50% adenine and thymine.

### Claim 13

A system comprising:
a nanopore-based storage device storing a plurality of nucleotide sequence blocks, wherein each of the nucleotide sequence blocks contains respective address sequences followed by data sequences, wherein each of the data sequences as stored is identical to that of a target nucleotide data sequence, wherein each of the data sequences contains a series of fixed-length substrings and each of the fixed-length substrings is 50% guanine and cytosine and 50% adenine and thymine, and wherein reading from the nanopore-based storage device introduces deletion, insertion, or substitution errors into the nucleotide sequence blocks; and
a computing device including a memory storing program instructions that, upon execution by a processor, cause the computing device to perform operations comprising:
obtaining the plurality of nucleotide sequence blocks read from the nanopore-based storage device;
selecting a first group of the nucleotide sequence blocks, each having address sequences without any deletion, insertion, or substitution errors;
aligning the data sequences from the first group of nucleotide sequence blocks with one another; and
performing a first consensus procedure over respective aligned nucleotides of the data sequences from the first group of nucleotide sequence blocks, wherein the first consensus procedure produces a first output nucleotide data sequence.

### Claim 14 (depends on 13)

The system of claim 13, wherein the first output nucleotide data sequence matches the target nucleotide data sequence.

### Claim 15 (depends on 13)

The system of claim 13, the operations further comprising:
determining that at least one fixed-length substring of the first output nucleotide data sequence is not 50% guanine and cytosine and 50% adenine and thymine;
in response to determining that at least one fixed-length substring of the first output nucleotide data sequence is not 50% guanine and cytosine and 50% adenine and thymine, selecting a second group of the nucleotide sequence blocks, each having address sequences with exactly one deletion, insertion, or substitution error;
aligning the data sequences from the first group of nucleotide sequence blocks and the data sequences from the second group of nucleotide sequence blocks with one another; and
performing a second consensus procedure over respective aligned nucleotides of the data sequences from the first group of nucleotide sequence blocks and the data sequences from the second group of nucleotide sequence blocks, wherein the second consensus procedure produces a second output nucleotide data sequence.

### Claim 16 (depends on 15)

The system of claim 15, wherein the second output nucleotide data sequence matches the target nucleotide data sequence.

### Claim 17 (depends on 13)

The system of claim 13, wherein each of the fixed-length substrings contains run length values for runs of one or more consecutive nucleotides therein.

### Claim 18 (depends on 17)

The system of claim 17, wherein the consensus procedure determines deletion, insertion, or substitution errors in the fixed-length substrings of the data sequences based on inconsistences between a number of consecutive nucleotides and an associated run length value.

### Claim 19 (depends on 13)

The system of claim 13, wherein the consensus procedure determines deletion, insertion, or substitution errors in the data sequences based on a per-nucleotide majority-rule protocol that operates such that the fixed-length substrings of the first output nucleotide data sequence have 50% guanine and cytosine and 50% adenine and thymine.

### Claim 20

An article of manufacture including a non-transitory computer-readable medium, having stored thereon program instructions that, upon execution by a computing device, cause the computing device to perform operations comprising:
obtaining, from a nanopore-based storage device, a plurality of nucleotide sequence blocks, wherein each of the nucleotide sequence blocks as stored in the nanopore-based storage device contains respective address sequences followed by data sequences, wherein each of the data sequences as stored is identical to that of a target nucleotide data sequence, wherein each of the data sequences contains a series of fixed-length substrings and each of the fixed-length substrings is 50% guanine and cytosine and 50% adenine and thymine, and wherein reading from the nanopore-based storage device introduces deletion, insertion, or substitution errors into the nucleotide sequence blocks;
selecting a first group of the nucleotide sequence blocks, each having address sequences without any deletion, insertion, or substitution errors;
aligning the data sequences from the first group of nucleotide sequence blocks with one another; and
performing a consensus procedure over respective aligned nucleotides of the data sequences from the first group of nucleotide sequence blocks, wherein the consensus procedure produces a first output nucleotide data sequence.
