Dr Drew Endy and his team at Stanford University in California produced the system, which is detailed in the journal PNAS (Proceedings of the National Academy of Sciences), after three years of work and 750 designs.
The technique uses adapted enzymes to flip specific short sequences of DNA back and forth at will on chromosomes in the bacterium E. coli. In practical terms, the team has devised the genetic equivalent of a binary digit - a 'bit' in computing terminology.
'Essentially, if the DNA section points in one direction, it's a zero. If it points the other way, it's a one', paper co-author Pakpoom Subsoontorn explained.
Furthermore, the data can be read out when the bacterium is placed under a light source as the sections glow green or red, depending on their orientation.
The enzymes that flip the DNA sequences - integrase and excisionase - were taken from a bacteriophage, a virus that infects bacteria. They enable DNA modification so that DNA from a virus can be incorporated into the host.
The difficulty for researchers was in controlling the dynamics of the two agents. 'Previous work had shown how to flip the genetic sequence - albeit irreversibly - in one direction through the expression of a single enzyme', said lead author Dr Jerome Bonnet, 'but we needed to reliably flip the sequence back and forth, over and over, in order to create a fully reusable binary data register'.
The researchers say that biological data storage has many potential applications, including tracking the cell divisions as stem cells become differentiated adult cells, assessing the development of an ageing cell, or even monitoring the development of cancer.
Nonetheless, Dr Endy stressed that the technology is, for now, in its early infancy and such possibilities are far off. 'It's a pretty sad criticism of the state of technology in synthetic biology where we're trying to program the expression of half a dozen genes and it takes 750 design attempts to get that working', he told Nature. 'It's like trying to write a six-line code on a computer that takes 750 debug attempts to work'.