(57)【特許請求の範囲】
【請求項１】
ＤＮＡに基づくデータ記憶方法であって、
第一のデータを取得するステップと、
前記第一のデータを符号化してＤＮＡ分子鎖を得て、前記ＤＮＡ分子鎖には符号化されたデータ及び第一のアドレスと第二のアドレスが含まれ、前記第一のアドレスが前記符号化されたデータの一端に位置し、前記第二のアドレスが前記符号化されたデータの他端に位置し、前記符号化されたデータにいくつかのプライマーが含まれるステップとを含み、
ここで、前記第一のアドレスと前記第二のアドレスの間のハミング距離が前記第一のアドレスの長さの半分以上であり、
前記第一のアドレスのプレフィックスが前記第二のアドレスのプレフィックス及び前記第二のアドレスのサフィックスとは異なり、
各前記プライマーのプレフィックスにおけるグアニンとシトシンの含有量が前記プライマーに含まれるグアニン、シトシン、アデニンとチミンの総含有量の予め設定された割合を占める、ことを特徴とするＤＮＡに基づくデータ記憶方法。
【請求項２】
前記符号化されたデータにはいくつかのデータブロックが含まれ、各前記データブロックに前記プライマーが含まれ、前記データを符号化してＤＮＡ分子鎖を得ることは、
前記データをいくつかの第二のデータに分割するステップと、
第一の方式及び／又は第二の方式によって符号化するステップとを含み、
前記第一の方式は、具体的には、
いくつかの前記第二のデータのハミング分布に従って、各前記第二のデータの次数分布関数を取得し、次数分布関数に基づいて１つの次数をパラメータとして選択し、
前記パラメータといくつかの前記第二のデータに基づき、有界ランニングデジタルサムコードを確定し、
前記有界ランニングデジタルサムコードに基づいて符号化し、前記データをグアニン、シトシン、アデニンとチミンにマッピングして、いくつかの前記データブロックを得ることであり、
前記第二の方式は、具体的には、
前記いくつかの第二のデータを積算して、ランニングデジタルサムを得て、
予め設定されたアルファベットに従って、前記ランニングデジタルサムをグアニン、シトシン、アデニンとチミンにマッピングし、符号化し、いくつかの前記データブロックを得ることである、ことを特徴とする請求項１に記載のＤＮＡに基づくデータ記憶方法。
【請求項３】
前記第一の方式によって符号化すると、前記有界ランニングデジタルサムコードの誤差補正コードパラメータを確定するステップと、
前記誤差補正コードパラメータに基づき、前記誤差補正コードパラメータを有するコードワードを確認するステップと、
前記第二の方式によって符号化すると、前記有界ランニングデジタルサムコードを確定し、前記有界ランニングデジタルサムコードの誤差補正コードパラメータを確定するステップと、
前記誤差補正コードパラメータに基づき、前記誤差補正コードパラメータを有するコードワードを確認するステップとをさらに含む、ことを特徴とする請求項２に記載のＤＮＡに基づくデータ記憶方法。
【請求項４】
前記有界ランニングデジタルサムコードに基づいて符号化することは、
各前記第二のデータの次数分布関数に基づいて次数を確定するステップと、
前記数分布関数と前記有界ランニングデジタルサムコードに基づき、前記第二のデータからいくつかのデータを抽出してデジタルサム演算を行い、そして抽出されたデータに第一のマークを付け、抽出されていないデータに第二のマークを付けて、マトリックスを得るステップと、
マトリックスに従って符号化するステップとを含む、ことを特徴とする請求項２に記載のＤＮＡに基づくデータ記憶方法。
【請求項５】
前記第一のマークに対応する行位置と列位置を記録し、前記列位置が同じである全ての前記行位置をパッケージ化するステップをさらに含む、ことを特徴とする請求項４に記載のＤＮＡに基づくデータ記憶方法。
【請求項６】
前記ＤＮＡ分子鎖に対して排除処理を行い、前記ＤＮＡ分子鎖中の無秩序な折りたたみ構造及び／又は非有界ランニングデジタルサムコードを排除するステップをさらに含む、ことを特徴とする請求項１に記載のＤＮＡに基づくデータ記憶方法。
【請求項７】
請求項５に記載のＤＮＡに基づくデータ記憶方法に基づいて得られたＤＮＡに応用されるＤＮＡデータ復号方法であって、
パッケージ化結果に従って、復号処理を行うステップを含む、ことを特徴とするＤＮＡデータ復号方法。
【請求項８】
システムであって、
第一のデータを取得するための取得モジュールと、
前記第一のデータを符号化してＤＮＡ分子鎖を得るために使用され、前記ＤＮＡ分子鎖には符号化されたデータ及び第一のアドレスと第二のアドレスが含まれ、前記第一のアドレスが前記符号化されたデータの一端に位置し、前記第二のアドレスが前記符号化されたデータの他端に位置し、前記符号化されたデータにいくつかのプライマーが含まれる符号化モジュールとを備え、
ここで、前記第一のアドレスと前記第二のアドレスの間のハミング距離が前記第一のアドレスの長さの半分以上であり、
前記第一のアドレスのプレフィックスが前記第二のアドレスのプレフィックス及び前記第二のアドレスのサフィックスとは異なり、
各前記プライマーのプレフィックスにおけるグアニンとシトシンの含有量が前記プライマーに含まれるグアニン、シトシン、アデニンとチミンの総含有量の予め設定された割合を占める、ことを特徴とするシステム。
【請求項９】
装置であって、
少なくとも１つのプロセッサと、
少なくとも１つのプログラムを記憶するための少なくとも１つのメモリとを備え、
前記少なくとも１つのプログラムが前記少なくとも１つのプロセッサによって実行されると、前記少なくとも１つのプロセッサが請求項１−７のいずれか一項に記載のＤＮＡに基づくデータ記憶方法を実現する、ことを特徴とする装置。
【請求項１０】
請求項１−７のいずれか一項に記載のＤＮＡに基づくデータ記憶方法を完了するためにプロセッサによって実行されるプログラムを記憶している、ことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記憶分野に関し、特にＤＮＡに基づくデータ記憶方法、復号方法、システムと装置に関する。
に関する。
【背景技術】
【０００２】
科学技術の発展に伴い、人々が直面及び受信するデータは急速に増加しており、どのように大量のデータを記憶するかは、現在直面している重要な問題である。ここで、この問題を解決するために、デオキシリボ核酸（ＤＮＡ）を利用してデータを記憶することに関する研究が行われ、すべての情報をＤＮＡ鎖の形で記憶し、この方法が理論的にはいかなるデータを失うことなく、情報を１０万年以上保存することができる。現在のＤＮＡ記憶技術では、ある特定の位置のデータを取得する必要がある場合、ＤＮＡに記憶されたデータを全て読み取ってからフィルタリングすることだけであるが、特定位置に向けてその中の一部のデータのみを読み取ることができないため、効率が低く、欠陥が存在する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】中国特許出願公開第１０９８８７５４９号明細書
【０００４】
本出願は、データ記憶、復元方法及び装置を提供する。該方法では、記憶待ちファイルが分割された少なくとも１グループのデータ内の１グループのターゲットデータを確定し、ジェネレーターマトリックスとターゲットデータの積を計算し、ジェネレーターマトリックスにおける各データの第一のターゲットサブデータを得て、ジェネレーターマトリックスにおけるデータの第一のターゲットサブデータが遺伝子符号化制約条件を満たしていないと、生成された第一のターゲットサブデータが遺伝子符号化制約条件を満たしているまでマトリックスにおけるデータを更新し、ジェネレーターマトリックスにおける各データの第一のターゲットサブデータに基づき、ターゲットデータのＤＮＡデータを生成することで、ＤＮＡをデータ記憶媒体とするデータ記憶の目的を達成するように、記憶待ちファイルを、ＤＮＡをデータ記憶媒体としてデータ記憶を行うためのＤＮＡデータに変換する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
これに鑑みて、上記技術的問題を解決するために、本発明は、効率が高いＤＮＡに基づくデータ記憶方法、復号方法、システムと装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に用いられる技術的解決策は、ＤＮＡに基づくデータ記憶方法である。前記方法は、
第一のデータを取得するステップと、
前記第一のデータを符号化してＤＮＡ分子鎖を得て、前記ＤＮＡ分子鎖には符号化されたデータ及び第一のアドレスと第二のアドレスが含まれ、前記第一のアドレスが前記符号化されたデータの一端に位置し、前記第二のアドレスが前記符号化されたデータの他端に位置し、前記符号化されたデータにいくつかのプライマーが含まれるステップとを含み、
ここで、前記第一のアドレスと前記第二のアドレスの間のハミング距離が前記第一のアドレスの長さの半分以上であり、
前記第一のアドレスのプレフィックスが前記第二のアドレスのプレフィックス及び前記第二のアドレスのサフィックスとは異なり、
各前記プライマーのプレフィックスにおけるグアニンとシトシンの含有量が前記プライマーに含まれるグアニン、シトシン、アデニンとチミンの総含有量の予め設定された割合を占める。
【０００７】
さらに、前記符号化されたデータにはいくつかのデータブロックが含まれ、各前記データブロックに前記プライマーが含まれ、前記データを符号化してＤＮＡ分子鎖を得ることは、
前記データをいくつかの第二のデータに分割するステップと、
第一の方式及び／又は第二の方式によって符号化するステップとを含み、
前記第一の方式は、具体的には、
いくつかの前記第二のデータのハミング分布に従って、各前記第二のデータの次数分布関数を取得し、次数分布関数に基づいて１つの次数をパラメータとして選択し、
前記パラメータといくつかの前記第二のデータに基づき、有界ランニングデジタルサムコードを確定し、
前記有界ランニングデジタルサムコードに基づいて符号化し、前記データをグアニン、シトシン、アデニンとチミンにマッピングして、いくつかの前記データブロックを得ることであり、
前記第二の方式は、具体的には、
前記いくつかの第二のデータを積算して、ランニングデジタルサムを得て、
予め設定されたアルファベットに従って、前記ランニングデジタルサムをグアニン、シトシン、アデニンとチミンにマッピングし、符号化して、いくつかの前記データブロックを得ることである。
【０００８】
さらに、前記方法は、
前記第一の方式によって符号化すると、前記有界ランニングデジタルサムコードの誤差補正コードパラメータを確定するステップと、
前記誤差補正コードパラメータに基づき、前記誤差補正コードパラメータを有するコードワードを確認するステップと、
前記第二の方式によって符号化すると、前記有界ランニングデジタルサムコードを確定し、前記有界ランニングデジタルサムコードの誤差補正コードパラメータを確定するステップと、
前記誤差補正コードパラメータに基づき、前記誤差補正コードパラメータを有するコードワードを確認するステップとをさらに含む。
【０００９】
さらに、前記有界ランニングデジタルサムコードに基づいて符号化することは、
各前記第二のデータの次数分布関数に基づいて次数を確定するステップと、
前記数分布関数と前記有界ランニングデジタルサムコードに基づき、前記第二のデータからいくつかのデータを抽出してデジタルサム演算を行い、そして抽出されたデータに第一のマークを付け、抽出されていないデータに第二のマークを付けてマトリックスを得るステップと、
マトリックスに従って符号化するステップとを含む。
【００１０】
さらに、前記方法は
前記第一のマークに対応する行位置と列位置を記録し、前記列位置が同じである全ての前記行位置をパッケージ化するステップをさらに含む。
【００１１】
さらに、前記方法は、前記ＤＮＡ分子鎖に対して排除処理を行い、前記ＤＮＡ分子鎖中の無秩序な折りたたみ構造及び／又は非有界ランニングデジタルサムコードを排除するステップをさらに含む。
【００１２】
本発明はさらに、ＤＮＡに基づくデータ記憶方法に基づいて得られたＤＮＡに応用されるＤＮＡデータ復号方法を提供する。前記方法は、
パッケージ化結果に従って、復号処理を行うステップを含む。
【００１３】
本発明はさらにシステムを提供する。前記システムは、
第一のデータを取得するための取得モジュールと、
前記第一のデータを符号化してＤＮＡ分子鎖を得るために使用され、前記ＤＮＡ分子鎖には符号化されたデータ及び第一のアドレスと第二のアドレスが含まれ、前記第一のアドレスが前記符号化されたデータの一端に位置し、前記第二のアドレスが前記符号化されたデータの他端に位置し、前記符号化されたデータにいくつかのプライマーが含まれる符号化モジュールとを備え、
ここで、前記第一のアドレスと前記第二のアドレスの間のハミング距離が前記第一のアドレスの長さの半分以上であり、
前記第一のアドレスのプレフィックスが前記第二のアドレスのプレフィックス及び前記第二のアドレスのサフィックスとは異なり、
各前記プライマーのプレフィックスに含まれるグアニンとシトシンの含有量が前記プライマーに含まれるグアニン、シトシン、アデニンとチミンの総含有量の予め設定された割合を占める。
【００１４】
本発明はさらに装置を提供する。前記装置は、
少なくとも１つのプロセッサと、
少なくとも１つのプログラムを記憶するための少なくとも１つのメモリとを備え、
前記少なくとも１つのプログラムが前記少なくとも１つのプロセッサによって実行されると、前記少なくとも１つのプロセッサが前記ＤＮＡに基づくデータ記憶方法を実現する。
【００１５】
本発明はさらに、前記ＤＮＡに基づくデータ記憶方法を完了するためにプロセッサによって実行されるプログラムを記憶している記憶媒体を提供する。
【００１６】
本発明の有益な効果は次のとおりである：前記第一のデータを符号化してＤＮＡ分子鎖を得るプロセスにおいて、前記第一のアドレスと前記第二のアドレスの間のハミング距離を第一のアドレスの長さの半分以上にして読み取る時のアドレス選択エラーの可能性を低減するような前記第一のアドレスと前記第二のアドレスに対する様々な制約が追加されるため、符号化されたデータを効率的且つ正確に読み取ることができ、前記第一のアドレスのプレフィックスが第二のアドレスのプレフィックス及び第二のアドレスのサフィックスとは異なるため、読み取る過程におけるマッチングエラーの可能性を回避し、各前記プライマーのプレフィックスにおけるグアニンとシトシンの含有量が前記プライマーに含まれるグアニン、シトシン、アデニンとチミンの総含有量の予め設定された割合を占めるため、符号化されたデータを読み取って予めシーケンスする必要がある時に、精度が高い。
【図面の簡単な説明】
【００１７】
【図１】本発明の方法のステップを示すフローチャートである。
【図２】本発明の具体的な実施例におけるＤＮＡ分子鎖を示す概略図である。
【図３】本発明の具体的な実施例におけるマトリックスの生成を示す概略図である
【発明を実施するための形態】
【００１８】
当業者が本出願の解決策をより良く理解するために、以下に本出願の実施例の図面を組み合わせながら、本出願の実施例における技術的解決策を明確且つ完全に説明し、明らかに、説明される実施例は、本出願の実施例の一部だけであり、全ての実施例ではない。本出願の実施例に基づき、当業者が創造的な労働をせずに得る他の実施例は、全て本出願の保護範囲に属するべきである。
【００１９】
本出願の明細書と特許請求の範囲及び前記図面中の用語「第一」、「第二」、「第三」と「第四」などは異なるオブジェクトを区別するために使用されるが、特定の順序を説明するためのものではない。また、用語「包括」と「有する」及びそれらのいかなる変形は、非排他的な包含をカバーすることを意図する。例えば一連のステップ又はユニットを含むプロセス、方法、システム、製品又は装置は、示されたステップ又はユニットに限定されず、選択可能に、示されないステップ又はユニットを含み、又は選択可能に、これらのプロセス、方法、製品又は装置固有の他のステップ又はユニットをさらに含む。
【００２０】
本明細書に言及される「実施例」は、実施例と組み合わせて説明される特定の特徴、構造又は特性が本出願の少なくとも一つの実施例に含まれてもよいことを意味する。本明細書の様々な箇所に現れる該語句は、必ずしも同じ実施例を指すわけではなく、他の実施例と相互に排他的に独立した実施例又は代替実施例ではない。当業者は、本明細書で説明される実施例が他の実施例と組合わせられてもよいことを明示的及び暗黙的に理解できる。
【００２１】
図１に示すように、本実施例は、ＤＮＡに基づくデータ記憶方法を提供する。前記方法は、
第一のデータを取得するステップと、
第一のデータを符号化してＤＮＡ分子鎖を得て、ＤＮＡ分子鎖には符号化されたデータ及び第一のアドレスと第二のアドレスが含まれ、第一のアドレスが符号化されたデータの一端に位置し、第二のアドレスが符号化されたデータの他端に位置し、符号化されたデータにいくつかのプライマーが含まれるステップとを含み、
ここで、第一のアドレスと第二のアドレスの間のハミング距離が第一のアドレスの長さの半分以上であり、
第一のアドレスのプレフィックスが第二のアドレスのプレフィックス及び第二のアドレスのサフィックスとは異なり、
各プライマーのプレフィックスに含まれるグアニンとシトシンの含有量がプライマーに含まれるグアニン、シトシン、アデニンとチミンの総含有量の予め設定された割合を占める。
【００２２】
図２に示すように、本実施例では、目的は、高感度のランダムアクセスと正確なアドレス書き換えを実現することである。提案された方法の原理は、ランダムアクセス中のブロックごとに、システムがＤＮＡによるユニークな選択及び増幅を可能にするアドレスシーケンスプライマーを装備する必要があることである。情報の符号化のため、データ情報の長さが確定されなく、データチェーンは１つの完全なデータ情報である可能性があり、また、１フラグメント又は極めて分散したチェーン情報である可能性もあり、したがって、異なるチェーン情報を識別するために、ＤＮＡ分子鎖の前端、後端に第一のアドレスと第二のアドレスなどのアドレスチェーンを追加する。本実施例では、ＤＮＡ分子鎖の長さが１０００ｂｐｓであることを例として説明するが、他の実施例では他の長さであってもよく、第一のアドレスと第二のアドレスを、データを記憶するためブロックシーケンスの両端に合成し、第一のアドレスと第二のアドレスを２０ｂｐｓの長さの短いブロックにそれぞれ保存する。符号化プロセスは、ブロックシーケンスの第一のデータを符号化し、符号化されたデータを得て、それによって符号化されたＤＮＡ分子鎖を得ることである。
【００２３】
本実施例では、第一のデータをいくつか（１２つを含むこれに限定されない）の第二のデータに分割し、各第二のデータにプライマー、辞書符号化情報とテキストデータ情報が含まれ、プライマーがＤＮＡプレフィックスの同期を記述するコードであり、書き換えをできるだけ簡単にし、可変コード長さによるエラー伝播を回避するように、選択された数の共通コードワードがターゲットによって制御され、「ワード符号化」操作は次のとおりである：まず、異なるテキストデータ情報内の単語がカウントされ、辞書で表に作られ、辞書内の各単語が辞書を符号化できる十分な長さのバイナリシーケンスに変換される。次に、現在実施及び選択されているテキストについて、補足情報セクションで説明しているように、この長さを連続する６つのワードのコードに設定してから２１ｂｐｓの長さのバイナリシーケンステキスト情報にグループ化し、クォータナリモデルを用い、例えば、００、０１、１０、１１をＤＮＡの塩基Ａ（アデニン）、Ｔ（チミン）、Ｃ（シトシン）、Ｇ（グアニン）と１対１で対応させて符号化することができる。選択可能に、符号化関係が実際の分子鎖のＧＣの含有量に従って確定されてもよく、最終的にバイナリシーケンスを８０ｂｐｓの長さのデータブロックに翻訳し、即ち、第二のデータブロックの辞書符号化情報とテキストデータ情報に対して「ワード符号化」操作を行い、操作の結果とプライマーが８０ｂｐｓのデータブロックを形成し、本実施例では、符号化されたデータは１２つのデータブロックを含む。
【００２４】
本実施例では、高感度のランダムアクセスと正確なアドレス書き換えを実現するために、いくつかの制約を満たしている短いアドレスシーケンス、即ち第一のアドレスと第二のアドレスを設計し、これにより、アドレスシーケンスが選択性の高いランダムアクセスに適用することができる。符号化制約は、シーケンスエラーが発生しやすいＤＮＡパターンを回避し、且つＤＮＡライブラリ（例えばいくつかのＤＮＡを含む）内の他のブロックに干渉したり、それを意図せずに選択したりすることなく、ＤＮＡブロックが正確にアクセス、増幅、および選択可能できることを、確保するために使用される。符号化制約は、アドレスプライマーの設計に適用されるだけでなく、同時に、完全に符号化されたＤＮＡ情報ブロックの性質を間接的に制御する。
【００２５】
選択可能に、本実施例では、アドレスシーケンスの制約は、Ｃ１−Ｃ４を含み、具体的には、
Ｃ１、各プライマーのプレフィックスにおけるＧ（グアニン）とＣ（シトシン）の含有量は、プライマーに含まれるＧ（グアニン）、Ｃ（シトシン）、Ａ（アデニン）とＴ（チミン）の総含有量の予め設定された割合を占め、予め設定された割合が４５％〜５５％を含むがこれに限定されない。
【００２６】
その理由は、ＤＮＡがＧ（グアニン）、Ａ（アデニン）、Ｃ（シトシン）とＴ（チミン）によって情報を記憶するため、ＡとＴ、ＣとＧがペアリングした後に安定した二重鎖構造を形成でき、一本鎖ＤＮＡであっても二本鎖ＤＮＡであっても、バイナリコードの形態で情報を記憶でき、ここで、二本鎖ＤＮＡでは、一定のＧＣ含有量を有するプレフィックス（ＧＣ含有量を全体の約４５％〜５５％にする）が必要であることにある。これは、ＧＣ含有量５０％のＤＮＡ二本鎖が、ＧＣ含有量がより低く又は高いＤＮＡ二本鎖よりも安定しており、且つシーケンスする期間により良いカバレッジを有することができるためである。符号化プロセスにおけるユーザ情報がプレフィックスの同期によって実現されるため、アドレス及びそれらのプレフィックスにＧＣコンテンツの制約を印加することが重要であり、これは、以降の要求によって、符号化されたデータブロックのすべてのフラグメントが削除されたＧＣコンテンツを有することができることを確保する必要があるためである。
【００２７】
Ｃ２、第一のアドレスと第二のアドレスの間のハミング距離は第一のアドレスの長さの半分以上である。
【００２８】
その理由は、ハミング距離が特徴距離を測定する計算方式であり、その主な考えが２つの特徴間の違いを見つけることであり、アドレスシーケンスが比較的大きなハミング距離を有する必要があり、このようにしてエラーアドレス選択の確率を効果的に低減することができることにある。最小ハミング距離に対して、アドレスシーケンスの長さの半分に等しいハミング距離を適切に選択するだけで十分である（例えば６４ビットバイトの長さのアドレスを使用する場合、必要な最小ハミング距離は３２ビットである）。選択可能に、ハミング距離の代わりにレーベンシュタイン（編集）距離を使用して、１つの文字列を別の文字列に変換できるために必要な最少の挿入及び置き換えられたフラグメントの数をキャプチャすることもできる。
【００２９】
Ｃ３、第一のアドレスのプレフィックスは第二のアドレスのプレフィックス及び第二のアドレスのサフィックスとは異なる。
【００３０】
その理由は、アドレスがデータブロックに一意の識別子を提供するため、それらのサブ文字列が他のアドレス内の「類似した形態」で出現しなく、統合情報の検索及びソート期間にデータブロックを読み取ることによって引き起こされるアセンブリエラーを回避できることにある。
【００３１】
Ｃ４、ＤＮＡ分子鎖の二次（折りたたみ）構造を制御及びスクリーニングし、即ち、ＤＮＡ分子鎖の異常な構造、例えば無秩序な折りたたみ構造と非有界ランニングデジタルサムコードなどを排除し、これにおり、ＰＣＲ増幅及びフラグメント書き過程にエラーが発生することを回避することができる。
【００３２】
本実施例では、符号化プロセスは選択可能に次のステップを含む。
【００３３】
Ｓ１、第一の方式Ｓ１１又は第二の方式Ｓ１２によって符号化する。
【００３４】
ここで、第一の方式Ｓ１１は、
Ｓ１１１、いくつかの第二のデータのハミング分布に従って、各前記第二のデータの次数分布関数を取得し、次数分布関数に基づいて１つの次数をパラメータとして選択するステップと、
Ｓ１１２、パラメータといくつかの第二のデータに基づき、有界ランニングデジタルサムコードを確定するステップと、
Ｓ１１３、有界ランニングデジタルサムコードに基づいて符号化し、データをグアニン、シトシン、アデニンとチミンにマッピングして、いくつかのデータブロックを得るステップとを含む。
【００３５】
例えば、第一のデータがシーケンス（数列）ａで表されると仮定し、ａ＝ａ０、ａ１、ａ２、．．．、ａｉ、ａｉが第二のデータであり、そのシーケンス位置情報が文字シーケンス｛Ａ１、．．．．．．、Ａｉ｝に記憶され、一般的に、無向グラフでは、各ノードに接続されているエッジの数がノードの次数であるため、したがって、データ数列ａのハミング分布に従って、各ノードの次数ａ０、ａ１．．．．．．ａｉを得て、それらを次数分布関数としてまとめることができ、ここで、理想的なソリトン分布関数、ロバストソリトン分布関数、バイナリ次数分布関数を指数分布関数として利用することができ、具体的な分布関数の選択が実際の符号化されたデータの状況に従って決定される必要があり、原則は、符号化されたＤＮＡシーケンスがＣ１−Ｃ４の制約条件を満たし、さらに次数分布関数から１つの確定された次数Ｄを一定の確率で選択し（例えば、選択可能に、一様分布確率で選択し）、選択された所定の値がＤ（即ちパラメータ）であり、Ｄ＞０、シーケンスａから抽出し、全てのｋ＝１、．．．、ｉの場合、１グループのシーケンスｂ｛ｂ１、ｂ２……ｂｋ｝（合計Ｄつの要素）をパラメータＤを有する有界ランニングデジタルサムコードと呼ぶ。大きさが４であるアルファベットには有界ランニングデジタルサムコードを直接使用し、順に符号化を行い、且つデータをＧ（グアニン）、Ａ（アデニン）、Ｃ（シトシン）、Ｔ（チミン）にマッピングし、いくつかのデータブロックを得る。
【００３６】
本実施例では、有界ランニングデジタルサムコードを利用して符号化し、具体的には、
各第二のデータの次数分布関数に基づいて次数を確定し、
次数分布関数と有界ランニングデジタルサムコードに基づき、第二のデータからいくつかのデータを抽出してデジタルサム演算（本実施例では排他的ＯＲ演算）を行い、そして抽出されたデータに第一のマークを付け、抽出されていないデータに第二のマークを付けてマトリックスを得て、
マトリックスに従って符号化する。
【００３７】
例えば、次数分布関数のシーケンスによって生成されたｄｋ（ｋ＝１、２、……ｎ）を確定し、数列ａからいくつかの（例えばｎつの）データＸｎをランダムに抽出してデジタルサム演算（有界ランニングデジタルサムコードに相当し）を行い、結果をＸｋとして記し、選択されたデータ位置情報Ａｋを１としてマークし（抽出されたデータに第一のマークを付けることに相当し）、選択されていないデータ位置を０としてマークし（抽出されていないデータに第二のマークを付けることに相当し）、情報相関度分布マトリックス（即ちマトリックス）Ｇを得て、生成プロセスが図３に示される。その後、マトリックスＧに従って符号化し、本実施例では、ＬＴ（ファウンテンコード）を用いて符号化し、
Ｔ＝Ｇ×Ｓ
Ｔが符号化されたシーケンス（即ち符号化されたデータ）であり、Ｓが元のデータシーケンス、即ち第一のデータ（又は第二のデータ）である。
【００３８】
例えば、元の情報シーケンスａについて、ｉ＝６とし、元のデータシーケンスの次数分布関数に従って、次数シーケンスｄ｛１、２、３、２、２、１｝を得て、次にシーケンスｄに従って、シーケンスａから１、２、３、２、２、１つの要素をランダムに抽出する。この６回それぞれ抽出された｛ａ２、ａ３ａ５、ａ１ａ４ａ６、ａ２ａ５、ａ３ａ６、ａ１｝の場合、マトリックスＧは次のとおりである：
【数１】
0006786144.tif 000002
【００３９】
本実施例では、第二の方式Ｓ１２は、
Ｓ１２１、いくつかの第二のデータを積算して、ランニングデジタルサム（排他的ＯＲ演算の値）を得るステップと、
Ｓ１２２、予め設定されたアルファベットに従って、ランニングデジタルサムをグアニン、シトシン、アデニンとチミンにマッピングし、符号化して、いくつかのデータブロックを得るステップとを含む。
【００４０】
例えば、第一のデータがシーケンスａで表されると仮定し、ａ＝ａ０、ａ１、ａ２、．．．、ａｉ、ａｉが第二のデータであり、そのシーケンス位置情報が文字シーケンス｛Ａ１、．．．、Ａｉ｝に記憶され、Ｇ′がシーケンスａのランニングデジタルサム（ＲＤＳ）であると仮定し、Ｇ′＝ａ０＋ａ１＋……＋ａｉ、予め設定されたアルファベットが用いられ、本実施例では対称的な｛−ｑ、−ｑ＋１、．．．、−１、０、１、．．．、ｑ−１、ｑ｝であると仮定し、ここでｑ１（ａシーケンスの１番目の要素）についてそれぞれ＋１シンボルをベース｛Ａ、Ｔ、Ｇ、Ｃ｝のうちの１つにマッピングすることにより、例えば、｛Ａ、Ｔ｝を直接構築でき、ｑ１＋１を「Ａ」にマッピングし、ｑ１＋２を「Ｔ」にマッピングし、ｑ１＋３を「Ａ」にマッピングし、このようにして０まで循環して繰り返し、要素−１をベース｛Ｇ、Ｃ｝のいずれかに入れ、ｑ１が「Ｇ」をマッピングし、ｑ１−１が「Ｃ」をマッピングし、ｑ１−２が「Ｇ」をマッピングし、このようにして０まで循環して繰り返し、ランニングデジタルサム（ＲＤＳ）をＧ（グアニン）、Ａ（アデニン）、Ｃ（シトシン）、Ｔ（チミン）にマッピングし、さらに符号化して、いくつかのデータブロックを得る。
【００４１】
上記のマッピングにより、コードワードは、後ですべてのシーケンスプレフィックスに対して４５％〜５５％にほぼ等しいＧＣコンテンツを有するＤＮＡシーケンスに変換されてもよく、相互に十分に大きなハミング距離を有する有界ランニングデジタルサムコードワードセットを構築し、制約Ｃ１、Ｃ２を満たす。
【００４２】
選択可能に、本実施例では、ＤＮＡに基づくデータ記憶方法は、
有界ランニングデジタルサムコードの誤差補正コードパラメータを確定し、第二の方式を用いて符号化する場合、第一の方式での方法を用いて有界ランニングデジタルサムコードを確定し、さらに有界ランニングデジタルサムコードの誤差補正コードパラメータを確定することができることを理解できるステップと、
誤差補正コードパラメータに基づき、誤差補正コードパラメータを有するコードワードを確認するステップとをさらに含む。
【００４３】
例えば、エラー補正コードパラメータが（ｎ、Ｃ、ｄ′、Ｄ′）であると仮定し、ここで、Ｃが長さｎのコードワードの数を表し、ｄ′がコードの最小距離を表し、Ｄ′がコードレートに等しい。Ｄ′＝１及びｄ′＝２の場合、有界ランニングデジタルサムコードにパラメータ（ｎ、３＾（ｎ／２）、１、２）があることが最もよく知られている。Ｄ′＝２及びｄ′＝２の場合、パラメータ（ｎ、３＾（ｎ／２−１）、２、２）を有するコードがあり、このパラメータを有するこれらのコードのそれぞれが指数関数的に多数のコードワードを有し、これにより、制約条件Ｃ３を満たしているように、エラー補正コードパラメータを有するコードワードを確認する。
【００４４】
本実施例では、ＤＮＡに基づくデータ記憶方法は、
ＤＮＡ分子鎖に対して排除処理を行い、ＤＮＡ分子鎖中の無秩序な折りたたみ構造及び／又は非有界ランニングデジタルサムコードを排除することをさらに含む。
【００４５】
例えば、コンピューターを介してＤＮＡ分子鎖を検索し、その異なる塩基によって配列されたＤＮＡ分子鎖の二次構造（ＤＮＡ分子の二次構造では、ＡとＴがペアになり、ＣとＧがペアになり、それらはそれぞれ２つ及び３つの水素結合で結合され、異なる塩基数及び組み合わせ方式が無秩序な二次折りたたみにつながる可能性がある）を検索し、したがって、制約条件Ｃ４を満たすコードワードを見つけるために、二次構造の無秩序な折りたたみ及び非有界ランニングデジタルサムコードを排除する必要がある。
【００４６】
本実施例では、ＤＮＡに基づくデータ記憶方法は、
第一のマークに対応する行位置と列位置を記録し、列位置が同じである全ての行位置をパッケージ化することをさらに含む。
【００４７】
生成されたマトリックスＧでの行と列の位置が１（第一のマーク）であるすべての単位をマトリックスから抽出し、バイナリを用いて対応する行の位置と列の位置を表し、その後列の位置が同じである全ての行の位置をまとめてパッケージ化し、完了するまで上記のステップを繰り返する。
【００４８】
また、本実施例では、ＤＮＡ分子鎖のデータを書き換える必要がある場合、書き換え実験は次のとおりである。
【００４９】
１．ＰＣＲ増幅には１つの１０００ｂｐｓのシーケンスを選択しながら元の領域で増幅のための３つの１０００ｂｐｓシーケンスを選択すると仮定し、３２つの１０００ｂｐｓの線形フラグメントがすべて混合形態で記憶され、且つ該混合物がＰＣＲ増幅及び選択のテンプレートとして用いられ、ゲル電気泳動で１０００ｂｐｓのシーケンス長さを確認することで増幅結果を検証し、そしてその領域から３〜５つのシーケンスをランダムに選択し、それらに対してサンガー（Ｓａｎｇｅｒ）シーケンシングを行う。
【００５０】
２．１０００つの印刷ブロックでの様々な位置にある編集済みの実験的コンテンツを合成して書き換える。記号を簡略化するために、プール内の選択が実行されたブロックをＢ１、Ｂ２とＢ３に編集する。フォワードとリバースの２つのプライマーがブロック内の書き換えごとに合成される。また、ｇＢｌｏｃｋとＯＥ−ＰＣＲの２つの異なる編集／突然変異技術が用いられる。ｇＢｌｏｃｋはプライマーとして用いられる二本鎖ゲノムフラグメントのゲノム編集、又は目的のための二本鎖ゲノムフラグメントのゲノム編集であり、ＯＥ−ＰＣＲは、特定のＤＮＡシーケンスのホールを編集するためのＰＣＲのバリアントポイント編集／突然変異又はスプライシングである。コスト効果を有する方法の合理的な編集を証明するために、ＯＥ−ＰＣＲは汎用プライマー（６０ｂｐｓ）のみで実現される。４０ｂｐｓより短いシーケンスを編集する場合、突然変異シーケンスは、プライマーのオーバーハングとして設計される必要がある。その後、３回のＰＣＲ産物が１０００ｂｐｓ全体で書き換えられた最終ＰＣＲ反応のテンプレートとして用いられる。
【００５１】
各塩基対の重量が約６５０ダルトン（６５０×１．６７×ｇ）であると仮定し、１３＋４＝１７ＫＢのＡＳＣＩＩフォーマットのファイルを符号化するために、２７０００＋５０００＝３２０００ｂｐｓが必要となり、本解決策の潜在的な記憶密度は４．９ｘＢ／ｇである。本解決策が高価な多重カバーを回避し、ブロック長さがより長く且つレートが高い専用ワード符号化スキームを使用するため、この密度は、既存の記憶密度２．２ｘＢ／ｇよりも優れている。
【００５２】
本実施例では、第一のデータをいくつかの第二のデータに分割してＬＴコードを用いて符号化し、即ち平均サブフレーム長さのＬＴコードを用いる符号化システムを設計することに相当し、これにより、既存のＬＴ符号化と比較して明らかな利点があり、以下に、それに関して説明する。
【００５３】
1)ＬＴコードパラメータについて、
【数２】
0006786144.tif 000003
Ｓがシンボルノード次数１の平均値であり、Ｋ'がコード数であり、δが復号失敗の確率であり、ｃが定数であり、Ｋが元のデータ長さである。
【００５４】
符号化及び復号がＫの線形関数に関するため、本発明の目的は、できるだけ少ない冗長性でより高い復号成功率を得ることであり、理想的な状態では、冗長性が０に近づくべきであり、したがって、δ限界値の式が次のとおりである：
ｄ→Ｋ／ｅ
【００５５】
上記の右矢印がＫ／ｅに近いことを示しており、上記２つの式から、δ＜１とすると、Ｋ＜ｅとなるので、復号の成功率を大きくすると、Ｋをできるだけ小さくする必要があることがわかる。
【００５６】
２）ＬＴコードシステム性能パラメータについて、
関連するシステム性能の具体的なパラメータは、平均次数Ｄ’と符号化及び復号の複雑さＱを含む。ここで、符号化及び復号の複雑さと平均次数の計算式は次のとおりである：
【数３】
0006786144.tif 000004
【００５７】
Ｋが元のデータの長さであり、ｑが符号化されたデータの選択可能なアドレス値である。本実施例における平均サブフレーム長さのＬＴコードシステムでは、元のデータＫはＸグループに均等に分割され、各グループのデータ長さがＹであると仮定される：
【数４】
0006786144.tif 000005
【００５８】
この時、本発明の符号化及び復号の複雑さが
【数５】
0006786144.tif 000006
であり、平均次数が
【数６】
0006786144.tif 000007
であるが、既存の符号化システムの複雑さが
【数７】
0006786144.tif 000008
であり、平均次数が
【数８】
0006786144.tif 000009
である。
【００５９】
これからわかるように、本発明の平均サブフレーム長さのＬＴコード方式を応用する場合、符号化及び復号の複雑さを軽減することができ、元のデータが固定される場合、余分な演算量を増やすことなく、符号化時間を短縮し、復号レートを向上させることができる一方、復号の成功率を高めることができる。
【００６０】
マトリックスＧの冗長性の低減率：
【数９】
0006786144.tif 000010
【００６１】
ここで、ＬがマトリックスＧ内の１の数であり、ａがデータ情報の長さであり、Ｋが元のデータの長さであり、Ｍが符号化されたデータの長さであり、ｂが圧縮された行と列の位置情報である。
【００６２】
上述したように、本発明は、少なくとも以下の利点を有する。
１）、ＤＮＡに基づく記憶アーキテクチャが確立され、ランダムにアクセスできるデータブロックと書き換えられた情報は、データブロック内の任意の位置に記憶される。
【００６３】
２）、ＤＮＡ二本鎖上のデータを符号化する際には、アドレスシーケンスに対して、選択性の高いランダムアクセスに適用する複数の制約条件を設定し、これにより、符号化されたデータを効率的かつ正確に読み取ることができる。
【００６４】
平均サブフレーム長さのＬＴコードの符号化システムを設計し、そしてマルチビットでパッケージ化することにより、符号化及び復号の複雑さを低減させ、符号化時間を短縮し、復号レートを高め、記憶の冗長性の桁数を減らし、且つＷＳＮ符号化及びデータセンターのデータ回復率の効率を向上させ、高感度のランダムアクセスと正確なアドレス書き換えを実現する。
【００６５】
本発明はさらにシステムを提供する。前記システムは、
第一のデータを取得するための取得モジュールと、
第一のデータを符号化してＤＮＡ分子鎖を得るために使用され、ＤＮＡ分子鎖には符号化されたデータ及び第一のアドレスと第二のアドレスが含まれ、第一のアドレスが符号化されたデータの一端に位置し、第二のアドレスが符号化されたデータの他端に位置し、符号化されたデータにいくつかのプライマーが含まれる符号化モジュールとを備え、
ここで、第一のアドレスと第二のアドレスの間のハミング距離が第一のアドレスの長さの半分以上であり、
第一のアドレスのプレフィックスが第二のアドレスのプレフィックス及び第二のアドレスのサフィックスとは異なり、
各プライマーのプレフィックスにおけるグアニンとシトシンの含有量がプライマーに含まれるグアニン、シトシン、アデニンとチミンの総含有量の予め設定された割合を占める。
【００６６】
上記方法の実施例におけるコンテンツはいずれも本システムの実施例に適用し、本システムの実施例において具体的に実現される機能は上記方法の実施例における機能と同じであり、且つ達成される有益な効果は上記方法の実施例の効果と同じである。
【００６７】
本発明はさらに装置を提供する。前記装置は、
少なくとも１つのプロセッサと、
少なくとも１つのプログラムを記憶するための少なくとも１つのメモリとを備え、
少なくとも１つのプログラムが少なくとも１つのプロセッサによって実行されると、少なくとも１つのプロセッサがＤＮＡに基づくデータ記憶方法を実現する。
【００６８】
上記方法の実施例におけるコンテンツはいずれも本装置の実施例に適用し、本装置の実施例において具体的に実現される機能は上記方法の実施例における機能と同じであり、且つ達成される有益な効果は上記方法の実施例の効果と同じである。
【００６９】
いくつかの選択可能な実施例では、本発明のステップで示され且つ説明される実施例は、技術のより包括的な理解を提供する目的で、例として提供される。開示される方法は、本明細書に示される操作と論理フローに限定されない。様々な操作の順序が変更され、より大きな操作として説明された一部のサブ操作が独立して実行される選択可能な実施形例は、意図されてもよい。
【００７０】
また、本発明は機能モジュールの文脈で説明されているが、特に断りのない限り、機能及び／又は特徴のうちの１つ又は複数が単一の物理デバイス及び／又はソフトウェアモジュールに統合されてもよく、又は１つ又は複数の機能及び／又は特徴が独立した物理デバイス又はソフトウェアモジュールで実現されてもよいことは理解可能である。また、各モジュールの実際の実現についての詳細な討論が本発明を理解するために必要ではないことは理解できる。より正確には、本明細書に開示された装置内の様々な機能モジュールの属性、機能と内部関係を考慮する場合で、モジュールの実際の実現は、エンジニアの従来の技術内で理解される。したがって、当業者は、通常の技術を用いて特許請求の範囲に記載された本発明を過度の実験を行うことなく実施することができる。また、開示された特定の概念が単なる例示であり、本発明の範囲を限定することを意図するものではなく、本発明の範囲が添付の特許請求の範囲及びその同等解決策の全範囲によって決定されることは理解可能である。
【００７１】
本発明の実施例はさらに、ＤＮＡに基づくデータ記憶方法を完了するためにプロセッサによって実行されるプログラムを記憶している記憶媒体を提供する。
【００７２】
同様に、上記方法の実施例におけるコンテンツがいずれも本記憶媒体の実施例に適用し、実現される機能と有益な効果が方法の実施例と同じであることがわかる。
【００７３】
機能がソフトウェア機能ユニットの形態で実現され且つ独立した製品として販売又は使用される時に、一つのコンピュータ読み取り可能な記憶媒体に記憶されてもよい。このような理解に基づき、本発明の技術的解決策は本質的に又は従来技術に寄与する部分又は該技術的解決策の部分がソフトウェア製品の形で具体化されてもよく、該コンピュータソフトウェア製品が１つの記憶媒体に記憶され、コンピュータ装置（パーソナルコンピュータ、サーバ、又はネットワークデバイス等であってもよい）に本発明の様々な実施例の方法のステップの全て又は一部を実行させるためのいくつかの命令を含む。前記憶媒体はＵＳＢフラッシュドライブ、モバイルハードディスク、読み出し専用メモリ（ＲＯＭ：Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダムアクセスメモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、磁気ディスク又は光ディスク等のプログラムコードを記憶できる各種の媒体を含む。
【００７４】
実施例におけるステップ又はここで他の方式で説明される論理及び／又はステップは、例えば、論理機能を実現するための実行可能な命令のシーケンスリストと見なされてもよく、命令実行システム、装置又は機器（例えばコンピュータに基づくシステム、プロセッサを含むシステム、又は命令実行システム、装置又は機器から命令を取って実行することができる他のシステム）に用いられ、又はこれらの命令実行システム、装置又は機器と組み合わせて用いられるために、具体的に任意のコンピュータ可読媒体で実現されてもよい。本明細書において、「コンピュータ可読媒体」は命令実行システム、装置又は機器に用いられ又はこれらの命令実行システム、装置又は機器と組み合わせて用いられるためのプログラムを含み、記憶、通信、伝播又は伝送することができる装置であってもよい。
【００７５】
コンピュータ可読媒体のより具体的な例（非網羅的なリスト）は、１つ又は複数の配線を有する電気接続部（電子デバイス）、ポータブルコンピューターカートリッジ（磁気デバイス）、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブルランダムアクセスメモリ（ＥＰＲＯＭ）又はフラッシュメモリ、光ファイバーデバイス、及びコンパクトディスク読み取り専用メモリ（ＣＤＲＯＭ）を含む。また、コンピュータ可読媒体は、例えば紙又は他の媒体を光学的にスキャンし、次に編集し、解釈し又はニーズに応じて他の適切な方式で処理することでプログラムを電子的に取得し、次にコンピュータのメモリに格納することができるため、更にはプログラムを印刷できる紙又は他の適切な媒体であってもよい。
【００７６】
本実施例はさらにＤＮＡデータを復号するための方法を提供する。前記方法は、パッケージ化結果に従って復号処理を実行することを含む。
【００７７】
ＤＮＡが上記パッケージ化方式で得られる場合、ＤＮＡを読み取って復号する必要がある時に、パッケージ化結果のみを使用し、即ち、生成されたマトリックスＧ全体を送信せず、生成されたマトリックスＧ内の１の行位置及びと列位置のみを送信した上で、受信された行位置と列位置に従って復号するだけで、生成されたマトリックスを復元して元のデータを翻訳する。この段階では、ＬＴコードの符号化及び復号プロセスとアプリケーションは、元のデータの単位ごとにカプセル化して伝送することであるが、単位データパケット伝送は、大量のデータの場合、より多くのメモリと帯域幅を占有する問題が大きく及び出現する有効性及び信頼性の現象が減少するように見える。上記の処理方式により、即ち符号化して伝送された後のいくつかのビットをカプセル化して元の単位データを置き換えて伝送することにより、データ量から記憶スペースが大幅に削減され、記憶の冗長性が減少し、復号成功率が向上する。
【要約】
本発明は、ＤＮＡに基づくデータ記憶方法、復号方法、システムと装置を開示する。本発明は、第一のデータを符号化してＤＮＡ分子鎖を得るプロセスにおいて、第一のアドレスと第二のアドレスの間のハミング距離を第一のアドレスの長さの半分以上にして読み取る時のアドレス選択エラーの可能性を低減するような第一のアドレスと第二のアドレスに対する様々な制約が追加されるため、符号化されたデータを効率的且つ正確に読み取ることができ、第一のアドレスのプレフィックスが第二のアドレスのプレフィックス及び第二のアドレスのサフィックスとは異なるため、読み取る過程におけるマッチングエラーの可能性を回避し、各プライマーのプレフィックスにおけるグアニンとシトシンの含有量がプライマーに含まれるグアニン、シトシン、アデニンとチミンの総含有量の予め設定された割合を占めるため、符号化されたデータを読み取って予めシーケンスする必要がある時に、精度が高い。本発明は、データ記憶技術分野に広く応用されてもよい。
【選択図】図１【図１】
0006786144.tif 000011
【図２】
0006786144.tif 000012
【図３】
0006786144.tif 000013