世界中で毎日どれだけのデータが生み出されるのかという推定値なんて知りたいと思っている人はおそらくいないだろう。そういった数値など分かろうはずもないのだ。しかし、今日の世界で生み出されているデータの増える勢いは、われわれの理解や単位系の限界を上回るだけでなく(2010年には年間で1.2ゼタバイトと推定されている)、格納可能な容量をも超えているのは間違いない。
あらゆるものがデジタルになり、あらゆるものがデータによって訓練されたアルゴリズムに基づくアプリケーションで実行されるようになってきている。その結果、さらに多くのデータが生成され、ダウンストリームアプリケーションとアルゴリズムにそれらデータが渡っていく。その意味するところは分かるはずだ。
早い話が、このペースで進むとデータのストレージやコンピュートのためのリソースがすぐに足りなくなる。最近になって、人々がデータを格納するための代替メディアを探し始めているのはこのためだ。データの格納にDNAを使うというのは、奇妙に感じられるかもしれないが、実際のところ筋が通っている。そして現在、リサーチャーらはブレークスルーを達成し、一般的なオープンソースデータベースである「PostgreSQL」でのDNAストレージの統合に成功している。
情報のコード化メカニズムとしてのDNA
要するに、DNAはデータストレージ階層になるというわけだ。DNAは、AGCTと呼ばれることもある、アデニン(A)とグアニン(G)、シトシン(C)、チミン(T)という4つの塩基と、デオキシリボースと呼ばれる糖、リン酸で構成されている。これら4つの塩基それぞれは、糖やリン酸と結合してヌクレオチドを形成する。DNAはこれらヌクレオチドが鎖状に連結したものであり、ヌクレオチドが3つ連続したものはコドンと呼ばれている。このコドンが、われわれの細胞内におけるタンパク質合成時の情報単位となる。
われわれの情報テクノロジーインフラは(2進数の0と1で構成された)ビットで表現される情報のストレージに基づいている一方、DNA情報は4種類の塩基の連なりとして格納される。このため、DNA上に遺伝情報以外の情報を格納するにはまず、ビット列からなるバイナリーデータの構造をDNAデータの4つの単位(AGCT)に変換する必要がある。
ビット列からDNAシーケンスへの変換
提供:Shaan Ray氏
理論上は極めて単純明快だ。シリコン製のメディアや磁気メディアを使って1と0の並びを状態として記録するように、DNAを使ってAやG、C、Tのシーケンスを記録できるはずだ。しかし、現実的にどのようにしてDNAにデータを書き込み、またDNAからデータを読み取ることができるのだろうか?