Encoding and storing text using dna sequences
Abstract
Text can be encoded into DNA sequences. Each word from a document or other text sample can be encoded in a DNA sequence or DNA sequences and the DNA sequences can be stored for later retrieval. The DNA sequences can be stored digitally, or actual DNA molecules containing the sequences can be synthesized and stored. In one example, the encoding technique makes use of a polynomial function to transform words based on the Latin alphabet into k-mer DNA sequences of length k. Because the whole bits required for the DNA sequences are smaller than the actual strings of words, storing documents using DNA sequences may compress the documents relative to storing the same documents using other techniques. In at least one example, the mapping between words and DNA sequences is one-to-one and the collision ratio for the encoding is low.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system comprising:
a processor; and a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising: receiving a first word to be converted into a first DNA sequence; determining a first value of a first polynomial function based on the first word, wherein the determining the first value of the first polynomial function comprises converting each letter of the first word to a first letter number and calculating a first sum of a first position-th power of each first letter number for each letter of the first word multiplied by the first letter number; obtaining a first remainder of a first modulus of the first value of the first polynomial function; converting the first remainder of the first modulus of the first polynomial function into the first DNA sequence; synthesizing a first DNA molecule of the first DNA sequence; receiving a second word to be converted into a second DNA sequence; determining a second value of a second polynomial function based on the second word, wherein the determining the second value of the second polynomial function comprises converting each letter of the second word to a second letter number and calculating a second sum of a second position-th power of each second letter number for each letter of the second word multiplied by the second letter number; obtaining a second remainder of a second modulus of the second value of the second polynomial function; converting the second remainder of the second modulus of the second polynomial function into the second DNA sequence; and synthesizing a second DNA molecule of the second DNA sequence.
2 . The system of claim 1 , the operations further comprising: storing the second DNA molecule.
3 . The system of claim 1 , wherein the second DNA sequence comprises a nucleotide sequence of a length corresponding to a power of two used to determine the second modulus.
4 . The system of claim 3 , wherein the nucleotide sequence further comprises a mapping of two-digit groups from a binary value of the second remainder.
5 . The system of claim 1 , wherein the determining the second value of the second polynomial function based on the second word further comprises converting each letter of the second word to uppercase.
6 . The system of claim 1 , wherein the converting the second remainder of the second modulus into the second DNA sequence comprises:
separating a binary value of the second remainder into a plurality of two-digit groups; and mapping the plurality of two-digit groups into a nucleotide sequence.
7 . The system of claim 3 , wherein the converting the second remainder of the second modulus into the second DNA sequence comprises:
separating a binary value of the second remainder into a plurality of two-digit groups; and mapping the plurality of two-digit groups into the nucleotide sequence.
8 . A method comprising:
receiving, by a system including a processor, a word to be converted into a DNA sequence; determining, by the system, a value of a polynomial function based on the word, wherein the determining the value of the polynomial function comprises converting each letter of the word to a letter number and calculating a sum of a position-th power of each letter number for each letter multiplied by the letter number; obtaining, by the system, a remainder of a modulus of the value of the polynomial function; converting, by the system, the remainder of the modulus into the DNA sequence; and synthesizing, by the system, a DNA molecule from the DNA sequence.
9 . The method of claim 8 , wherein the converting the remainder of the modulus into the DNA sequence comprises:
separating a binary value of the remainder into a plurality of two-digit groups; and mapping the plurality of two-digit groups into the DNA sequence.
10 . The method of claim 8 , further comprising:
receiving, by the system, a second word to be converted into a second DNA sequence; determining, by the system, a second value of a second polynomial function based on the second word, wherein the determining the second value of the polynomial function comprises converting each letter of the second word to a second letter number and calculating a second sum of a second position-th power of each second letter number for each letter multiplied by the second letter number; obtaining, by the system, a second remainder of a second modulus of the value of the second polynomial function; converting, by the system, the second remainder of the second modulus into the second DNA sequence; and synthesizing a second DNA molecule from the second DNA sequence.
11 . The method of claim 10 , wherein the second DNA sequence comprises a nucleotide sequence of a length corresponding to a power of two used to determine the second modulus.
12 . The method of claim 11 , wherein the nucleotide sequence further comprises a mapping of two-digit groups from a binary value of the second remainder.
13 . The method of claim 8 , wherein the determining the value of the polynomial function based on the word further comprises converting each letter of the word to uppercase.
14 . A non-transitory computer-readable medium including computer program code executable by a processor to cause the processor to perform operations, the operations comprising:
receiving a first word; converting the first word into a first DNA sequence; synthesizing a first DNA molecule from the first DNA sequence; receiving a second word to be converted into a second DNA sequence; determining a value of a polynomial function based on the second word, wherein the determining the value of the polynomial function comprises converting each letter of the second word to a letter number and calculating a sum of a position-th power of each letter number for each letter multiplied by the letter number; obtaining a remainder of a modulus of the value of the polynomial function; converting the remainder of the modulus into the second DNA sequence; and synthesizing a second DNA molecule from the second DNA sequence.
15 . The non-transitory computer-readable medium of claim 14 , wherein the converting the remainder of the modulus into the second DNA sequence comprises:
separating a binary value of the remainder into a plurality of two-digit groups; and mapping the plurality of two-digit groups into a nucleotide sequence.
16 . The non-transitory computer-readable medium of claim 14 , the operations further comprising: storing the second DNA molecule.
17 . The non-transitory computer-readable medium of claim 14 , wherein the second DNA sequence comprises a nucleotide sequence of a length corresponding to a power of two used to determine the modulus.
18 . The non-transitory computer-readable medium of claim 17 , wherein the nucleotide sequence further comprises a mapping of two-digit groups from a binary value of the remainder.
19 . The non-transitory computer-readable medium of claim 14 , wherein the determining the value of the polynomial function based on the second word further comprises converting each letter of the second word to uppercase.
20 . The non-transitory computer-readable medium of claim 14 , wherein the converting the remainder of the modulus into the second DNA sequence comprises:
separating a binary value of the remainder into a plurality of two-digit groups; and mapping the plurality of two-digit groups into a nucleotide sequence.Join the waitlist — get patent alerts
Track US2022358290A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.