Dna-based vector data structure with parallel operations
OwnerSwapnil P. BHATIA, Luis E. RAMIREZ-TAPIA +2inventors
InventorsSwapnil P. BHATIA, Luis E. RAMIREZ-TAPIA, Miriam S. RAMLIDEN, Vibha RAO
Life of this patent
Estimating the term…
Abstract
Described in this specification are technologies including a vector data structure for representing data objects with identifiers, with applications in searching for data objects that are similar or identical to a given query data object and in vector arithmetic. The technologies include a DNA data structure and a computing architecture that provides operations on individual bits of each data object in parallel. The described architecture utilizes chemical methods that select, hybridize, concatenate, or amplify DNA, and uses them to implement computational instructions that provide parallel search and arithmetic.
Claims116
A method for coding digital information into nucleic acid sequence(s), comprising:
- (a) coding said digital information into a sequence of symbols and converting said sequence of symbols into codewords;
- (b) parsing said codewords into a coded sequence of symbols;
- (c) mapping said coded sequence of symbols to a plurality of identifiers, wherein an individual identifier of said plurality of identifiers comprises one or more nucleic acid sequences;
- and
- (d) enumerating an identifier library wherein each symbol of said coded sequence of symbols is encoded by one or more identifier(s), wherein an individual identifier of said plurality of identifiers comprises a plurality of components from one or more layers, each layer of said one or more layers comprising a distinct set of components, each identifier of the identifier library comprising:
- one or more data layers encoding a symbol, and
- one or more key layers encoding a key.
An integrated nucleic acid-based storage system comprising:
- a data encoding unit configured to write digital information in one or more nucleic acid sequences, wherein said data encoding unit writes said digital information in said one or more nucleic acid sequences in the absence of base-by-base nucleic acid synthesis;
- a storage unit configured to store said one or more nucleic acid sequences encoding said digital information;
- a reading unit configured to access and read said digital information encoded in said one or more nucleic acid sequences;
- and
- one or more computer processors operatively coupled to said data encoding unit, said storage unit, and said reading unit, wherein said one or more computer processors are individually or collectively programmed to
- (i) direct said data encoding unit to encode said digital information into said one or more nucleic acid sequences,
- (ii) direct said storage unit to store said digital information encoded into said one or more nucleic acid sequences, and
- (iii) direct said reading unit to access and decode said digital information stored in said one or more nucleic acid sequences;
- where encoding comprises:
- (a) coding said digital information into a sequence of symbols and converting said sequence of symbols into codewords;
- (b) parsing said codewords into a coded sequence of symbols;
- (c) mapping said coded sequence of symbols to a plurality of identifiers, wherein an individual identifier of said plurality of identifiers comprises one or more nucleic acid sequences;
- and
- (d) enumerating an identifier library wherein each symbol of said coded sequence of symbols is encoded by one or more identifier(s), wherein an individual identifier of said plurality of identifiers comprises a plurality of components from one or more layers, each layer of said one or more layers comprising a distinct set of components, each identifier of the identifier library comprising:
- one or more data layers encoding a symbol, and
- one or more key layers encoding a key.
Dependencies are inferred from the claim text.