Well, there are some limitations: From John Timmer at Ars Technica:
Nothing about DNA is 100 percent accurate or even as close to the accuracy we’ve come to expect from our electronic bit storage media. Simply synthesizing DNA of a desired sequence will sometimes result in an error, as will amplifying it or decoding it again. And some specific sequences are especially error prone, like long runs of a single base (like TTTTTTTTTT) or stretches that are a mix of Gs and Cs. So any encoding method has to be robust to these issues.
Fortunately, we’ve already developed encoding algorithms that stand up to data loss. The authors went with Fountain codes, which allow packet-based data to be transmitted over networks where some of the packets get lost. Fountain encoded data is minimally redundant, in that it doesn’t hold duplicates of all the original data. Still, it allows the original message to be reconstructed even if some fraction of the packets are lost. The more packets you send, the easier it becomes to reconstruct the original data.
So the authors devised a system in which data is fountain encoded, creating lots of small packets. These packets are then encoded as DNA sequences. An algorithm then scans the results and eliminates any DNA sequences that are going to cause problems, like ones with a long run of As. Since you can always make more packets, this is repeated until there’s enough DNA sequences to give you the sort of robustness you’d want.More.
It was all just an accident that took off, see…
See also: Discovery of 7 times higher complexity of protein folding!
Follow UD News at Twitter!