(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-13
(54)【発明の名称】複合断片を使用するDNAデータ・ストレージ
(51)【国際特許分類】
G16B 50/00 20190101AFI20241106BHJP
【FI】
G16B50/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024525608
(86)(22)【出願日】2022-11-16
(85)【翻訳文提出日】2024-04-30
(86)【国際出願番号】 EP2022082087
(87)【国際公開番号】W WO2023094234
(87)【国際公開日】2023-06-01
(32)【優先日】2021-11-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】益田 幸治
(72)【発明者】
【氏名】山根 敏志
(57)【要約】
情報をポリヌクレオチドに格納するためのコンピュータ実装方法であって、複数の種類のヌクレオチド断片を使用することであり、ヌクレオチド断片のそれぞれが、個々に異なる塩基配列を有する、使用することと、複数の複合断片を構成することであり、複合断片のそれぞれが、異なる比率でヌクレオチド断片を含む前記ヌクレオチド断片のセットを有する、構成することと、エンコーダにより情報を複合断片にコード化することとを含む方法が提供される。
【特許請求の範囲】
【請求項1】
情報をポリヌクレオチドに格納するためのコンピュータ実装方法であって、
複数の種類のヌクレオチド断片を使用することであり、前記ヌクレオチド断片のそれぞれは、個々に異なる塩基配列を有する、前記使用することと、
複数の複合断片を構成することであり、前記複合断片のそれぞれは、異なる比率で前記ヌクレオチド断片を含む前記ヌクレオチド断片のセットを有する、前記構成することと、
エンコーダにより前記情報を前記複合断片にコード化することと
を含む方法。
【請求項2】
ポリヌクレオチド配列を生成することをさらに含み、前記複合断片の前記ヌクレオチド断片のそれぞれが、前記ポリヌクレオチド配列のそれぞれの同じ位置に組み込まれる、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記エンコーダが、デジタル情報のビットを前記複合断片のセットにマッピングする、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記複合断片の状態ベクトルが、
【数1】
として与えられ、ここで、σ
i=0、1、2、…、kがi番目の断片の番号である、請求項1に記載のコンピュータ実装方法。
【請求項5】
解像度が、
【数2】
として与えられる、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記状態ベクトルの完全なセットが、
【数3】
として与えられる、請求項5に記載のコンピュータ実装方法。
【請求項7】
コード化に使用される状態ベクトルの前記完全なセットのサブセットが、
【数4】
として与えられる、請求項6に記載のコンピュータ実装方法。
【請求項8】
Σ
mが、
【数5】
の間の平均距離を最大化するように選択される、請求項7に記載のコンピュータ実装方法。
【請求項9】
デジタル情報を複合断片のセットにマッピングすることと、
断片をアセンブルして、配列の位置における混合比が状態ベクトルを表すように、前記複合断片を生化学的に連結し、コード化DNA分子を生成することと、
所定の深さの前記コード化DNA分子のプールからサンプリングし、各複合断片の読取りをカウントすることと、
前記混合比を周波数ベクトルから推測し、最も近い状態ベクトルを特定し、バイナリ表示に戻すようマッピングすることと
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項10】
複合断片にコード化された情報を解釈するためのコンピュータ実装方法であって、
ポリヌクレオチド配列を解析して、前記ポリヌクレオチド配列のそれぞれの塩基配列を決定することと、
前記ポリヌクレオチド配列のそれぞれの位置に対応する前記複合断片のそれぞれについての配列比を取得することと、
デコーダにより、前記複合断片のそれぞれについての前記配列比に基づいて前記情報をデコードすることと
を含む方法。
【請求項11】
前記複合断片のそれぞれは、異なる比率でヌクレオチド断片のセットを有する、請求項10に記載のコンピュータ実装方法。
【請求項12】
前記ヌクレオチド断片のそれぞれは、個々に異なる塩基配列を有する、請求項11に記載のコンピュータ実装方法。
【請求項13】
前記複合断片のそれぞれは、各ポリヌクレオチド配列の同じ位置に組み込まれる、請求項12に記載のコンピュータ実装方法。
【請求項14】
シークエンサが、所定の深さの前記コード化情報のプールからサンプリングし、前記複合断片のそれぞれの読取りをカウントする、請求項10に記載のコンピュータ実装方法。
【請求項15】
前記デコーダが、前記複合断片の最も近い状態ベクトルを特定する、請求項10に記載のコンピュータ実装方法。
【請求項16】
前記デコーダが、前記複合断片をバイナリ表示にさらにマッピングする、請求項15に記載のコンピュータ実装方法。
【請求項17】
情報をポリヌクレオチドに格納するためのコンピュータ・プログラム製品であって、
プログラム命令が組み込まれたコンピュータ可読記憶媒体を含み、前記プログラム命令が、コンピュータが、
複数の種類のヌクレオチド断片を使用し、
複数の複合断片を構成し、
エンコーダにより前記情報を前記複合断片にコード化する
ように、前記コンピュータによって実行可能であり、
前記ヌクレオチド断片のそれぞれは、個々に異なる塩基配列を有し、
前記複合断片のそれぞれは、異なる比率で前記ヌクレオチド断片を含む前記ヌクレオチド断片のセットを有する、コンピュータ・プログラム製品。
【請求項18】
前記ポリヌクレオチド配列が生成され、前記複合断片の前記ヌクレオチド断片のそれぞれが、前記ポリヌクレオチド配列のそれぞれの同じ位置に組み込まれる、請求項17に記載のコンピュータ・プログラム製品。
【請求項19】
前記エンコーダが、デジタル情報のビットを前記複合断片のセットにマッピングする、請求項17に記載のコンピュータ・プログラム製品。
【請求項20】
前記複合断片の状態ベクトルが、
【数6】
として与えられ、ここで、σ
i=0、1、2、…、kがi番目の断片の番号である、請求項17に記載のコンピュータ・プログラム製品。
【請求項21】
前記状態ベクトルの完全なセットが、
【数7】
として与えられる、請求項20に記載のコンピュータ・プログラム製品。
【請求項22】
コード化に使用される状態ベクトルの前記完全なセットのサブセットが、
【数8】
として与えられる、請求項21に記載のコンピュータ・プログラム製品。
【請求項23】
複合断片にコード化された情報を解釈するためのコンピュータ・プログラム製品であって、
プログラム命令が組み込まれたコンピュータ可読記憶媒体を含み、前記プログラム命令が、コンピュータが、
ポリヌクレオチド配列を解析して、前記ポリヌクレオチド配列のそれぞれの塩基配列を決定し、
前記ポリヌクレオチド配列のそれぞれの位置に対応する前記複合断片のそれぞれについての配列比を取得し、
デコーダにより、前記複合断片のそれぞれについての前記配列比に基づいて前記情報をデコードする
ように、前記コンピュータによって実行可能である、コンピュータ・プログラム製品。
【請求項24】
前記複合断片のそれぞれは、異なる比率でヌクレオチド断片のセットを有し、前記ヌクレオチド断片のそれぞれが、個々に異なる塩基配列を有し、前記複合断片のそれぞれが、各ポリヌクレオチド配列の同じ位置に組み込まれる、請求項23に記載のコンピュータ・プログラム製品。
【請求項25】
情報をポリヌクレオチドに格納するためのシステムであって、
デジタル情報を複合断片のセットにマッピングするためのエンコーダと、
配列の位置における混合比が状態ベクトルを表すように、前記複合断片を生化学的に連結し、コード化DNA分子を生成するための断片アセンブリと、
所定の深さの前記コード化DNA分子のプールからサンプリングし、各複合断片の読取りをカウントするためのシークエンサと、
前記混合比を周波数ベクトルから推測し、最も近い状態ベクトルを特定し、バイナリ表示に戻すようマッピングするためのデコーダと
を備えるシステム。
【請求項26】
前記複合断片の状態ベクトルが、
【数9】
として与えられ、ここで、σ
i=0、1、2、…、kがi番目の断片の番号である、請求項25に記載のシステム。
【請求項27】
コンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行されたときに、請求項1~16のいずれか一項に記載の方法を実行するように構成されたプログラム・コード手段を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、DNAデータ・ストレージに関し、より詳細には、複合断片を使用するDNAデータ・ストレージのための方法およびシステムに関する。
【背景技術】
【0002】
デジタル・ユニバースは、2025年までに年間約175ゼタバイトのデータを追加する可能性がある。175ゼタバイトは、175の後にゼロが21個続く。その情報量を維持するために、大規模データ・センタおよび膨大なエネルギー・リソースが必要になる。研究者らは、持続可能な安定した代替手段としてDNAを支持している。
【0003】
多くの人は、DNAについて考えるとき、コンピュータではなく生命のことを考える。しかしながら、DNAは、それ自体、生物に関する情報を伝えるための4文字のコードである。DNA分子は、それぞれ文字によって識別される4種類の塩基またはヌクレオチド、すなわち、アデニン(A)、チミン(T)、グアニン(G)、およびシトシン(C)から構成されている。これらはすべてのDNAコードの基礎であり、地球上のすべての生物を構築するための取扱説明書を提供する。
【0004】
かなりよく理解されている技術であるDNA合成は、医学、医薬品、およびバイオ燃料開発において広く使用されているが、これらはほんの一部の適用にすぎない。この技術は、A、C、G、Tの特定の配列によって示される様々な配置に塩基を編成する。これらの塩基は、互いにねじれた鎖(よく知られた二重らせん)で巻き付いて分子を形成する。これらの文字を配列に配置することにより、生物に形成方法を伝えるコードが作成される。
【0005】
DNA分子の完全なセットは、ゲノム、すなわち、人の身体の青写真を構成する。DNA分子を合成すること、すなわちゼロから作ることによって、研究者らは、文字A、C、G、Tの長い文字列を特定しまたは書き込み、その後、これらの配列を読み戻すことができることを見出した。このプロセスは、コンピュータがバイナリ情報を格納する方法に類似している。そのことから、このプロセスは、バイナリ・コンピュータ・ファイルを分子にコード化するための短い概念的ステップであった。
【0006】
この方法は機能することがわかっているが、現在、DNAコード化ファイルの読取りおよび書込みには時間がかかる。DNAに1つの塩基を付加するのに、約1秒かかる。この速度でアーカイブ・ファイルを書き込むには、数十年かかる可能性があるが、一度に多くの分子に書き込む超並列動作を含む、より高速な方法が、研究で開発されている。
【0007】
ADS Codexは、正に、0と1とをA、C、G、Tの4文字の組合せの配列に変換する方法を示す。Codexは、バイナリへ戻すデコードも処理する。DNAをいくつかの方法によって合成することができ、ADS Codexは、これらの方法すべてに対応することができる。
【0008】
残念なことに、従来のデジタル・システムと比較して、DNA合成による分子ストレージへの書込み中のエラー率は非常に高い。これらのエラーは、デジタル世界とは異なるソースから生じるため、修正がより難しい。デジタル・ハード・ディスクでは、0が1に反転するまたは1が0に反転するとバイナリ・エラーが生じる。DNAでは、挿入エラーおよび削除エラーから問題が生じる。例えば、ユーザは、A-C-G-Tと書いているが、Aと書こうとして何も表示されないことがあるため、文字の配列が左にずれる、またはAAAと入力することがある。
【0009】
通常のエラー修正コードは、この種の問題に対して十分に機能しないため、ADS Codexは、データを認証するエラー検出コードを追加している。ソフトウェアは、データをバイナリに戻すよう変換するときに、コードが一致することを確認するためにテストする。一致しない場合、認証が成功するまで、塩基、すなわち文字を除去または追加する。しかしながら、問題は依然として残っている。
【0010】
したがって、DNAデータ・ストレージのためのより効率的な方法が必要である。
【発明の概要】
【0011】
本発明の一態様によれば、情報をポリヌクレオチドに格納するためのコンピュータ実装方法(コンピュータに実装される方法)が提供される。コンピュータ実装方法は、複数の種類のヌクレオチド断片を使用することであり、ヌクレオチド断片のそれぞれが、個々に異なる塩基配列を有する、使用することと、複数の複合断片を構成することであり、複合断片のそれぞれが、異なる比率でヌクレオチド断片を含むヌクレオチド断片のセットを有する、構成することと、エンコーダを介して情報を複合断片にコード化することとを含む。
【0012】
本発明の別の態様によれば、複合断片にコード化された情報を解釈するためのコンピュータ実装方法が提供される。コンピュータ実装方法は、ポリヌクレオチド配列を解析して、ポリヌクレオチド配列のそれぞれの塩基配列を決定することと、ポリヌクレオチド配列のそれぞれの位置に対応する複合断片のそれぞれについての配列比を取得することと、デコーダにより、複合断片のそれぞれについての配列比に基づいて情報をデコードすることとを含む。
【0013】
本発明の別の態様によれば、情報をポリヌクレオチドに格納するためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、プログラム命令が組み込まれたコンピュータ可読記憶媒体を含み、プログラム命令は、コンピュータが、複数の種類のヌクレオチド断片を使用し、複数の複合断片を構成し、エンコーダを介して情報を複合断片にコード化するように、コンピュータによって実行可能であり、ヌクレオチド断片のそれぞれが、個々に異なる塩基配列を有し、複合断片のそれぞれが、異なる比率でヌクレオチド断片を含むヌクレオチド断片のセットを有する。
【0014】
本発明の別の態様によれば、複合断片にコード化された情報を解釈するためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、プログラム命令が組み込まれたコンピュータ可読記憶媒体を含み、プログラム命令は、コンピュータが、ポリヌクレオチド配列を解析して、ポリヌクレオチド配列のそれぞれの塩基配列を決定し、ポリヌクレオチド配列のそれぞれの位置に対応する複合断片のそれぞれについての配列比を取得し、デコーダにより、複合断片のそれぞれについての配列比に基づいて情報をデコードするように、コンピュータによって実行可能である。
【0015】
本発明のさらに別の態様によれば、情報をポリヌクレオチドに格納するためのシステムが提供される。システムは、デジタル情報を複合断片のセットにマッピングするためのエンコーダと、配列の位置における混合比が状態ベクトルを表すように、複合断片を生化学的に連結し、コード化DNA分子を生成するための断片アセンブリと、所定の深さのコード化DNA分子のプールからサンプリングし、各複合断片の読取りをカウントするためのシークエンサと、混合比を周波数ベクトルから推測し、最も近い状態ベクトルを特定し、バイナリ表示に戻すようマッピングするためのデコーダとを備える。
【0016】
1つの好ましい実施形態において、ポリヌクレオチド配列は、複合断片のヌクレオチド断片のそれぞれが、ポリヌクレオチド配列のそれぞれの同じ位置に組み込まれるように生成される。
【0017】
別の好ましい実施形態において、エンコーダは、デジタル情報のビットを複合断片のセットにマッピングする。
【0018】
さらに別の好ましい実施形態において、複合断片の状態ベクトルが、
【数1】
として与えられ、ここで、σ
i=0、1、2、…、kはi番目の断片の番号である。
【0019】
さらに別の好ましい実施形態において、解像度が、
【数2】
として与えられる。
【0020】
さらに別の好ましい実施形態において、状態ベクトルの完全なセットが、
【数3】
として与えられる。
【0021】
さらに別の好ましい実施形態において、コード化に使用される状態ベクトルの完全なセットのサブセットが、
【数4】
として与えられる。
【0022】
さらに別の好ましい実施形態において、Σ
mが、
【数5】
の間の平均距離を最大化するように選択される。
【0023】
1つの好ましい実施形態において、複合断片のそれぞれは、異なる比率でヌクレオチド断片のセットを有する。
【0024】
別の好ましい実施形態において、ヌクレオチド断片のそれぞれが、個々に異なる塩基配列を有する。
【0025】
さらに別の好ましい実施形態において、複合断片のそれぞれが、各ポリヌクレオチド配列の同じ位置に組み込まれる。
【0026】
さらに別の好ましい実施形態において、シークエンサが、所定の深さのコード化情報のプールからサンプリングし、複合断片のそれぞれの読取りをカウントする。
【0027】
さらに別の好ましい実施形態において、デコーダが、複合断片の最も近い状態ベクトルを特定する。
【0028】
さらに別の好ましい実施形態において、デコーダが、複合断片をバイナリ表示にさらにマッピングする。
【0029】
本発明の利点は、少なくとも、所与の値kについて、状態|Φn,k|の数がnによって大幅に増加し得ることを含むことである。複合断片手法(n>4)は、単一の合成サイクル(例えば、ビット/合成)でより多くの情報を圧縮することができ、有利である。加えて、閾値精度(例えば、90%)を実現するために必要な「深さ」は、nではなくkのみによって増加する。したがって、複合断片手法は、読出し精度およびコストに妥協することなく、より高いビット/合成を実現することができるため、有利である。合成のコストおよび時間は、複合断片(n>4)によって実現されるビット/合成と複合DNA(n=4)のビット/合成にとの比率に比例する倍率で改善され、有利である。さらに、nを増加させること、ならびに効率的な断片アセンブリ技術およびマイクロ流体工学技術を使用すること、複合DNA手法と比較して速度およびコストにおけるそれぞれ少なくとも3倍および2倍の改善を推定することによって、改善を実現することができる。
【0030】
他の有利な結果は、浅いシークエンシング(shallow sequencing)、冗長性、および効率的な読出しに関連する。例えば、浅いシークエンシングに関し、所与のビット/合成値を実現するために、複合断片手法は、より小さいkの値を可能にする。必要な精度を実現するには、より浅い配列で十分であり、読出しコストが大幅に削減される。冗長性に関し、複合断片によって取得された多数の状態により、断片の異なるセットを使用して同じデータの冗長表示が可能になり、独自のエラー緩和技術の実装のための柔軟性およびロバスト性が提供される。効率的な読出しに関し、読出し効率を大幅に高めるために、ナノポア・シークエンサを使用して、単一のヌクレオチドを識別することとは対照的に、断片の異なる信号パターンを認識することによって、複合断片を読み出すことができる。
【0031】
例示的な実施形態が、異なる主題を参照して説明されることに留意すべきである。特に、一部の実施形態は、方法タイプの請求項を参照して説明され、他の実施形態は、装置タイプの請求項を参照して説明される。しかしながら、当業者は、上記および以下の説明から、別段の通知がない限り、1つのタイプの主題に属する特徴の任意の組合せに加えて、異なる主題に関する特徴の任意の組合せ、特に方法タイプの請求項の特徴と装置タイプの請求項の特徴との任意の組合せも、本明細書内に記載されていると考えられることを推測するだろう。
【0032】
これらその他の特徴および利点は、例示的な実施形態の以下の詳細な説明から明らかになり、以下の詳細な説明は、添付図面と関連して読まれるべきである。
【0033】
本発明は、以下の図面を参照して、好ましい実施形態の以下の説明において詳細を提供する。
【図面の簡単な説明】
【0034】
【
図1】本発明の実施形態による、例示的な複合断片、すなわち、断片の混合比を含むDNA配列の位置の表示のブロック/フロー図である。
【
図2】本発明の実施形態による、
図1の複合断片を使用する、例示的なコード化およびデコード・システムならびに方法のブロック/フロー図である。
【
図3】本発明の実施形態による、複合断片をコード化およびデコードする例示的な方法のブロック/フロー図である。
【
図4】本発明の実施形態による、情報をポリヌクレオチドに格納するための例示的な方法のブロック/フロー図である。
【
図5】本発明の実施形態による、複合断片のそれぞれは異なる比率でヌクレオチド断片のセットを有する、複合断片にコード化された情報を解釈するための例示的な方法のブロック/フロー図である。
【
図6】本発明の実施形態による、単一の合成サイクルでより多くの情報を圧縮することを示す図である。
【
図7】本発明の実施形態による、読出し精度およびコストに妥協することなく、より高いビット/合成を実現することを示す図である。
【
図8】本発明の実施形態による、複合断片によって実現されるビット/合成の比率に比例する倍率で合成のコストおよび時間を改善することを示す図である。
【
図9】本発明の実施形態による、DNAデータ・ストレージに複合断片を使用するための例示的な処理システムのブロック/フロー図である。
【
図10】本発明の実施形態による、例示的なクラウド・コンピューティング環境のブロック/フロー図である。
【
図11】本発明の実施形態による、例示的な抽象化モデル層の概略図である。
【発明を実施するための形態】
【0035】
図面全体を通して、同一または同様の参照符号は、同一または同様の要素を表す。
【0036】
本発明による実施形態は、複合断片を使用するDNAデータ・ストレージのための方法およびデバイスを提供する。
【0037】
世界のすべてのデータ、すべてのデジタル写真およびツイート、国際的な金融部門のすべての記録、すべての衛星画像、氷河の融解の画像、現代科学の多くの基礎となるすべてのシミュレーションなどの多くのものが、どこかに届く必要がある。「クラウド」は、決して雲ではない。それは、巨大な倉庫内にあるデジタル・データ・センタであり、数兆数百万ものバイトを格納する(および低温で維持する)ために膨大な量の電気を消費する。構築、電力供給、および運営に数十億ドルの費用がかかり、これらのデータ・センタは、データ・ストレージの必要性が急激に増大し続けるため、存続に苦労する可能性がある。DNAは、データ・ストレージに対する世界の貪欲な意欲を満たすために大いに期待されている。この技術には、新しいツールと、使い慣れたツールを適用する新しい方法とが必要である。いつか、世界の最も貴重なアーカイブが、ケシの実のサイズの分子の集まりに新しい居場所を見つけても、驚くことではない。
【0038】
DNAデータ・ストレージのプロセスは、DNA合成、DNAシークエンシング、ならびにコード化およびデコード・アルゴリズムを組み合わせて、従来の媒体で可能なものよりも高い耐久性および高い密度で情報をDNAに圧縮する。情報は、1グラム当たり17エクサバイトになり得る。その結果、DNAは、既存のシリコンベースの記憶媒体よりも密度および耐久性が優れているため、デジタル情報記憶媒体として大きな関心を集めている。例えば、DNAは、ほとんどのコンパクトなソリッド・ステート・ハード・ドライブの少なくとも1000倍の密度があり、ほとんどの安定した磁気テープの少なくとも300倍の耐久性がある。DNAの4文字のヌクレオチド・コードは、コンピュータおよび他の電子デバイスが文字、数字、または他の文字を表すために使用するバイナリ・デジタル・コードと同様に活用できる適切なコード化環境を提供する。これらの利点にもかかわらず、DNAを化学的に合成するコストが法外に高いため、DNAは情報記憶媒体としてまだ普及していない。
【0039】
本発明の例示的な実施形態は、複合断片を使用してDNAを有利に格納することによって、このような問題を軽減する。
【0040】
本発明を、所与の例示的なアーキテクチャに関して説明するが、他のアーキテクチャ、構造、基板材料、プロセスの特徴、およびステップ/ブロックを、本発明の範囲内で変化させることができることを理解されたい。明確にするために、ある一定の特徴をすべての図に示すことはできないことに留意すべきである。これは、任意の特定の実施形態、または説明図、または特許請求の範囲を限定するものと解釈されることを意図するものではない。
【0041】
図1は、本発明の実施形態による、例示的な複合断片、すなわち、断片の混合比を含むDNA配列の位置の表示のブロック/フロー図である。
【0042】
ヌクレオチド10は、ヌクレオチド断片20に組み込まれる。
【0043】
ヌクレオチド10は、アデニン12(A)、チミン18(T)、グアニン16(G)、およびシトシン14(C)を含む。これらは、すべてのDNAコードの基礎となる。
【0044】
断片20が生成される。例えば、第1の断片22、第2の断片24、第3の断片26、および第4の断片28が生成される。各断片22、24、26、28は、ヌクレオチド10の異なる配列である。
【0045】
次に、複合断片30が作成されることが有利である。
【0046】
複合断片について、n≦4
lの断片が、エラー防止対策に基づいて選択され、
【数6】
によって決まる比率で混合されることが有利である。
【0047】
複合断片の状態ベクトルは、
【数7】
として与えられ、ここで、σ
i=0、1、2、…、kはi番目の断片の番号である。
【0048】
例えば、状態ベクトル32(σ1)、34(σ2)、36(σ3)、38(σn)が生成される。
【0049】
【0050】
状態ベクトルの完全なセットが、
【数9】
として与えられる。
【0051】
m個の状態ベクトルΣ
mのサブセットが、コード化に使用するためにΦ
n,kから選択される。
【数10】
【0052】
Σ
mを、ベクトル
【数11】
の間の平均距離を最大化するように戦略的に選択することができる。
【0053】
したがって、複合断片は、断片の混合比を含むDNA配列の位置の表示である。
【0054】
図2は、本発明の実施形態による、
図1の複合断片を使用する、例示的なコード化およびデコード・システムならびに方法40のブロック/フロー図である。
【0055】
エンコーダ44が、バイナリ・データ42を受け取る。バイナリ・データ42を、pビットのデジタル情報と呼ぶことができる。エンコーダ44は、pビットのデジタル情報をm個の複合断片のセットにマッピングする。マッピングを、{0,1}p→Σmと表すことができる。
【0056】
次に、断片アセンブリ46を使用して、配列の位置における混合比が状態ベクトル
【数12】
を表すように、断片を生化学的に連結することが有利である。断片アセンブリ46において、状態ベクトルは、
【数13】
として与えられる。
【0057】
次に、コード化DNA48が生成される。
【0058】
シークエンサ50が、所定の「深さ」のコード化DNA分子48のプールからサンプリングし、各複合断片の読取りをカウントする。
【0059】
デコーダ52が、混合比を周波数ベクトルMから推測し、最も近い
【数14】
を特定し、バイナリ表示54に戻すようマッピングすることが有利である。
【0060】
したがって、コード化方式は、複合断片を使用して、情報密度、合成速度、およびコストパフォーマンス指標を改善することが有利である。複合断片は、断片の混合比を含むDNA配列の位置の表示である。したがって、例示的な実施形態は、複合断片を使用して、複合解像度を十分に低く維持しながら、アルファベットの数を増加させる。例示的な実施形態のこのコード化方式は、データをDNAに格納するためのコストおよび時間を、複合DNAと比較して少なくとも2分の1に削減し、有利である。例示的な方法は、エラー修正のための追加の利点も提供する。
【0061】
図3は、本発明の実施形態による、複合断片をコード化およびデコードする例示的な方法のブロック/フロー図である。
【0062】
ブロック60で、エンコーダにより、pビットのデジタル情報をm個の複合断片のセットにマッピングする。
【0063】
ブロック62で、断片アセンブリにより、配列の位置における混合比が状態ベクトル
【数15】
を表すように、断片を生化学的に連結する。
【0064】
ブロック64で、シークエンサにより、所定の「深さ」のコード化DNA分子のプールからサンプリングし、各断片の読取りをカウントする。
【0065】
ブロック66で、デコーダにより、混合比を周波数ベクトルMから推測し、最も近い
【数16】
を特定し、次にバイナリ表示に戻すようマッピングする。
【0066】
図4は、本発明の実施形態による、情報をポリヌクレオチドに格納するための例示的な方法のブロック/フロー図である。
【0067】
ブロック70で、複数の種類のヌクレオチド断片を設け、ヌクレオチド断片のそれぞれが、個々に異なる塩基配列(A、G、C、T)を有する。
【0068】
ブロック72で、複数の複合断片を構成し、複合断片のそれぞれは、異なる比率でヌクレオチド断片を含むヌクレオチド断片のセットを有する。
【0069】
ブロック74で、情報を複合断片にコード化する。
【0070】
図5は、本発明の実施形態による、複合断片のそれぞれは異なる比率でヌクレオチド断片のセットを有する、複合断片にコード化された情報を解釈するための例示的な方法のブロック/フロー図である。
【0071】
ブロック80で、ポリヌクレオチド配列を解析して、ポリヌクレオチド配列のそれぞれの塩基配列を決定する。
【0072】
ブロック82で、ポリヌクレオチド配列のそれぞれの位置に対応する複合断片のそれぞれについての配列比を取得する。
【0073】
ブロック84で、複合断片のそれぞれについての配列比に基づいて情報をデコードする。
【0074】
図6は、本発明の実施形態による、単一の合成サイクルでより多くの情報を圧縮することを示す図である。
【0075】
図表90は、x軸に解像度(k)、y軸にビット/合成を示す。nが大きいほど、ビット/合成が大きくなる。
【0076】
本発明の利点は、少なくとも、所与の値kについて、状態|Φn,k|の数がnによって大幅に増加し得ることを含むことである。複合断片手法(n>4)は、単一の合成サイクル(例えば、ビット/合成)でより多くの情報を圧縮することができ、有利である。
【0077】
図7は、本発明の実施形態による、読出し精度およびコストに妥協することなく、より高いビット/合成を実現することを示す図である。
【0078】
図表100は、x軸に解像度(k)、y軸に、90%の精度の読出しに必要な「深さ」を示す。
【0079】
加えて、さらなる利点は、閾値精度(例えば、90%)を実現するために必要な「深さ」が、nではなくkのみによって増加することを含む。したがって、複合断片手法は、読出し精度およびコストに妥協することなく、より高いビット/合成を実現することができるため、有利である。
【0080】
図8は、本発明の実施形態による、複合断片によって実現されるビット/合成の比率に比例する倍率で合成のコストおよび時間を改善することを示す図である。
【0081】
図表110は、x軸に解像度(k)、y軸に複合DNAと比べた改善を示す。nが大きいほど、複合DNAと比べた改善が大きくなる。
【0082】
合成のコストおよび時間は、複合断片(n>4)によって実現されるビット/合成と複合DNA(n=4)のビット/合成との比率に比例する倍率で有利に改善される。さらに、nを増加させること、ならびに効率的な断片アセンブリ技術およびマイクロ流体工学技術を使用することにより改善を実現でき、複合DNA手法と比較して速度およびコストにおけるそれぞれ少なくとも3倍および2倍の改善が推定される。
【0083】
要約すると、
図6~
図8に関し、他の有利な結果は、浅いシークエンシング、冗長性、および効率的な読出しに関連する。例えば、浅いシークエンシングに関し、所与のビット/合成値を実現するために、複合断片手法は、より小さいkの値を可能にする。必要な精度を実現するには、より浅い配列で十分であり、読出しコストが大幅に削減される。冗長性に関し、複合断片によって取得された多数の状態により、断片の異なるセットを使用して同じデータの冗長表示が可能になり、固有のエラー緩和技術の実装のための柔軟性およびロバスト性をもたらす。効率的な読出しに関し、読出し効率を大幅に高めるために、ナノポア・シークエンサを使用して、単一のヌクレオチドを識別することとは対照的に、断片の異なる信号パターンを認識することによって、複合断片を読み出すことができる。
【0084】
図9は、本発明の実施形態による、DNAデータ・ストレージに複合断片を使用するための例示的な処理システムのブロック/フロー図である。
【0085】
図9は、コンピューティング・デバイス205を備えるシステム200のコンポーネントのブロック図である。
図9は、一実装形態の例示を単に提供するものであり、異なる実施形態を実装可能な環境に関するいかなる限定をも示唆するものではないことを理解すべきである。図示の環境に対する多くの修正を行うことができる。
【0086】
コンピューティング・デバイス205は通信ファブリック202を含み、通信ファブリック202は、コンピュータ・プロセッサ204、メモリ206、永続ストレージ208、通信ユニット210、および入力/出力(I/O)インターフェース212の間の通信を提供する。通信ファブリック202は、プロセッサ(マイクロプロセッサ、通信およびネットワーク・プロセッサなど)、システム・メモリ、周辺デバイス、ならびにシステム内の任意の他のハードウェア・コンポーネントの間で、データまたは制御情報あるいはその両方を渡すように設計された任意のアーキテクチャで実装されてもよい。例えば、通信ファブリック202は、1つまたは複数のバスで実装されてもよい。
【0087】
メモリ206、キャッシュ・メモリ216、および永続ストレージ208は、コンピュータ可読記憶媒体である。本実施形態において、メモリ206は、ランダム・アクセス・メモリ(RAM)214を含む。別の実施形態において、メモリ206は、フラッシュ・メモリであってもよい。一般に、メモリ206は、任意の適切な揮発性または不揮発性のコンピュータ可読記憶媒体を含むことができる。
【0088】
本発明の一部の実施形態において、プログラム225が含まれ、このプログラム225は、コンピューティング・デバイス205のコンポーネントとしてのDNA処理チップ222によって動作する。他の実施形態において、プログラム225は、永続ストレージ208に格納され、メモリ206の1つまたは複数のメモリを介してそれぞれのコンピュータ・プロセッサ204のうちの1つまたは複数と共に、(複合断片を使用するDNAデータ・ストレージを実装するために)DNA処理チップ222によって実行される。本実施形態において、永続ストレージ208は、磁気ハード・ディスク・ドライブを含む。磁気ハード・ディスク・ドライブの代わりにまたはそれに加えて、永続ストレージ208は、ソリッド・ステート・ハード・ドライブ、半導体ストレージ・デバイス、読取り専用メモリ(ROM)、消去可能なプログラマブル読取り専用メモリ(EPROM)、フラッシュ・メモリ、または、プログラム命令もしくはデジタル情報を格納できる任意の他のコンピュータ可読記憶媒体を含むことができる。
【0089】
永続ストレージ208によって使用される媒体は、取外し可能であってもよい。例えば、取外し可能なハード・ドライブを永続ストレージ208に使用することができる。他の例として、永続ストレージ208の一部でもある別のコンピュータ可読記憶媒体に転送するためにドライブに挿入される光ディスクおよび磁気ディスク、サム・ドライブ、ならびにスマート・カードが挙げられる。
【0090】
これらの例では、通信ユニット210は、分散データ処理環境のリソースを含む他のデータ処理システムまたはデバイスとの通信を提供する。これらの例では、通信ユニット210は、1つまたは複数のネットワーク・インターフェース・カードを含む。通信ユニット210は、物理的な通信リンクおよび無線通信リンクのいずれかまたは両方を使用して通信を提供することができる。深層学習プログラム225を、通信ユニット210を通じて永続ストレージ208にダウンロードすることができる。
【0091】
I/Oインターフェース212は、コンピューティング・システム200に接続され得る他のデバイスとのデータの入力および出力を可能にする。例えば、I/Oインターフェース212は、キーボード、キーパッド、タッチ・スクリーン、または他の適切な入力デバイス、あるいはその組合せなどの外部デバイス218への接続を提供することができる。外部デバイス218は、例えば、サム・ドライブ、携帯型光ディスクまたは磁気ディスク、およびメモリ・カードなどの携帯型コンピュータ可読記憶媒体を含むこともできる。
【0092】
ディスプレイ220は、データをユーザに表示するための機構を提供し、例えば、コンピュータ・モニタであってよい。
【0093】
図10は、本発明の実施形態による、例示的なクラウド・コンピューティング環境のブロック/フロー図である。
【0094】
本発明は、クラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載される教示の実装はクラウド・コンピューティング環境に限定されるものではないことを理解されたい。むしろ、本発明の実施形態は、現在既知であるか、または今後開発される任意の他の種類のコンピューティング環境と共に実装することができる。
【0095】
クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとの対話によって迅速にプロビジョニングおよびリリースされ得る構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共用プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特徴と、少なくとも3つのサービス・モデルと、少なくとも4つの配備モデルとを含むことができる。
【0096】
特徴は以下の通りである。
【0097】
オンデマンド・セルフサービス:クラウド消費者は、サービスのプロバイダとの人的対話を必要とせずに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングすることができる。
【0098】
広帯域ネットワーク・アクセス:機能はネットワークを介して利用可能であり、異種のシンまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準機構を通じてアクセスされる。
【0099】
リソース・プール:マルチテナント・モデルを使用して複数の消費者に対応するために、プロバイダのコンピューティング・リソースがプールされ、需要に応じて異なる物理リソースおよび仮想リソースが動的に割り当てられ、再割当てされる。消費者は一般に、提供されるリソースの正確な場所について制御することができないかまたは知らないが、より高い抽象化レベルの場所(例えば、国、州、またはデータセンタ)を指定できるという点で、場所独立感がある。
【0100】
迅速な順応性:機能は、迅速かつ順応的に、場合によっては自動的にプロビジョニングされて、迅速にスケール・アウトすることができ、かつ迅速にリリースされて、迅速にスケール・インすることができる。消費者にとって、プロビジョニングのために利用可能な機能は、多くの場合、無制限であるように見え、いつでも任意の量を購入することができる。
【0101】
従量制サービス:クラウド・システムが、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に適切な何らかの抽象化レベルの計量機能を活用することによって、リソースの使用を自動的に制御し、最適化する。リソース使用量を監視、制御、および報告して、利用サービスのプロバイダおよび消費者の両方に透明性を提供することができる。
【0102】
サービス・モデルは以下の通りである。
【0103】
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウド・インフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えば、ウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを通じて様々なクライアント・デバイスからアクセス可能である。消費者は、限られたユーザ固有アプリケーション構成設定を例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能も含む、基礎となるクラウド・インフラストラクチャを管理または制御しない。
【0104】
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、クラウド・インフラストラクチャ上に、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者作成アプリケーションまたは消費者取得アプリケーションを配備することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎となるクラウド・インフラストラクチャを管理または制御しないが、配備されたアプリケーションと、場合によってはアプリケーション・ホスティング環境構成とを制御することができる。
【0105】
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、処理、ストレージ、ネットワーク、およびその他の基本的なコンピューティング・リソースをプロビジョニングすることであり、消費者は、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを配備および実行することができる。消費者は、基礎となるクラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システム、ストレージ、配備されたアプリケーションを制御することができ、場合によっては選択されたネットワーキング・コンポーネント(例えば、ホスト・ファイアウォール)の限定的な制御を行うことができる。
【0106】
配備モデルは以下の通りである。
【0107】
プライベート・クラウド:このクラウド・インフラストラクチャは、組織のためにのみ運用される。これは、組織または第3者によって管理されてよく、オンプレミスまたはオフプレミスに存在してよい。
【0108】
コミュニティ・クラウド:このクラウド・インフラストラクチャは、いくつかの組織によって共用され、共通の関心事(例えば、任務、セキュリティ要件、ポリシ、およびコンプライアンス事項)を有する特定のコミュニティをサポートする。これは、組織または第3者によって管理されてよく、オンプレミスまたはオフプレミスに存在してよい。
【0109】
パブリック・クラウド:このクラウド・インフラストラクチャは、一般人または大規模業界団体が利用することができ、クラウド・サービスを販売する組織によって所有される。
【0110】
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合体であり、それらのクラウドは、固有のエンティティのままであるが、データおよびアプリケーションの移植性を可能にする標準化技術または専有技術(例えば、クラウド間のロード・バランシングのためのクラウド・バースティング)によって共に結合される。
【0111】
クラウド・コンピューティング環境は、ステートレス性、疎結合性、モジュール性、および意味的相互運用性に焦点を合わせたサービス指向型である。クラウド・コンピューティングの核心にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0112】
次に
図10を参照して、本発明の使用事例を可能にするクラウド・コンピューティング環境450を示す。図示するように、クラウド・コンピューティング環境450は、1つまたは複数のクラウド・コンピューティング・ノード410を含み、この1つまたは複数のクラウド・コンピューティング・ノード410と、例えば、パーソナル・デジタル・アシスタント(PDA)もしくは携帯電話454A、デスクトップ・コンピュータ454B、ラップトップ・コンピュータ454C、または自動車コンピュータ・システム454N、あるいはその組合せなどの、クラウド消費者によって使用されるローカル・コンピューティング・デバイスとが、通信することができる。ノード410は相互に通信することができる。ノード410は、前述したプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、またはそれらの組合せなどの1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化(図示せず)され得る。これにより、クラウド・コンピューティング環境450は、インフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはその組合せを、クラウド消費者がそのためにローカル・コンピューティング・デバイス上でリソースを維持する必要がないサービスとして提供することができる。
図10に示すコンピューティング・デバイス454A~454Nの種類は、単なる例示であり、コンピューティング・ノード410およびクラウド・コンピューティング環境450が、(例えば、ウェブ・ブラウザを使用して)任意の種類のネットワークまたはネットワーク・アドレス可能接続あるいはその両方を介して任意の種類のコンピュータ化デバイスと通信することができるものと理解される。
【0113】
図11は、本発明の実施形態による、例示的な抽象化モデル層の概略図である。
図11に示すコンポーネント、層、および機能は、単なる例示であり、本発明の実施形態はこれらに限定されないことを予め理解すべきである。図示するように、以下の層および対応する機能が提供される。
【0114】
ハードウェアおよびソフトウェア層560は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、メインフレーム561、縮小命令セット・コンピュータ(RISC)・アーキテクチャ・ベースのサーバ562、サーバ563、ブレード・サーバ564、ストレージ・デバイス565、ならびにネットワークおよびネットワーキング・コンポーネント566が挙げられる。一部の実施形態において、ソフトウェア・コンポーネントとして、ネットワーク・アプリケーション・サーバ・ソフトウェア567およびデータベース・ソフトウェア568が挙げられる。
【0115】
仮想化層570は抽象化層を提供し、この抽象化層から、仮想エンティティの以下の例、すなわち、仮想サーバ571、仮想ストレージ572、仮想プライベート・ネットワークを含む仮想ネットワーク573、仮想アプリケーションおよびオペレーティング・システム574、ならびに仮想クライアント575を提供することができる。
【0116】
一例において、管理層580は、以下に記載の機能を提供することができる。リソース・プロビジョニング581は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソースおよび他のリソースの動的調達を行う。計量および価格設定582は、リソースがクラウド・コンピューティング環境内で利用されるときの費用追跡、およびこれらのリソースの消費に対する請求書発行またはインボイス処理を行う。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド消費者およびタスクの本人確認と、データおよび他のリソースの保護とを行う。ユーザ・ポータル583は、消費者およびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理584は、必要なサービス・レベルが満たされるように、クラウド・コンピューティング・リソース割当ておよび管理を行う。サービス品質保証契約(SLA)の計画および履行585は、将来の要件がSLAに従って予測されるクラウド・コンピューティング・リソースの事前手配および調達を行う。
【0117】
作業負荷層590は、クラウド・コンピューティング環境をそのために利用することができる機能の例を提供する。この層から提供できる作業負荷および機能の例として、マッピングおよびナビゲーション541、ソフトウェア開発およびライフサイクル管理592、仮想教室教育配信593、データ解析処理594、トランザクション処理595、およびDNAデータ・ストレージ40が挙げられる。
【0118】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであってよい。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有する1つまたは複数のコンピュータ可読記憶媒体を含むことができる。
【0119】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持し格納することができる有形デバイスであってよい。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または上記の任意の適切な組合せであってよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、以下のもの、すなわち、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ、読取り専用メモリ、消去可能なプログラマブル読取り専用メモリ(EPROMもしくはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ、携帯型コンパクト・ディスク読取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピ(R)・ディスク、パンチカードもしくは命令が記録されている溝内の隆起構造などの機械的に符号化されたデバイス、および上記の任意の適切な組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または電線を介して伝送される電気信号などの、一過性の信号自体であると解釈されるべきではない。
【0120】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスにダウンロードすることができ、または、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワーク、あるいはその組合せを介して、外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に格納するために転送する。
【0121】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語および「C」プログラミング言語もしくは同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、全体的にユーザのコンピュータ上で、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして、一部がユーザのコンピュータ上かつ一部がリモート・コンピュータ上で、または全体的にリモート・コンピュータもしくはサーバ上で実行することができる。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに接続することができる。一部の実施形態において、本発明の態様を実行するために、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【0122】
本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら、本発明の態様について本明細書で説明している。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実装できることが理解されよう。
【0123】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサによって実行される命令が、フローチャートまたはブロック図あるいはその両方の1つもしくは複数のブロックまたはモジュールに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置の少なくとも1つのプロセッサに提供されてマシンを作り出すものであってよい。
【0124】
これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つもしくは複数のブロックまたはモジュールに指定される機能/動作の態様を実施する命令を含んだ製品を含むべく、コンピュータ可読記憶媒体に格納されて、コンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはその組合せに特定の方式で機能するように指示できるものであってもよい。
【0125】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイスで実行される命令が、フローチャートまたはブロック図あるいはその両方の1つもしくは複数のブロックまたはモジュールに指定される機能/動作を実施するように、コンピュータによって実施されるプロセスを作り出すべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ブロック/ステップを実行させるものであってもよい。
【0126】
図におけるフローチャートおよびブロック図は、本発明の様々な実施形態による、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表すことができる。一部の代替実装形態において、ブロックに記載された機能は、図に記載された順序以外で生じる場合がある。例えば、連続して示す2つのブロックは、実際には、実質的に同時に実行することができ、またはそれらのブロックは、時には、関与する機能に応じて、逆の順序で実行することができる。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定された機能もしくは動作を実行する、または専用ハードウェアとコンピュータ命令との組合せを実行する専用ハードウェア・ベースのシステムによって実施することができることにも留意されたい。
【0127】
本明細書における、本原理の「1つの実施形態」または「一実施形態」およびそれらの他の変形形態への言及は、実施形態に関連して説明される特定の機能、構造、または特徴などが、本原理の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体を通して様々な箇所に現れる「1つの実施形態において」または「一実施形態において」という言い回しおよび任意の他の変形は、必ずしもすべて同じ実施形態を指すわけではない。
【0128】
「/」、「または~あるいはその両方」、「~のうちの少なくとも1つ」のうちいずれかの使用は、例えば、「A/B」、「AまたはBあるいはその両方」、「AおよびBのうちの少なくとも1つ」の場合、第1の列挙される選択肢(A)のみの選択、または第2の列挙される選択肢(B)のみの選択、または両方の選択肢(AおよびB)の選択を包含することを意図することを理解されたい。さらなる例として、「A、B、またはC、あるいはその組合せ」および「A、B、およびCのうち少なくとも1つ」の場合、そのような言い回しは、第1の列挙される選択肢(A)のみの選択、または第2の列挙される選択肢(B)のみの選択、または第3の列挙される選択肢(C)のみの選択、または第1の列挙される選択肢と第2の列挙される選択肢(AおよびB)のみの選択、または第1の列挙される選択肢と第3の列挙される選択肢(AおよびC)のみの選択、または第2の列挙される選択肢と第3の列挙される選択肢(BおよびC)のみの選択、または3つの選択肢(AおよびBおよびC)のすべての選択を包含することを意図する。これは、当該技術分野および関連技術分野において当業者によって容易に明らかであるように、列挙される多くの項目に対しても拡大することができる。
【0129】
複合断片を使用するDNAデータ・ストレージのための方法およびシステムの好ましい実施形態(これは例示することを意図したものであり、限定することを意図していない)について説明したが、上記の教示に照らして、当業者によって修正および変形を行うことができることに留意されたい。したがって、説明された特定の実施形態において変更を行うことができ、これらは、添付の特許請求の範囲によって概説されるような発明の範囲内にあることを理解されたい。
【手続補正書】
【提出日】2024-11-05
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
情報をポリヌクレオチドに格納する方法であって、
個々に異なる塩基配列を有する複数の種類のヌクレオチド断片を使用することと、
前記ヌクレオチド断片のセットを有する複数の複合断片を構成することであり、前記ヌクレオチド断片の前記セットは、それぞれ異なる比率で前記ヌクレオチド断片を含む、前記構成することと、
エンコーダにより前記情報を前記複合断片にコード化することと
を含む方法。
【請求項2】
前記コード化することは、デジタル情報を前記複合断片のセットにマッピングすることを含む、請求項1に記載の方法。
【請求項3】
ポリヌクレオチド配列を生成することをさらに含み、前記複合断片の前記ヌクレオチド断片のそれぞれは、前記ポリヌクレオチド配列のそれぞれの同じ位置に組み込まれる、請求項1に記載の方法。
【請求項4】
前記複合断片の状態ベクトルが、
【数1】
として与えられ、ここで、σ
i=0、1、2、…、kがi番目の断片の番号である、請求項1に記載の方法。
【請求項5】
解像度が、
【数2】
として与えられる、請求項4に記載の方法。
【請求項6】
前記状態ベクトルの完全なセットが、
【数3】
として与えられる、請求項5に記載の方法。
【請求項7】
コード化に使用される状態ベクトルの前記完全なセットのサブセットが、
【数4】
として与えられる、請求項6に記載の方法。
【請求項8】
Σ
mが、
【数5】
の間の平均距離を最大化するように選択される、請求項7に記載の方法。
【請求項9】
デジタル情報を前記複合断片のセットにマッピングすることと、
断片をアセンブルして、配列の位置における混合比が状態ベクトルを表すように、前記複合断片を生化学的に連結し、コード化DNA分子を生成することと、
所定の深さの前記コード化DNA分子のプールからサンプリングし、各複合断片の読取りをカウントすることと、
前記混合比を周波数ベクトルから推測し、最も近い状態ベクトルを特定し、バイナリ表示に戻すようマッピングすることと
をさらに含む、請求項1に記載の方法。
【請求項10】
複合断片にコード化された情報を解釈するための方法であって、
ポリヌクレオチド配列を解析して、前記ポリヌクレオチド配列のそれぞれの塩基配列を決定することと、
前記ポリヌクレオチド配列のそれぞれの位置に対応する前記複合断片のそれぞれについての配列比を取得することと、
デコーダにより、前記複合断片のそれぞれについての前記配列比に基づいて前記情報をデコードすることと
を含む方法。
【請求項11】
前記複合断片のそれぞれは、異なる比率でヌクレオチド断片のセットを有する、請求項10に記載の方法。
【請求項12】
前記ヌクレオチド断片のそれぞれは、個々に異なる塩基配列を有する、請求項11に記載の方法。
【請求項13】
前記複合断片のそれぞれは、各ポリヌクレオチド配列の同じ位置に組み込まれる、請求項12に記載の方法。
【請求項14】
シークエンサが、所定の深さの前記コード化情報のプールからサンプリングし、前記複合断片のそれぞれの読取りをカウントする、請求項10に記載の方法。
【請求項15】
前記デコーダが、前記複合断片の最も近い状態ベクトルを特定する、請求項10に記載の方法。
【請求項16】
前記デコーダが、前記複合断片をバイナリ表示にさらにマッピングする、請求項15に記載の方法。
【請求項17】
情報をポリヌクレオチドに格納するためのシステムであって、
デジタル情報を複合断片のセットにマッピングするためのエンコーダと、
配列の位置における混合比が状態ベクトルを表すように、前記複合断片を生化学的に連結し、コード化DNA分子を生成するための断片アセンブリと、
所定の深さの前記コード化DNA分子のプールからサンプリングし、各複合断片の読取りをカウントするためのシークエンサと、
前記混合比を周波数ベクトルから推測し、最も近い状態ベクトルを特定し、バイナリ表示に戻すようマッピングするためのデコーダと
を備えるシステム。
【請求項18】
前記複合断片の状態ベクトルが、
【数6】
として与えられ、ここで、σ
i=0、1、2、…、kがi番目の断片の番号である、請求項17に記載のシステム。
【請求項19】
コンピュータに、請求項1~16のいずれかに記載の方法の各手順を実行させるためのコンピュータ・プログラム。
【国際調査報告】