電通総研 テックブログ

電通総研が運営する技術ブログ

論文紹介:DNAストレージ

はじめまして、Xイノベーション本部 オープンイノベーションラボの飯田です。

ISIDでは、有志で論文輪読会を実施しています。

tech.isid.co.jp

今回、その中で、私が読んだDNAストレージについてご紹介します。
DNAストレージという技術は、DNAを情報記録媒体として用いる技術です。
DNAの塩基配列をうまく活用することで、デジタルデータの読み書きが可能となります。
マイクロソフト等が積極的に研究を行っているようです ( Microsoft Research:DNA Storage )

輪読会では、以下2本の論文を紹介しました。
その内容を簡単にご紹介します。

  1. Bornholt, J. et al. (2016) A DNA-based Archival Storage System
  2. DNAストレージが初登場したと言われるClelland C. T. et al. (1999) Hiding messages in DNA microdots

前提知識

  • DNA
    • ヒトの細胞では、核の中の染色体にあり、A(アデニン)・T(チミン)・G(グアニン)・C(シトシン)の4種で構成されている。
    • DNA中ではAとT、GとCが結合していて、その結合の対を塩基対と言います。
  • DNA合成技術
    • 狙った塩基配列でDNAを生み出す方法。DNAストレージではWriteに相当する手技。
  • シークエンシング
    • DNAの構成成分であるATGC 4種の塩基配列を決定すること。
    • 古典的なサンガー法から、NGSまでいくつかの手法がある。DNAストレージではReadに相当する手技。

なぜDNAストレージ?

ビックデータ時代のストレージの課題とDNAストレージ

現在のビックデータ時代、現状の記憶メディアでは保存密度や寿命が課題になると言われています。

  • 磁気メディア:185 TB のテープ・カートリッジ(密度:10 GB/mm3 程度)
  • 光学メディア:1PBを格納できる光ディスクの実現可能性(密度:約100GB/mm3
  • 回転ディスクの寿命:3~5年
  • テープの寿命:10~30年

その課題を解決する方法として、DNAストレージが注目されています。

  • バイオテクノロジーの標準的な手法で実現可能
  • 非常に高密度:理論的な限界値 1EB/mm3(テープの8倍)
  • 長寿命:500年以上の半減期
  • DNAベースの生命が存在する限り、DNAを読み取り、操作可能

DNAストレージによって、より高密度・長期保存が可能になると期待されています。
生物として生きていれば、生命が続く限りデータは保存される?ということになると思います。

DNAストレージの簡単な原理

ものすごく単純化すると、デジタルデータを0/1のビットで情報表現するものが、DNAストレージではそれをATGCの4種で表現するイメージになります。
大きな流れとしては、以下のとおりです。

  1. デジタルデータをDNAのヌクレオチド配列にマッピングし、対応するDNA分子を合成し、保存する
  2. データの読み取りは、DNA分子の塩基配列を解読して、元のデジタルデータに戻す

DNAストレージは読み取りにPCRやシークエンシングが必要となるため、超アーカイブ向けのストレージ(数時間から数日のアクセス時間、高密度で耐久性)の特性があります。

具体例でみてみましょう。

最初のDNAストレージ

暗号表と塩基配列マッピングして、「J U N E 6 I N V A S I O N : N O R M A N D Y」23文字をDNA上に保存し、読み取りにも成功したという報告です。
こちらの暗号表をもとに、英数字と塩基配列を対応させて、DNAに保存読み取りを実現しました。

DNAストレージの課題 (冗長性・エラー耐性 と ランダムアクセス)

冗長性・エラー耐性

DNAストレージでは、下記のようにDNAとしての物質に由来するエラーと劣化があります。
実用化をするためには、それに対応するための冗長性・エラー耐性の仕組みが必須となります。

  • DNAの合成と読み取りの不完全さ:DNA合成・シークエンシングではエラーが入ってしまう
  • 塩基配列は保存中に劣化する可能性 (データの完全性の欠損)

ランダムアクセス

DNAシークエンシングは、DNA全体に対して行う必要があるため、DNAストレージから1バイトでも読みだすには、DNA全体を解読(シークエンシング)する必要があります。
キーバリュー方式の格納法とPCRを組み合せ、必要なデータのみを増幅することで、ランダムアクセスを実現する方法が提案されています。

Bornholt, J. et al. (2016) のアーキテクチャ

最初の報告では、単純なものでしたが、ランダムアクセス等に対応したアーキテクチャがこちらです。

書き込み処理 の流れ

  • キーと値を入力
    • いわゆるKey-Value ストアのように保存するイメージになります
      • キーはPCRプライマー配列、格納される場所
      • 値はデータの値
  • DNA配列の生成
    • データアドレス、ペイロード、エラー検出コード等も符号化し、PCRプライマーのターゲット配列を添付して、合成
    • できあがったDNAは、保存用ライブラリに格納

読み出し処理 の流れ

  • 読み取りたいキーを入力し、物理的に抽出
    • キーのPCRプライマーを取得
    • 保存されているデータを含むDNAプールからサンプルを物理的に抽出 (その中には無関係なデータも含まれている)
  • PCRによりDNAを増幅し、シークエンシング
    • キーに指定されたPCRプライマーにより、目的のDNAだけが増幅される
    • シークエンシングにより、デジタルデータの読み出し

必要であれば、DNAストレージの増幅

  • 読み出し処理後、サンプルが減ってしまうため、必要に応じてPCRで複製を行う

実例:実際に保存されたデータ例

  • Bornholt (2016) では、 5kBから84kBまでの4つの画像ファイルを保存し、ランダムアクセスができることを確認しています
  • 3つのファイルはエラーなしで復元できました。cat.jpgのみ、JPEGヘッダーに1バイトのエラーが発生しましたが、修正して参照できました。

最後に、バイオロジー×IT技術の可能性!

論文の最後に下記の言葉がありました。

Given the impending limits of silicon technology, we believe that hybrid silicon and biochemical systems are worth serious consideration: time is ripe for computer architects to consider incorporating biomolecules as an integral part of computer design. now is the time for the computer industry to borrow back from the biotechnology industry to advance the state of the art in computer systems.

ムーアの法則に限界がきていると言われるように、個人的には、既存のIT技術の延長では限界があると思っています。
バイオ技術など、他の業界の技術を大胆に取り入れてブレイクスルーを目指すのは夢があります。
量子コンピュータ量子力学をベースとしているように、バイオコンピュータの登場も夢ではないと思います。

執筆:@iida.michitaka、レビュー:@sato.taichiShodoで執筆されました