BabblED have created a modular and accessible system to store data in DNA. We have demonstrated that data can be encoded into DNA, the DNA can be assembled using a modular system without the high expense of de novo synthesis, then read back with high fidelity and built-in error correction. Our multi-step proof of concept:
We have written software in python which allows input data to be converted to DNA in the format of BabbleBlocks. The data library (for example an input list of words) is matched to a corresponding list of coding DNA sequences. The desired data to be encoded is then uploaded, or typed. The software gives an output of which BabbleBricks are required, and which order they are to be assembled. For automated labs a protocol script can be provided.
BabbleBricks (make this a link to the page explaining design of BabbleBricks?) are designed to be housed in phytobrick compatible plasmids for storage. The BabbleBrick can be excised from the phytobrick when needed for assembly use
Our BabbleBricks were created using complimentary primers. These were designed to leave overhangs which allowed insertion into a plasmid to comply with BioBrick standard.
To maintain a stock levels of the BabbleBricks replication of the plasmid was done by transforming into competent TOP10 e.coli cells. From these, the plasmid was then extracted, purified and mini prepped. This miniprep is stored and used for assembly. BBa_K1967000 is an example of a BabbleBrick.
Assembly of BabbleBricks
Creating BabbleBlocks from BabbleBricks is a demonstration of our new DNA assembly standard for encoding data. It is a BioBrick device as it consists of several BioBrick components.
The assembly method is the sequential addition of BabbleBricks onto a growing chain anchored by a magnetic bead. Alternating AB and BA overhangs ensures only one BabbleBrick is added on per ligation step. The anchor has a polyT tail, which base pairs with the anchor’s polyA tail. This anchor has an A overhang which allows addition of the first AB Coding BabbleBrick. Sequential addition of BabbleBricks occurs until a terminator is added. Between each addition a washing step occurs. The bead is held in place with a magnetic rack.
Once construct is compete, the DNA is meted off the magnetic bead. This can be stored as is, or digested and ligated into a phytobrick compatible plasmid:
A polyagarose gel was used to ensure the correct product has been made. Here, we can see BabbleBlocks of varying lengths corresponding to the number of BabbleBricks added together.
This can be done because BabbleBricks are defined regular lengths, so we observe regular step-wise differences.
To read the stored data the DNA is sequenced. In Edinburgh we have been using Sanger sequencing because our DNA constructs have repetitive sequences. These would be difficult to assemble using short read lengths of many next generation methods. Ideally however, we would want to use nanopore technology. The MiniION has long read lengths, and can be plugged into a USB port to be used with our software with the highest convenience for the end user.
The sequence is then read by the decoding software (link again). This identified and reads the data coding regions to return the stored information.
This software can check and correct errors that may have occurred by sequencing or mutations. To demonstrate its ability, tests in silico using sequences containing a variety of possible errors were done to assess the correction rate.
In collaboration with Exeter iGEM we have explored the correcting ability of our system. We observe the potential of our error correcting mechanism facing worst case scenario sequence errors. However, as the magnitude of error increases the likelihood of it occurring decreases.