【実施例】
【0054】
実施例1
DNAを用いて記憶される書面情報
Basic Books(ニューヨーク州、ニューヨーク)から刊行予定の「Regenesis」(Church GM and Regis E)と呼ばれるHTML版の草案文書を、最新のフォーマッティング、画像、およびジャバスクリプトを示すものとして選択した。典型的なウエブページと同様、特殊文字およびフォントについてASCIIおよびUNICODEと下位互換性のある、可変幅エンコードであるUniversal Character Set Transformation Format、8ビット(UTF−8)を用いた。JPEGエンコード(通常、品質損失が小さい10:1データ圧縮)された白黒の11画像が含まれていた。これらは、Base64フォーマットのhtml中に「インライン」(つまり、別個のファイルではなく)埋め込みされていた。これらのJPEGセグメントのうちの任意のものの中央におけるコンセンサスビットエラーは、当該セグメント内で下流に位置するデータにのみ影響を及ぼす。テキスト中のビットエラーは、該エラーを含むオリゴヌクレオチド中の最大12文字に影響を及ぼす。ジャバスクリプトは、カーソル位置に追従して動的に湾曲可能な37バイトのテキスト文字列(遺伝子コードのニーモニックエンコード)の単純な表示である。本開示によれば、DNAは(その他のデジタルメディアと同様に)、デジタル機械用の実行可能な命令をエンコード可能である。
【0055】
実施例2
書面情報のDNAへのエンコード
文書を(埋め込みjpg画像を有する)htmlフォーマットへと変換した。文書をビット型で読み込み、次に個々のビットを、0についてはAまたはCに、1についてはTまたはGへと変換した。3個を超えて続くホモポリマーを許可せずに、塩基をランダムに選択した。ビットストリームのアドレスは19ビット長であり連続的に番号付与されており、0000000000000000001から始まる。スクリプトBits2DNA.pl(コード欄を参照)は、htmlファイルをDNAセグメントへとエンコードするために用いられるプログラムである。
【0056】
実施例3
合成および増幅
Agilent Oligo Library Synthesisマイクロアレイプラットフォーム上で、54,898個のオリゴヌクレオチドを合成した。AgilentでDNAを溶出し、100μL TE(10mM Tris−Cl pH7.5、0.1mM EDTA)中の約10ピコモルのオリゴヌクレオチドプールを得た。
【0057】
以下のようにライブラリーを増幅した。各200nMのMD−テスト−1FプライマーおよびMD−テスト−1Rプライマーを用いた50μLのPCR増幅反応中に1μL(約10フェムトモルの期待値)のライブラリーを用い、BioRad CFX96 Real−Time PCR機でSybr Fast Master Mix(Kapa Biosystems)を用いた6サイクルの増幅を行い、増幅の間、Sybr Geenチャンネルをモニタリングした。
95℃、3分
95℃、10秒
60℃、30秒
Sybr Geenチャンネルの読み込み
ステップ2へ戻り、計10サイクル
68℃、30秒
4℃で保持
【0058】
得られたPCR産物は、製造者の説明書に従い、Qiagen MinElute PCRクリーンアップカラムを用いて、10μLのBuffer EB(10mM Tris−Cl、pH8.5)中に精製した。NanoDrop2000c分光光度計で測定したところ、溶出DNAの濃度は、36.8ng/μL(A260/A280=1.85)であった。
【0059】
1μLの(水で)1:11希釈された増幅産物のチューブ2つを、同じ条件ではあるが、今回は200nMのPE−PCRプライマー1.0−FおよびPE−PCRプライマー2.0−Rを用いて9サイクル増幅した。製造者(Agencourt)の指示に従ってAmpureビーズを用いてPCR反応物を浄化して残存プライマーを除去し、50μLのTEに再懸濁した。NanoDropおよびアガロースゲルによるイメージングの両方で定量化した最終産物は、約22ng/μLであった。用いたプライマーは以下の通りであり、*はホスホロチオエート結合を示す。
【0060】
>MD−テスト−1F
ACACTCTTTCCCTACACGACGCTCTTCCGATC*T
>MD−テスト−1R
CTCGGCATTCCTGCTGAACCGCTCTTCCGATC*T
>PE−PCRプライマー1.0−F
AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCG ATC*T
>PE−PCRプライマー2.0−R
CAAGCAGAAGACGGCATACGAGATCGGTCTCGGCATTCCTGCTGAACCGCTCT TCCGATC*T
【0061】
実施例4
シークエンシングおよび処理
HiSeq2000の1レーンに14pMのライブラリー(14fmol、1:1000の増幅ライブラリー)を1mLロードすることにより、ペアエンドとなった100個のリードを用いて増幅ライブラリーをシークエンシングした。レーンから、Q30以上が87.14%であり平均Qスコアが34.16である346,151,426,000,000個のペアリードを得た。ペアとなった100bpのリードを有する115bpのコンストラクトの配列が決定されたので、SeqPrep(11 J. St. John, SeqPrep https://github.com/jstjohn/SeqPrep (2011)参照)を用い、以下のコマンドを用いて重複するリードを単一のコンティグへと組み合わせた。(HiSeqレーンの単一タイルに対して):SeqPrep -f MTMC2_NoIndex_L006_Rl_002.fastq.gz-rMTMC2_NoIndex_L006_R2_002.fastq.gz -1 tile2rl .fastq.gz -2 tile2r2.fastq.gz -s tile2merged, fastq.gz -E tile2-align.txt.gz -o 50 -m 0.1 -n 0.8。
【0062】
SeqPrepの後、292,371,030個のコンティグが形成された。コンティグをBowtie2 version 2.0.0−beta5(17 B. Langmead, S. L. Salzberg, Nature Methods 9, 357-360 (2012)参照)およびSamTools version 0.1.18(18 H. Li et al., Bioinformatics 25, 2078-2079 (2009)参照)を用いて、以下のコマンド:zcat *merged* | bowtie2 -p 10 -end-to-end -x ../../../agilentlib -U - | samtools view -bS - > alltiles- merged.bamによりリファレンスとアライメントした。
【0063】
アライメントにより、267,993,389個(92%)が、合成ライブラリーの1メンバーにアライメントされ、平均カバー度は4882±1261(標準偏差±1)であった。完全長115bpのコンティグとなるSeqPrep後のコンティグをフィルターし、190,284,472個のリードが得られ、平均カバー度は3419±998であった。ライブラリーの各メンバーの平均では、約69.5%±0.4のリードが完全長であった。最もリード数の少ないコンストラクトはオリゴmd−37545であり、これは、115bpのフィルタリング前に94個のリード、フィルタリング後に9個のリードを有しており、結果として得られるこのオリゴに対するコンセンサスは、依然として正しいものであった。
【0064】
図2は、設計ライブラリーの各メンバーについての観察数のヒストグラムである。SeqPrepからコンティグを作成した(すなわち、リード間が重なっている)全リードを、Bowtie2を用いて合成ライブラリーに対してアライメントし、ビン化、およびプロットを行った(赤)。115bp長のコンティグについてのみ、同じ情報を緑で示した。差し込み図は、分布テールの拡大図である。
【0065】
実施例5
エラー
コンセンサスライブラリーから、設計配列とリード配列との不一致が見いだされ、これらを以下の表1にまとめた。示す通り、22個の不一致があり、そのうちの10個がビットエラーとなった(太字)。大部分のエラー(20/22)は配列の最後の15塩基以内にあり、この部分はシークエンシング時のカバー度が1しかない。さらに、大部分のエラー(18/22)は、少なくとも3個の連続した繰り返しヌクレオチドを生み出した。4以上の繰り返しヌクレオチド(灰色のボックス)のホモポリマーリードを排除することにより不一致は12個となり、そのうち7個はビットエラーである。
【0066】
【表1】
【0067】
表1は、設計ライブラリーとリードライブラリーとの不一致を示す。各エラーを一行で示し、エラーが関連するバーコード、オリゴ中の(115のうちの)位置、エラーのタイプ、エラーがビット変化をもたらしたか否か、元のコンテキスト、および新しいコンテキスト(エラー部位はダッシュの中央)を示し、最後に、エラーが、フィルター除去できたであろう4塩基の並びを生じたか否かを示す。ビットエラーを生じた行を太字で示し、4連続の塩基の並びに基づいたフィルター除去が出来たであろう行を網掛けで示す。
【0068】
【表2】
【0069】
実施例6
データ密度の算出
理論上のDNA密度を、一本鎖DNAの1ヌクレオチドあたり2ビットを用いて計算した。使用したDNAの分子量は、ATGCのバランスがとれたライブラリーのナトリウム塩についての平均330.95g/mol/ヌクレオチドの無水重量を基にした。これにより2.75×10
−22gあたり1ビットの重量密度となり、3.96g中に1.8×10
21バイトが記憶可能である。当然、実際の最大値は、所望の冗長度、バーコーディング、およびエンコードのスキームの種類によって数桁低い密度であろう。
図1Bには、この理論的最大値の計算は用いなかった。
【0070】
図1Bにプロットされたデータは、全く異なる技術間の比較である。厚さが報告されていない平面密度の算出の場合、深さとして100μmを選択した(これは、ハードドライブ盤より約10倍小さく、現行のフラッシュメモリスタックより33%小さい)。現行の情報エンコード密度(159bpあたり96ビット)、および記憶装置内のDNAの合成カバー度を100倍と想定した。純水の密度である約1g/cm
3の体積を想定したが、これは恐らく乾燥DNAに対してやや低い見積もりである。
【0071】
表2
表2は、種々のメディアにおけるデータ密度を比較するために、
図1Bで用いられたデータを示す。大きく異なる情報エンコード技術を比較するために、種々の仮定をすることですべてのデータ密度情報を体積データ密度へと変換した。市販技術に対しては、入手可能な場合には、基材厚について入手可能な情報を用いた。フラッシュメモリの場合は、クラス最高のデータ密度を、異なる製造者が提供するチップ積層厚と組み合わせた。デモンストレーションされたデータ記憶技術に対しては、基材厚についての報告はなかった。したがって、100μmの厚さを仮定したが、これは積層型フラッシュ記憶技術の現行の厚さの1/3である。全てのデモンストレーションは真空中、4°Kにて行われているため、公開されたこれらの技術に対しては、上記は非現実的である可能性がある。乾燥DNAの密度は水の密度で近似したが、これは過小評価の可能性がある。クローン化DNAを用いたその他の生物学的デモンストレーションに対しては、個々の細胞の体積を体積として用いた。最後に、灰色の行は、その他のデータ点によって曖昧であるため
図1Bに示されていないが、完全性のために表に含まれる。
【0072】
実施例7
コード
Bits2DNA.pl
# cd "\Perl\gmc\Bin_DNA"
# \Perl\bin\perl Bits2DNA.pl GMC Jul-2011 & 27-May-2012
#
docstore.mik.ua/orelly/perl/cookbook/ch02_05.htm (bin) ch01_05.htm (char)
#
http://perldoc.perl.org/functions/pack.html rand.html
# Each oligo is L(19)+8N(12)= 115 bp, long flanked by 22-mer amplification primers.
# DNA Encoded Artifacts Registry (DEAR) to coordinate global standards.
open IN,"in.html"; open OUT,">Bits2DNA.txt"; binmode IN;
$t{"0"}="a"; $t{"1"}="G"; # lowercase a,c = zero bit.
$t{"a"}="c"; $t{"G"}="T"; $t{"c"}="a"; $t{"T"}="G";
$u1=""; $u2=""; $u3=""; # Initialize; keep homopolymer runs < 4
$N=12; # Length of segment in bytes (not including segment number)
$L=19; # 2^19 = 524,288 = max number of oligos L=00010011
$seed=2; srand($seed); # remove this line to get a random seed
print int2bp(262144)," ",int2bp(262145);
$f="CTACACGACGCTCTTCCGATCT"; # forward 'universal' sequencing & amplification primer
$r="AGATCGGAAGAGCGGTTCAGCA"; # reverse 22-mer primer
$n=0; print OUT $f,int2bp(0),""; ###
while (read (IN, $text, 65536)) {
@ascii_num = unpack("C*", $text);
foreach $val (@ascii_num) {
print OUT byt2bp($val); ###
$n++;
if($n%$N==0){
print OUT $r,"\n",$f,int2bp($n/$N),""; ###
} # N bases per output line
} # each byte
} # 65 Kbytes
for ($k=$n%$N; $k<$N; $k++){
print OUT byt2bp(int(rand(256))); ###
} # pad last data line to keep all oligos same size.
print OUT "$r\n"; ###
sub byt2bp { # convert rightmost 8 bits (MSB first byte) to 8 bp
my $b = unpack("B32", pack("N", shift));
$p="";
for ($i=24; $i<=31; $i++){
$x=substr($b,$i,1); # bits 24 to 31 inclusive
$u=$t{$x};
if(rand(2)<1){$u=$t{$u};} # pick synonym a=c; G=T
if(($u eq $u1) && ($u eq $u2) && ($u eq $u3)){$u=$t{$u};}
$u1=$u2; $u2=$u3; $u3=$u; # Shift previous base string
$p = $p.$u;
}
return $p;
}
sub int2bp { # convert rightmost $L bits of 32 bit integers to $L bp
my $b = unpack("B32", pack("N", shift));
$p="";
for ($i=31; $i>=32-$L; $i--){
$x=substr($b,$i,1); # bits 31 to $L
$u=$t{$x};
if(rand(2)<1){$u=$t{$u};} # pick synonym a=c; G=T
if(($u eq $u1) && ($u eq $u2) && ($u eq $u3)){$u=$t{$u};}
$u1=$u2; $u2=$u3; $u3=$u; # Shift previous base string
$p = $p.$u;
}
return $p;
}
buildConsensus.py
import sys
#builds consensus sequence from individual base counts
def getConsensus(finalbuckets):
sequence = ''
for i in range(len(finalbuckets)):
letterindex = finalbuckets[i].index(max(finalbuckets[i]))
if letterindex == 0:
sequence += 'A'
elif letterindex == 1:
sequence += 'C'
elif letterindex == 2:
sequence += 'G'
elif letterindex == 3:
sequence += 'T'
return sequence
oligolength = 115
currentbarcode = ''
#initialize vector to building consensus
buckets = [[0 for col in range(4)] for row in range(oligolength)]
for line in sys.stdin:
splitline = line.split()
count = int(splitline[0])
barcode = splitline[1]
sequence = splitline[2]
if not barcode == currentbarcode:
if not currentbarcode == '':
print getConsensus(buckets)
buckets = [[0 for col in range(4)] for row in range(oligolength)]
currentbarcode = barcode
for i in range(oligolength):
if sequence[i] == 'A':
buckets[i][0] += count
elif sequence[i] == 'C':
buckets[i][1] += count
elif sequence[i] == 'G':
buckets[i][2] += count
elif sequence[i] == 'T':
buckets[i][3] += count
#print final consensus
print getConsensus(buckets)
【0073】
実施例8
処理の概要
ある態様によれば、53,426語、11個のJPG画像、および1個のJavascriptプログラムを含むhtmlコードされた草案文書が、5.27メガビットに変換された(文献4参照。材料および方法についての情報は、Science Onlineで閲覧可能)。次にビットを、各々が96ビットのデータブロック(96ヌクレオチド)、ビットストリーム(19ヌクレオチド)中におけるデータブロックの位置を指定する19ビットのアドレス、および増幅およびシークエンシングのための22ヌクレオチドの隣接共通配列をコードする、54,898個の159ヌクレオチド長オリゴヌクレオチド上にエンコードした。このオリゴヌクレオチドライブラリーは、インクジェット印刷された高忠実度DNAマイクロチップにより合成した(文献10参照。E. M. LeProust et al.,Nucleic Acids Research 38, 2522-2540 (2010))。エンコードされた文書を読みこむため、限定サイクルPCR(limited-cycle PCR)によりライブラリーを増幅し、次にIllumina HiSeqの一つのレーンでシークエンシングした。シークエンシングエラーの効果を減らすため、重複するペアエンドの100ヌクレオチドリードを連結した(文献11参照。J. St. John, SeqPrep https://github.com/jstjohn/SeqPrep (2011))。次に、予想される115ヌクレオチド長および完全なバーコード配列を与えたリードのみを用いて、各データブロックの各塩基において、平均約3000倍のカバー度でコンセンサスを作成した。全てのデータブロックを(527万中)計10ビットのエラーで回復し、このエラーは、配列カバー度が1しかないオリゴ末端にあるホモポリマーの並びの中に主に位置していた(文献4参照。材料および方法についての情報は、Science Onlineで閲覧可能)。
【0074】
本明細書に開示の実施形態の密度は、100倍の合成カバー度で、約5.5ペタビット/mm
3であった。本明細書に開示の実施形態のスケールは、約5.27メガビットであった。本明細書に記載の方法ステップは、市販の材料および装置を用いて実行された。
図1Bは情報密度の比較であり、本開示(「本研究」)の実施形態が他の記憶メディアと比較してより高い情報密度をもたらすことを示している。ある態様によれば、実施形態には、密度、配布/配信(distribution)、およびエラー率を向上するための圧縮、冗長エンコード、パリティ検査、およびエラー修正が含まれる。ある態様によれば、DNAライブラリーは、直交増幅を可能にする特異的プライマー部位を用いて、物理的単離をしないで保存することも可能である(文献12参照。S. Kosuri et al., Nature Biotechnology 28, 1295-1299 (2010))。ある態様によれば、読み込み、書き込み、および記憶の能力を最大化するため、DNA以外のポリマーまたはDNA修飾体を用いることも可能である(文献13参照。S. A. Benner, Z. Yang, F. Chen, Comptes Rendus Chimie 14, 372-387 (2011))。ある態様によれば、携帯型の1分子シークエンサーを用いてDNAへとエンコードされた情報を読み取ってもよい(文献15参照。E. Pennissi, Science 336, 534-537 (2012))。ある態様によれば、アドレス化データブロックをライブラリー合成およびコンセンサスシークエンシングと組み合わせて用いる一般的アプローチは、市販のDNAシークエンシング技術およびDNA合成技術と適合している。ある態様によれば、情報記憶などの代替的な消費者レベルのDNAの使用により、合成技術およびシークエンシング技術を改善する新たな技術の開発が加速されるであろう(文献16参照。S. Kosuri, A. M. Sismour, ACS Synth Biol 1, 109- 110 (2012))。
【0075】
本明細書で特定される文献および以下の参考文献は、その全体が全ての目的のため、本明細書に参照により取り込まれ、本開示全体にわたって対応する番号により参照される。
【0076】
3. "Extracting Value from Chaos" (IDC, Framingham, MA 2011); world wide web site emc.com/collateral/analyst-reports/idc-extracting-value-from-chaos-ar.pdf.
4. J. Rothenberg, Scientific American 272, 42-47 (1995).
5. C. Bancroft, T. Bowler, B. Bloom, C. T. Clelland, Science 293, 1763-1765 (2001).
6. Information on materials and methods is available on Science Online
7. J. Bonnet et al., Nucleic Acids Research 38, 1531-1546 (2010).
8. S. Paabo et al., M. A. Uyterlinde et al., Eds. Annual Review of Genetics 38, 645-679 (2004).
9. J. Davis, Art Journal 55, 70-74 (1996).
10. C. Gustafsson, Nature 458, 703 (2009).
11. D. G. Gibson et al., Science 329, 52-56 (2010).
12. E. M. LeProust et al., Nucleic Acids Research 38, 2522-2540 (2010).
13. J. St. John, SeqPrep https://github.com/jstjohn/SeqPrep (2011)
14. S. Kosuri et al., Nature Biotechnology 28, 1295-1299 (2010).
15. S. A. Benner, Z. Yang, F. Chen, Comptes Rendus Chimie 14, 372-387 (2011).
16. P. A . Carr, G. M. Church, Nature Biotechnology 27, 1151-62 (2009).
17. E. Pennissi, Science 336, 534-537 (2012)
18. S. Kosuri, A. M. Sismour, ACS Synth Biol 1, 109-1 10 (2012)
19. B. Langmead, S. L. Salzberg, Nature Methods 9, 357-360 (2012).
20. H. Li et al., Bioinformatics 25, 2078-2079 (2009).
21. Ecma International, Data interchange on read-only 120mm optical data disks (CD-ROM), (ECMA Standard 130, Geneva, Switzerland 1996, world wide website ecma- international.org/publications/files/ECMA-ST/Ecma- 130.pdf.)
22. Ecma International, 120 mm DVD - Read-Only Disk, (ECMA Standard 267, Geneva, Switzerland 2001, world wide website ecma-international.org/publications/files/ECMA- ST/Ecma-267.pdf.)
23. Blu-Ray Disc Association, White Paper - Blu-Ray Disc Format (2nd Edition, Universal City, CA 2010, world wide website blu- raydisc.com/Assets/Downloadablefile/general_bluraydiscformat- 15263.pdf.)
24. Oracle, StorageTek T 10000 Family Tape Cartridge (Oracle, Redwood Shores, CA 2010, world wide website oracle.com/us/products/servers-storage/storage/tape- storage/033617.pdf.)
25. SanDisk, SanDisk Develops Smallest 128Gb NAND Flash Memory Chip (SanDisk, Milipitas, CA 2012, world wide website www.sandisk.com/about-sandisk/press- room/press-releases/2012/sandisk-develops-worlds-smallest- 128gb-nand- flash-memory- chip.)
26. Toshiba, NAND Flash Memory in Multi Chip Package (Toshiba, Tokyo, Japan, 2011, world wide website toshiba-components.com/memory/mcp.html.)
27. Seagate, Seagate Reaches 1 Terabit Per Square Inch Milestone In Hard Drive Storage With New Technology Demonstration (Seagate, Cupertino, CA 2012, world wide website seagate.com/about/newsroom/press-releases/terabit-milestone-storage-seagate- pr/?paramChannelName=newsroom.)
28. S. Loth et al., Science 335, 196- 199 (2010).
29. D. M. Eigler, E. K. Schweizer, Nature 344, 524-526 (1990).
30. C. R. Moon, L. S. Mattos, B. K. Foster, G. Zeltzer, H. C. Manoharan, Nature Nanotechnology 4, 167-172 (2009).
31. T. Grotjohann et al., Nature 478, 204-208 (2011).
32. H. E. Kubitschek, J Bacteriol 172, 94-101 (1990).
33. "Screening Framework Guidance for Providers of Synthetic Double- Stranded DNA" Federal Registrar 75, 62820-62832 (2010) FR Doc No: 2010-25728.
【0077】
均等物
そのほかの実施形態も当業者には明らかであろう。以上の説明は、明瞭性の目的のためにのみ与えられるものであり、単なる例示である。本発明の趣旨および範囲は上記の例に限定されず、請求の範囲により包含される。上記に記載された全ての刊行物、特許、および特許出願は、個々の刊行物または特許出願が参照により取り込まれることが具体的に記された場合と同程度に、全ての目的のため、本明細書中に参照により取り込まれる。