Programs and functions in dna-based data storage
Abstract
Systems and methods are provided herein for encoding and storing information in nucleic acids. Encoded information is partitioned and stored in nucleic acids having native key-value pairs that allow for storage of metadata or other data objects. Computation on the encoded information is performed by chemical implementation of if-then-else operations. Numerical data is stored in nucleic acids by producing samples having nucleic acid sequences copy counts corresponding to the numerical data. Data objects of a dataset are encoded by partitioning of bytes into parts and encoding of parts along distinct libraries of nucleic acids. These libraries can be used as inputs for computation on the dataset.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 - 47 . (canceled)
48 . A method for storing numerical data in nucleic acids, the method comprising:
determining an expected copy count of an identifier nucleic acid sequence based on the numerical data and a proportionality constant; and generating a sample containing an actual number of identifier nucleic acid molecules each having the identifier nucleic acid sequence, wherein the actual number approximates the expected copy count.
49 . The method of claim 48 , wherein the numerical data is a number and the expected copy count is proportional to the number.
50 . The method of claim 49 , further comprising inputting the sample to an operation to produce an output sample.
51 . The method of claim 50 , wherein the operation comprises multiplying the number by a power of 2 by performing a polymerase chain reaction (PCR) with primers that bind to common regions on an edge of the identifier nucleic acid sequence to form the output sample containing a PCR product.
52 . The method of claim 51 , wherein the power of 2 corresponds to a number of PCR cycles.
53 . The method of claim 50 , wherein the operation comprises multiplying the number by a fraction by performing an aliquot that isolates a fractional volume of the sample to form the output sample.
54 . The method of claim 50 , wherein the operation comprises adding the number as a first number to a second number in a second input sample by a mixing operation that combines the sample and the second input sample to form the output sample.
55 . The method of claim 50 , further comprising inputting the output sample to a second operation.
56 . The method of claim 49 , wherein the number is a first element of a vector.
57 . The method of claim 56 , further comprising:
determining a second expected copy count of the identifier nucleic acid sequence based on a second element of the vector and the proportionality constant; and generating a second sample containing a second actual number of identifier nucleic acid molecules each having the identifier nucleic acid sequence, wherein the second actual number approximates the second expected copy count.
58 . The method of claim 57 , further comprising performing a linear function on the vector by at least one of PCR, aliquoting, and mixing.
59 . The method of claim 58 , further comprising converting a binary vector to a unary value in an output sample by performing the linear function.
60 . The method of claim 58 , wherein the linear function is a scoring function.
61 . The method of claim 60 , wherein the scoring function computes a higher output value for target vectors than for non-target vectors, such that copy counts for identifier sequences corresponding to target vectors are enriched in the output sample.
62 . The method of claim 61 , wherein identifier sequences corresponding to target vectors are determined by sequencing the output sample.
63 . The method of claim 61 , wherein a ratio of copy counts between two identifier sequences in the output sample is increased by using a double-stranded DNA selection operation to form a new output sample where identifier sequences corresponding to target vectors are even more enriched in the output sample.
64 . The method of claim 63 , wherein the operation, or a repeated application thereof, corresponds to an activation function in a neural network.
65 . The method of claim 63 , wherein the operation corresponds to a quadratic function.
66 . The method of claim 63 , further comprising letting the output sample go to equilibrium prior to the double stranded DNA selection operation.
67 . The method of claim 66 , further comprising changing the temperature or adding cofactors to the output sample prior to double stranded DNA selection operation.
68 . The method of claim 63 , wherein the double stranded DNA selection operation is at least one of chromatography, gel electrophoresis, mass spectrometry, flow cytometry, fluorescent-activated sorting, membrane capture, silica column capture, silica bead capture, or affinity capture.
69 . The method of claim 58 , wherein the vector is a compressed representation of a larger data object, the compressed representation being a hash, a bloom filter, a signature, a structural array, or a fingerprint of the larger data object.
70 . The method of claim 69 , wherein the larger data object is retrieved using the corresponding identifier nucleic acid sequence as a key.
71 . The method of claim 48 , wherein at least a portion of each identifier nucleic acid molecule is configured to bind to one or more probes.
72 - 92 . (canceled)Join the waitlist — get patent alerts
Track US2023036568A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.