DNAデータ保存容量

1塩基2ビットは文字種だけの上限です。反復を制限し、プライマーと索引を確保して実効レートを確認します。

インタラクティブシミュレーションを読み込んでいます...

失われたビットにも役割がある 🖖

4文字のアルファベットが1ヌクレオチド2ビットを持つのは、全配列が使える場合だけです。プライマーは鎖を指定可能にし、索引は断片を並べ直し、冗長性は欠損や損傷を回復します。チャネル容量と実効レートの差は、DNAを読み出せるようにする費用です。

有名な制約の方が安い 🖖

同じ塩基が4つ以上連なるのを禁じても、塩基1つが運べる2ビットの0.9%しか失われません。チャンネル容量はなお1塩基あたり1.982ビット。一方でプライマーとインデックスは152塩基のうち53塩基、すなわち34.9%を占めます。誰もが最初に口にする制約はほぼ無償で、誰も言わないアドレス付けが鎖の3分の1を食っているのです。

長い鎖の方が高密度。短いままなのは化学のせい 🖖

プライマーとインデックスは1鎖あたりの固定手数料です。オリゴを152塩基から500塩基に伸ばせば、ペイロード比率は65%から89%へ、密度は1グラムあたり293から402エクサバイトへ上がる——化学は同じで、書庫だけが大きくなる。情報理論の側にこれ以上を禁じるものはありません。塩基を追加するごとに合成エラーが累積する——これが、実用的なオリゴが数百塩基にとどまる理由です。

全プロセスの詳細解説

  1. DNAにおける1エクサバイトの質量と、制約によって増大する質量 6 ステップ

    DNA 1グラムがファウンテン設定で何バイトを保持できるかを算出し、1エクサバイトの質量、およびその質量のうち情報ではなく制約に起因する量を求めよ。

    1. まず、純粋な化学的上限から考える。一本鎖DNAはヌクレオチド1モルあたり330 gであるため、1グラムには 6.022 × 10²³ ÷ 330 = 1.825 × 10²¹ 個のヌクレオチドが含まれる。

    2. 4つの文字は2ビットに相当するため、その1グラムは 3.650 × 10²¹ ビットを保持し、8で割ると 4.562 × 10²⁰ バイトとなる。これが1グラムあたり456エクサバイトとして引き合いに出される数値であり、すべての配列が利用可能であることを前提としている。

    3. だが、すべての配列が利用できるわけではない。同一の塩基が3つを超えて連続することを禁止すると、アルファベット容量は塩基あたり2ビットから1.982へと低下する。これは1%未満の損失であり、誰もが真っ先に挙げる制約が、実はコストの小さいものであることがわかる。

    4. コストがかさむのは代償の側である。プライマーが40塩基、インデックスが13塩基を占めるため、152塩基の鎖のうち53塩基はペイロードを一切保持しない。実効データを担うのは99塩基のみであり、これは65.1%に過ぎない。全体を掛け合わせると、実質的なレートは塩基あたり1.285ビットとなる。

    5. この比率を1グラムの値に適用する。4.562 × 10²⁰ の 1.285 ÷ 2 は 2.931 × 10²⁰ バイト(293エクサバイト)となり、これがパネルに表示される数値である。

    6. ここでアーカイブの質量を試算する。1エクサバイトは 10¹⁸ バイトであるため、10¹⁸ ÷ 2.931 × 10²⁰ = 3.41 mg が必要となる。制約のない2ビットの理論上限であれば、同じ1エクサバイトは 2.19 mg となる。

    解答

    DNAの1エクサバイトの質量は 3.41 mg であり、そのうち 1.22 mg(56%の増加分)はデータではなく制約に起因する。この結果は、この技術が普段どのように宣伝されているかと照らし合わせる価値がある。DNAストレージに関する数値はすべてアルファベット容量の限界値で引用されるが、その限界値は誰も実現できるものではない。ここでの損失の3分の2は、化学的理由で配列が使えないためではなく、プライマーとインデックスによるものである。そしてそれらが必要となるのは、チューブ内の分子鎖にアドレスが存在しないからだ。オリゴヌクレオチドのプール内で400バイト目にアクセスすることはできないため、すべての断片が自身の所属を示すラベルを備える必要があり、そのラベルはすべての鎖にかかる純粋なオーバーヘッドとなる。世間の注目を集めるホモポリマー制限のコストは1%未満にとどまる一方で、個々の分子を直接指定できないことによるコストは 34.9% に達するのである。

学習の道すじ

分子で計算する

この次に DNA計算のスケール 1分子あたりのビット数——化学的制約が取り分を持っていった後に残る一本鎖の容量。次のステップは同じ容量をデータではなく解の候補に使います。

参考文献 (1)

例題

  • DNA Fountain型 - DNA Fountain 並みの現実的なオーバーヘッド。チャンネルは1塩基あたり 1.982 ビット、鎖が届けるのは 1.285 ビット。
  • 文字種の上限 - プライマーもインデックスも冗長性も外せば 1塩基あたり 2.000 ビットに届く——ただし誰も読み戻せない鎖の上で。
  • 反復なし - 繰り返しを完全に禁じると容量は1塩基あたり 1.585 ビット、すなわち log₂3。どの塩基も直前と違わねばなりません。
  • 冗長アーカイブ - 20倍の冗長性をより長い鎖に載せても、着地点は既定と同じ 1塩基あたり 1.285 ビットです。