TW202008302A - 以dna為基礎之資料存取 - Google Patents
以dna為基礎之資料存取 Download PDFInfo
- Publication number
- TW202008302A TW202008302A TW107127162A TW107127162A TW202008302A TW 202008302 A TW202008302 A TW 202008302A TW 107127162 A TW107127162 A TW 107127162A TW 107127162 A TW107127162 A TW 107127162A TW 202008302 A TW202008302 A TW 202008302A
- Authority
- TW
- Taiwan
- Prior art keywords
- aforementioned
- dna
- integer
- artificial sequence
- patent application
- Prior art date
Links
Images
Landscapes
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
本發明係關於以DNA為基礎之資料儲存。本發明提供一種用於在核酸上儲存輸入資料的示例性方法包括:將輸入資料轉換成核苷酸序列組以及合成包括該核苷酸序列組的核酸組。前述轉換包括資料處理步驟及核苷酸編碼步驟,前述資料處理步驟包括將前述輸入資料轉換成二進位串,前述核苷酸編碼步驟包括使用5比特轉碼框架轉換二進位串以獲得前述核苷酸序列組。
Description
本發明通常關於資料儲存及取回,且更具體地,關於實現可靠且有效的基於DNA的資料儲存和取回的技術。
利用DNA作為用於資料儲存和取回(retrival)工具的設計可以追溯到1988年,當時Joe Davis和他的合作者創建了一個名為「Mocrovenus」的合成DNA,用於編碼圖示(icon)並將其整合到大腸桿菌細胞中。與例如磁帶和硬碟等傳統儲存介質相比,基於DNA的儲存具有更高密度(例如~1mm3用於儲存1EB資料)、更長的儲存期(例如,在-18℃下超過100萬年)以及更低的維護成本的優勢。DNA儲存是一個前瞻性的研究領域,其基於用於DNA儲存介質生成的寡核苷酸合成(尤其是像CustomArray的高通量合成平台)和用於資訊取回的測序(尤其是下一代測序(NGS),如Illumina HiSeq 2500和MiSeq)。
然而,目前,基於DNA的資料儲存具有許多限制。例如,DNA合成的生產成本相當高,而由於測序,資料取回的速度可能會低。因此,基於DNA的儲存已被認為更適合於大規模檔案儲存,其涉及儲存介質 的較少數量的讀取和寫入。進一步地,在該過程的各個階段(例如編碼、寫入、儲存、解碼、讀取、取回)可引入許多錯誤,從而危及資料流程的輸入和輸出。示例性錯誤包括在合成和測序期間引起的DNA片段突變、缺失(deletions)、插入、丟失以及長期儲存後的變性。此外,當使用DNA儲存大量資料時,實現對資料的一部分的隨機存取而不是全面地取回該資料可能是具有挑戰性的。
本發明關於實現可靠且有效的基於DNA的資料儲存和取回的技術。具體地,本發明提供在核酸(例如去氧核糖核酸(「DNA」))上儲存輸入資料的精確、有效且可靠的方法。特別地,本發明利用新型5比特轉碼框架將一個或更多個資料檔案轉換成核酸序列(例如DNA序列)。本發明進一步提供一種集成過程,其包括用於有效且可靠的資料儲存和取回的壓縮演算法、錯誤校正演算法和轉碼框架。此外,本發明允許亂數據存取,其在將大規模資料儲存在一起時特別有益,但是在給定時間僅需瀏覽部分資訊。可以根據本發明的方法儲存的資料包括可以以數字方式(即,以二進位資料的方式)表示的任何類型的資料,包括例如文字檔、高清晰度影片、圖像及/或音訊。
在一些實施型態中,提供一種用於在核酸上儲存輸入資料 的方法,該方法包括:a)將輸入資料轉換成核苷酸序列組,其中該轉換包括i)資料處理步驟,包括將輸入資料轉換成二進位串;以及ii)核苷酸編碼步驟,包括使用5比特轉碼框架轉換該二進位串以獲得核苷酸序列組;以及b)合成包括該核苷酸序列組的核酸組。
在一些實施型態中,提供一種用於將輸入資料轉換成核苷酸序列組的電腦實現方法,該方法包括:i)資料處理步驟,包括將輸入資料轉換成二進位串;以及ii)核苷酸編碼步驟,包括使用5比特轉碼框架轉換該二進位串以獲得核苷酸序列組。
在一些實施型態中,資料處理步驟包括將二進位串分成非重疊的5比特二進位串的序列。
在一些實施型態中,核苷酸編碼步驟包括將每個5比特二進位串轉換成0至31範圍內的整數以獲得整數串。
在一些實施型態中,核苷酸編碼步驟進一步包括使用5比特轉碼框架轉換該整數串以獲得核苷酸序列組。
在一些實施型態中,核苷酸編碼步驟進一步包括將該整數串分成多個具有預定長度的初始整數子序列。
在一些實施型態中,多個初始整數子序列中的每一個的長度基於所選擇的合成平台的寡聚物長度、所需的容錯度、輸入資料的大小、所選擇的錯誤校正碼或其組合確定。
在一些實施型態中,核苷酸編碼步驟進一步包括添加索引資訊至多個初始整數子序列中的每一個以獲得多個具有索引的整數子序列。
在一些實施型態中,添加至多個初始整數子序列中的每一個的索引資訊包括整數序列,其中整數序列的長度基於輸入資料的大小。
在一些實施型態中,核苷酸編碼步驟包括,在添加索引資訊之後,添加冗餘數據至多個具有索引的整數子序列,從而獲得多個具有冗餘的整數子序列。
在一些實施型態中,添加冗餘數據至多個具有索引的整數子序列包括:創建空矩陣,其中空矩陣中的列數大於多個具有索引的整數子序列的大小,且其中空矩陣中的行數大於在多個具有索引的整數子序列中每一個中的整數個數;用多個具有索引的整數子序列及透過應用錯誤校正編碼生成的資料填充空矩陣;以及基於被填充的矩陣獲得多個具有冗餘的整數子序列。
在一些實施型態中,空矩陣的列數基於所選擇的合成平台的寡聚物長度、錯誤校正碼的類型、預定的容錯度值、多個具有索引的整數子序列的大小或其組合來確定。
在一些實施型態中,空矩陣的行數基於所選擇的合成平台的寡聚物長度、錯誤校正碼的類型、預定的容錯度值、多個具有索引的整數子序列的大小或其組合來確定。
在一些實施型態中,錯誤校正編碼係里德-所羅門(「RS」)編碼(Reed-Solomon(「RS」)coding)。
在一些實施型態中,通過應用錯誤校正編碼生成的資料係透過應用RS編碼的串校正及/或RS編碼的塊校正來生成的。
在一些實施型態中,5比特轉碼框架以表2為依據。
在一些實施型態中,R及Y的選擇是基於:1)與緊鄰R或Y前面的核苷酸不同;和/或2)核苷酸序列的估算GC含量。
在一些實施型態中,輸入資料對應於壓縮檔。在一些實施型態中,輸入資料對應於兩個或更多個檔。
在一些實施型態中,輸入資料對應於文字檔。
在一些實施型態中,資料處理進一步包括壓縮輸入資料以獲得壓縮檔以及將壓縮檔轉換成二進位串。
在一些實施型態中,壓縮檔是使用朗佩爾-齊科-瑪律可夫鏈演算法(Lempel-Zic-Markov chain algorithm)(「LZMA」)進行壓縮的。
在一些實施型態中,資料處理步驟進一步包括:將兩個或更多個檔歸組為TAR檔。
在一些實施型態中,使用朗佩爾-齊科-瑪律可夫鏈演算法(Lempel-Zic-Markov chain algorithm)(「LZMA」)將TAR檔進一步壓縮。
在一些實施型態中,核苷酸編碼步驟進一步包括將引物序列對附加至核苷酸序列組的每個核苷酸序列的5’及3’末端。
在一些實施型態中,將引物對附接至合成核酸組。
在一些實施型態中,提供在核酸上儲存兩組或更多組輸入資料的方法,該方法包括:a)根據本發明所記載之任何一種方法,將兩組或更多組輸入資料分別轉換成兩組或更多組相應的核苷酸序列;b)分別將引物序列對附加至兩組或更多組相應的核苷酸序列中的每一組的5’和3’末端,其中前述兩組或更多組相應的核苷酸序列的引物對彼此不同;以及c)分別合成包括前述兩組或更多組相應的核苷酸序列的兩組或更多組核酸。
在一些實施型態中,其中每對引物具有不同於兩組或更多組相應的核苷酸序列或其互補序列中的任何一個的序列。
在一些實施型態中,前述合成核酸組的GC含量範圍為30%至70%。在一些實施型態中,前述合成核酸組的GC含量範圍小於約70%。
在一些實施型態中,儲存前述合成核酸組。在一些實施型態中,前述合成核酸組透過乾燥儲存。在一些實施型態中,前述合成核酸組透過凍乾法儲存。
在一些實施型態中,將前述合成核酸組固定在載體上。在一些實施型態中,前述載體是微陣列。
在一些實施型態中,提供一種用於取回(retrieving)儲存在核酸上的輸出資料的方法,該方法包括:a)獲得核酸組的核苷酸序列組,b)將該核苷酸序列組轉換成輸出資料,其中前述轉換包括:i)核苷酸解碼步驟,包括使用5比特轉碼框架將該核苷酸序列組轉換成二進位串;以及ii)資料處理步驟,包括將該二進位串轉換成輸出資料,從而獲得前述輸出資料。
在一些實施型態中,在取回輸出資料之前擴增核酸組。
在一些實施型態中,測序核酸組以生成多個序列讀數。
在一些實施型態中,將多個序列讀數配對、合併及過濾以獲得前述核苷酸序列組。
在一些實施型態中,提供一種用於將核苷酸序列組轉換成輸出資料的電腦實現方法,該方法包括:i)核苷酸解碼步驟,包括使用5比特轉碼框架將該核苷酸序列組轉換成二進位串;以及ii)資料處理步 驟,包括將該二進位串轉換成輸出資料。
在一些實施型態中,核苷酸解碼步驟包括將核苷酸序列組轉換成包括0-31範圍內的整數的多個整數子序列。
在一些實施型態中,核苷酸解碼步驟進一步包括將錯誤校正編碼應用於多個整數子序列,從而獲得多個具有索引的整數子序列。
在一些實施型態中,應用錯誤校正編碼的步驟包括:i)將RS編碼串校正應用於多個整數子序列以獲得多個一致整數子序列;以及ii)將RS編碼塊校正應用於多個一致整數子序列以獲得多個具有索引的整數子序列。
在一些實施型態中,核苷酸解碼步驟進一步包括從多個具有索引的整數子序列中去除索引以獲得多個核心整數子序列。
在一些實施型態中,核苷酸解碼步驟進一步包括將核心整數子序列合併為整數串。
在一些實施型態中,核苷酸解碼步驟進一步包括將整數串轉換成二進位串。
在一些實施型態中,將輸出資料儲存在壓縮檔中。在一些實施型態中,資料處理步驟進一步包括解壓壓縮檔。在一些實施型態中,解壓通過LZMA演算法進行。
在一些實施型態中,輸出資料對應於多個檔。在一些實施型態中,透過TAR演算法從輸出資料中提取前述多個檔。
在一些實施型態中,5比特轉碼框架以表2為依據。
在一些實施型態中,核酸組包括位於5’及3’末端的引物序 列且前述方法包括在核苷酸解碼步驟之前去除引物序列。
在一些實施型態中,提供一種用於取回儲存在感興趣的核酸組上的輸出資料的方法,其中感興趣的核酸組是存在於混合物中的多組核苷酸序列中的一組,每一組編碼不同的輸出資料組且具有位於3’和5’末端的不同的引物對組,該方法包括:a)使用對應於感興趣的核酸的引物對擴增該核酸組;b)獲得擴增核酸的核苷酸序列組,c)根據如上述實施型態中的方法將該核苷酸序列組轉換成輸出資料;從而獲得前述輸出資料。
在一些實施型態中,提供一種用於取回儲存在兩組或更多組感興趣的核酸上的相應的兩組或更多組輸出資料的方法,其中前述兩組或更多組感興趣的核酸是在存在於混合物中的多個核苷酸序列之中,每一組編碼不同的輸出資料組且具有位於3’及5’末端的不同的引物對組,該方法包括:a)使用對應於前述兩組或更多組感興趣的核酸的引物對擴增(例如,分別擴增或一起擴增)前述兩組或更多組感興趣的核酸;b)獲得擴增核酸的兩組或更多組核苷酸序列,c)根據本發明所記載之任一種方法將前述兩組或更多組核苷酸序列分別轉換成兩組或更多組輸出資料;從而獲得前述兩組或更多組輸出資料。
在一些實施型態中,提供一種儲存一個或更多個程式的非暫時性電腦可讀儲存介質,前述一個或更多個程式包括指令,當其由電子裝置的一個或更多個處理器執行時,使該電子裝置實施如本發明所記載之任何一種方法。
本發明進一步提供一種用於提供基於核酸的資料儲存或從核酸中取回資料的系統,包括:一個或更多個處理器;記憶體;及一個或 更多個程式,其中前述一個或多個程式儲存在記憶體中且被配置為由前述一個或多個處理器執行,前述一個或多個程式包括用於實施如本發明所記載之任何一種方法的指令。
本發明進一步提供一種用於提供基於核酸的資料儲存或從核酸中取回資料的電子裝置,該裝置包括用於實施如本發明所記載之任一種方法的設備。
本發明提供在核酸(例如去氧核糖核酸(「DNA」))上儲存輸入資料的精確、有效且可靠的方法。具體地,本發明利用新型5比特轉碼框架將一個或多個資料檔案轉換成核酸序列(例如DNA序列)。此新型5比特轉碼框架允許進行有效地核酸序列設計,從而達到(strikes)正確的GC含量,避免某些均聚物(例如長度為4個或4個以上核苷酸的均聚物),並降低核酸合成和擴增中的錯誤率。本發明進一步提供一種集成過程,其包括用於有效且可靠的資料儲存和取回的壓縮演算法、錯誤校正演算法和轉碼框架。本發明提供的方法可以用於儲存任何大小的資料,包括大尺寸檔。此外,本發明允許隨機資料存取,其在將大規模資料儲存在一起,但是在給定時間僅需要瀏覽部分資訊時特別有益。可以根據本發明的方法儲存的資料包括可以以數字方式(即,以二進位資料的方式)表示的任何類型的資料,包括例如文字檔、高清晰度影片、圖像及/或音訊。
【圖1】表示根據一些實施型態的用於提供基於DNA的資料儲存和取回的示例性過程。
【圖2】表示根據一些實施型態的用於處理用於基於DNA的資料儲存的壓縮檔的示例性手段。
【圖3A】表示根據一些實施型態的用於添加索引和冗餘數據至待儲存的數字內容的示例性步驟。
【圖3B】描繪根據一些實施型態的用於添加索引和冗餘數據至待儲存的數字內容的示例性步驟。
【圖3C】描繪根據一些實施型態的用於添加索引和冗餘數據至待儲存的數字內容的示例性步驟。
【圖3D】描繪根據一些實施型態的用於添加索引和冗餘數據至待儲存的數字內容的示例性步驟。
【圖4】表示根據一些實施型態的用於處理用於基於DNA的資料儲存的壓縮檔的示例性手段。
【圖5】表示根據一些實施型態的示例性5比特轉碼框架。
【圖6】表示根據一些實施型態的待儲存和取回的示例性文本部分。
【圖7】表示根據一些實施型態的基於DNA的資料儲存和取回技術的示例性實現。
【圖8】描繪根據一些實施型態的示例性電子裝置。
【圖9A】表示根據一些實施型態的用於提供基於DNA的資料儲存的示例性過程。
【圖9B】表示根據一些實施型態的用於提供基於DNA的資料取回的示例性過程。
本發明提供在核酸(例如去氧核糖核酸(「DNA」))上儲存輸入資料的精確、有效且可靠的方法。具體地,本發明利用新型5比特轉碼框架將一個或多個資料檔案轉換成核酸序列(例如DNA序列)。此新型5比特轉碼框架允許進行有效地核酸序列設計,從而達到(strikes)正確的GC含量,避免某些均聚物(例如長度為4個或4個以上核苷酸的均聚物),並降低核酸合成和擴增中的錯誤率。本發明進一步提供一種集成過程,其包括用於有效且可靠的資料儲存和取回的壓縮演算法、錯誤校正演算法和轉碼框架。本發明提供的方法可以用於儲存任何大小的資料,包括大尺寸檔。此外,本發明允許隨機資料存取,其在將大規模資料儲存在一起,但是在給定時間僅需要瀏覽部分資訊時特別有益。可以根據本發明的方法儲存的資料包括可以以數字方式(即,以二進位資料的方式)表示的任何類型的資料,包括例如文字檔、高清晰度影片、圖像及/或音訊。
因此,本發明在一方面提供一種用於將輸入資料儲存在核酸組上的方法,以及將輸入資料轉換成核苷酸序列組的方法。在另一方面,提供一種用於取回儲存在核酸上的輸出資料的方法,以及將核苷酸序列組轉換成輸出資料的方法。進一步提供一種用於儲存一個或更多個程式的系統和非暫時性電腦可讀儲存介質用於實施本發明所記載之方法的任何一個或更多個步驟。
應理解,本發明描述的本發明的實施型態包括「由實施型態組成」及/或「基本上由實施型態組成」。
本發明提及的「約」某值或參數包括(和描述)針對該值或參數本身的變化。例如,涉及「約X」的描述包括「X」的描述。
如本發明所用,提及的「非」某值或參數通常表示並描述「除了」該值或參數。例如,該方法不用於治療X型癌症,意味著該方法用於治療除X以外的其他類型的癌症。
如本發明和所附的申請專利範圍所用,單數形式包括複數指示物,除非上下文另有明確規定。
如本發明和所附的申請專利範圍所用的,「一組」是指一個或多個指示物,除非上下文另有明確規定。核酸組可以是編碼同一檔或一起壓縮的同一組檔的資料的核酸。在一些實施型態中,在同一檔中的核酸可具有相同的附加至5’和3’末端的引物組。
編碼資料和資料儲存的方法
本發明在一方面提供一種用於將輸入資料轉換成核苷酸序列組的方法(例如電腦實現方法)。該方法通常包括資料處理步驟,其將輸入資料轉換成二進位串,和核苷酸編碼步驟,其使用5比特轉碼框架轉換前述二進位串以獲得核苷酸序列組。該方法可用於將輸入資料儲存在核酸組上,其涉及首先將輸入資料轉換成核苷酸序列組,然後合成包括前述核苷酸序列組的核酸組。
輸入資料可以表示任何數量的任何類型的檔,例如文字檔、影像檔、影片/音訊檔(例如高清晰度檔)等。該檔可以是非壓縮的或 壓縮的。當檔是非壓縮的,可將其在轉換成二進位串之前先進行壓縮。例如,可使用朗佩爾-齊科-瑪律可夫鏈演算法(Lempel-Ziv-Markov Chain algorithm)將檔案壓縮為LZMA檔(例如A.lzma)。在一些實施型態中,首先將兩個或更多個檔(例如三個、四個、五個、六個和更多個檔)歸組到一起,例如TAR檔(例如A.tar),且將該TAR檔進一步壓縮為LZMA檔(例如A.tar.lzma)。如此,該方法可以允許多個檔(例如1-5、5-10、10-15、15-25、25-35、35-50)儲存在單個核酸組合物中。
在一些實施型態中,允許針對單個檔中的位置的隨機存取,該單個檔可被分為多組資料,且將多組資料各自進行如下所述的壓縮和處理。例如,對應於具有10個章節的書的數字化檔可被分為10個檔,每個檔對應於單個章節。然後將該十個檔案壓縮和處理以實現任何一個章節的自由存取。
資料處理步驟將輸入資料轉換成二進位串。該二進位串可例如通過遵循本發明所記載之5比特轉碼框架直接轉換成核苷酸序列組。作為選擇,該二進位串可被進一步轉換成整數串,然後其例如通過遵循5比特轉碼框架轉換成核苷酸序列組。在一些實施型態中,進一步對該整數串進行錯誤校正編碼和/或其他處理,以生成具有冗餘的多個整數子序列,然後具有冗餘的多個整數子序列例如通過遵循5比特轉碼框架轉換成核苷酸序列組。
因此,例如,在一些實施型態中,提供一種用於將輸入資料轉換成核苷酸序列組的方法(例如電腦實現方法),其中該轉換包括:i)資料處理步驟,包括將輸入資料轉換成二進位串;以及ii)核苷酸編碼步 驟,包括使用5比特轉碼框架轉換前述二進位串以獲得核苷酸序列組。在一些實施型態中,提供一種用於在核酸上儲存輸入資料的方法,該方法包括:a)將輸入資料轉換成核苷酸序列組,其中該轉換包括i)資料處理步驟,包括將輸入資料轉換成二進位串;以及ii)核苷酸編碼步驟,包括使用5比特轉碼框架轉換前述二進位串以獲得核苷酸序列組;以及b)合成包括前述核苷酸序列組的核酸組。
在一些實施型態中,資料處理步驟包括將二進位串分成非重疊的5比特二進位串的序列,其中的每一個可被進一步轉換成整數0至31範圍內的整數以獲得整數串。該整數串可例如使用5比特轉碼框架直接轉換成核苷酸序列組。作為選擇,對該整數串進行如下所述的進一步操作。
具體地,整數串可分成多個具有預定長度的初始整數子序列。該初始整數子序列的預定長度基於多個因素計算,前述因素包括合成平台的寡聚物長度、所選擇的錯誤校正碼、所需的容錯度、寡聚物的合成錯誤率和/或總的編碼資料大小,如下文的詳細討論。例如,該整數串可使用長度固定(例如22個整數)的滑動視窗分成一列非重疊整數子序列。然後可添加索引至多個初始整數子序列中的每一個以生成多個具有索引的整數子序列。該索引可含有一些同樣在0至31範圍內的整數。該索引的長度是靈活的且取決於DNA合成的產量和資料大小。
在一些實施型態中,添加冗餘數據以生成多個具有冗餘的整數子序列。例如,將里德-所羅門(Reed-Solomon,RS)錯誤校正編碼應用於多個整數子序列以通過RS編碼的串校正和塊校正生成一新列的具有冗餘的整數子序列。冗余是指過量的合成寡聚物以提供對丟失的魯棒性 (robustness to dropout)。串校正中的冗餘有助於寡聚物的轉換和顛換(transitions and transversions)的錯誤校正。塊矯正中的冗餘能夠實現資訊的插入、缺失和完全丟失的校正。
在一個示例性的實施型態中,添加冗餘數據至多個具有索引的整數子序列包括:創建空矩陣,其中空矩陣中的列數大於多個具有索引的整數子序列的大小,且其中空矩陣中的行數大於在多個具有索引的整數子序列中每一個中的整數個數;用多個具有索引的整數子序列和通過應用錯誤校正編碼生成的資料填充空矩陣;以及基於被填充的矩陣獲得多個具有冗餘的整數子序列。空矩陣的列數和/或行數可以基於錯誤校正碼的類型、預定的容錯度值、多個具有索引的整數子序列的大小或其組合確定。錯誤校正編碼是里德-所羅門(「RS」)編碼(Reed-Solomon(「RS」)coding)。在一些實施型態中,透過應用錯誤校正編碼生成的資料是透過應用RS編碼的串校正和RS編碼的塊校正生成的。
在一些實施型態中,核苷酸編碼步驟進一步包括將引物序列對附加至核苷酸序列組的5’和3’末端。前述引物可用於例如通過PCR擴增方法擴增核酸組。在一些實施型態中,將引物序列在合成之前添加至核苷酸序列組。作為選擇,可將引物例如透過連接附接至合成核酸。
前述方法可用於將兩組或更多組輸入資料儲存在核酸上。具體地,該方法包括a)將兩組或更多組輸入資料分別轉換成兩組或更多組相應的核苷酸序列;b)分別將引物序列對附加至前述兩組或更多組相應的核苷酸序列中的每一個的5’和3’末端,其中前述兩組或更多組相應的核苷酸序列中的每一個的引物彼此不同,以及c)分別合成包括前述兩組或更 多組相應的核苷酸序列的多組核酸。每個引物對可具有與兩個或更多個相應的核苷酸序列或其互補序列中的任何一個不相同的序列。
合成核酸可具有約30%至約70%的GC含量。例如,合成核酸可具有約40%至約60%、約30%至約40%、約40%至約50%、約50%至約60%或約60%至約70%中的任何一個的GC含量。在一些實施型態中,合成核酸不具有長於3個核苷酸的均聚物(例如,不具有4、5、6、7、8、9或10個核苷酸的均聚物)。在一些實施型態中的核酸是寡核苷酸,例如約50、150、200、300或400個中任一核苷酸長度的寡核苷酸。在一些實施型態中,核酸組包括約1、2、3、5、10、15或更多個中任意個數的寡核苷酸。
在一些實施型態中,前述方法進一步包括儲存合成核酸組。在一些實施型態中,將核酸組通過乾燥,例如凍乾法儲存。核酸組可作為乾燥組合物,包括凍乾組合物儲存。在一些實施型態中,將核酸組固定在載體上,包括如微陣列的固體載體。在一些實施型態中,將核酸儲存在具有密度為每1英寸×3英寸面積上約5μg的微陣列上(例如,在CustomArray 12K晶片中)。在一些實施型態中,輸入資料的大小為至少約50MB。
解碼核酸序列和資料取回的方法
本發明在另一方面提供一種用於將核苷酸序列組轉換成輸出資料的方法(例如電腦實現方法)。該方法幾乎是編碼程式的相反的過程,且通常包括核苷酸解碼步驟,其將核苷酸序列組例如通過使用5比特轉碼框架轉換成二進位串,以及資料處理步驟,其將二進位串轉換成輸出資料。該方法可用於取回儲存在核酸組上的輸出資料,其涉及獲得該核酸 組的核苷酸序列,以及然後將該核苷酸序列組轉換成輸出資料。
在一些實施型態中,首先擴增前述核酸組,例如透過使用存在於該核酸組3’和5’末端的引物。且該擴增核酸可進行測序,例如下一代測序。下一代測序技術是所屬技術領域之通常知識者所知悉的。例如,核酸通過使用依諾米那(Illumina)測序方法測序。屬於特定檔的序列可通過比對引物序列獲得。在一些實施型態中,該方法包括NGS文庫製備。當前述核酸組存在於包括編碼不同資料的不同核酸組的混合物中,感興趣的核酸組可通過使用該感興趣的核酸組的獨特的引物對特異性擴增,從而允許對應於該感興趣的核酸組的資料的隨機存取。如果需要在下一代測序的單次運行中讀取和解碼幾個壓縮檔,則通過PCR擴增它們所有相應的核酸組,並且將使用所有相應的對。
在一些實施型態中,該方法包括雙端(pair-end)下一代測序以及讀數配對和合併,其中來自單個簇的正向和反向讀數將被配對併合並成單個讀數,且所有具有不規則長度的新讀數將被過濾。而且,根據引物序列,可將所有讀數針對各自壓縮的檔分組。然後可去除該引物,且可將核苷酸序列轉換成多個包括0-31範圍內的整數的整數子序列,或直接轉換成二進位串,前述二進位串隨後被轉換成輸出資料。
在一些實施型態中,前述方法進一步包括應用多個整數子序列的錯誤校正以獲得多個具有索引的整數子序列。在一個示例性實施型態中,應用錯誤校正編碼的步驟包括:i)將RS編碼串校正應用於多個整數子序列以獲得多個一致整數子序列;以及ii)將RS編碼塊校正應用於前述多個一致整數子序列以獲得多個具有索引的整數子序列。因為一種核酸在 合成過程中可具有許多分子拷貝且被多次測序,所以許多讀數可能代表一個核酸。由於在高通量合成和測序的期間引起的錯誤,這些讀數可能發生變化,但與原始設計的核酸完全匹配的正確讀數仍然具有計數優勢。通過在整數串的每個位置處的基於最高頻率的校正,可校正共用相同索引的所有整數串並將其合併到串校正和塊校正之間的一致整數串中。
然後來自多個具有索引的整數子序列的索引可被去除以獲得多個核心整數子序列。然後該整數串可被連接成完整的整數串然後被轉換成二進位串。隨後該二進位串可被寫入檔,例如壓縮檔。隨後可將該壓縮檔例如通過使用LZMA演算法解壓。如果該解壓檔包括對應於多個檔的資料,將該解壓檔通過TAR演算法進一步處理(例如提取)以獲得前述多個檔。
在一些實施型態中,前述方法可用於取回儲存在感興趣的核酸組上的輸出資料,其中感興趣的核酸組是存在於混合物中的多組核苷酸序列中的一組,每一組編碼不同的輸出資料組且具有位於3’和5’末端的不同的引物對組。該方法包括a)使用對應於感興趣的核酸組的引物對擴增前述核酸組;b)獲得擴增核酸組的核苷酸序列組,c)以及根據上述實施型態中的方法將該核苷酸序列組轉換成輸出資料;從而獲得前述輸出資料。
在一些實施型態中,提供用於取回儲存在兩組或更多組感興趣的核酸上的相應的兩組或更多組輸出資料的方法,其中前述感興趣的核酸組在存在於混合物中的多個核苷酸序列組之中,每一組編碼不同的輸出資料組且具有位於3’和5’末端的不同的引物對組,該方法包括:a)使用 對應於前述兩組或更多組感興趣的核酸的引物對擴增(例如,分別擴增或一起擴增)前述兩組或更多組感興趣的核酸;b)獲得前述兩組或更多組擴增核酸的兩組或更多組核苷酸序列,以及c)將前述兩組或更多組核苷酸序列分別轉換成兩組或更多組輸出資料;從而獲得前述兩組或更多組輸出資料。
5比特轉碼框架
本發明的方法利用新型5比特轉碼框架用於將二進位串或整數串轉換成核苷酸序列組。「5比特轉碼框架」是指根據下文的表1的轉換。通常,來自二進位串的每5個連續的比特(bits)可以表示為0至31之間的整數以及之後的3個核苷酸(即3聚體)。例如,核酸具有四個鹼基(例如A、T、G和C),因此二聚體(即NN)應該具有16種(例如AA、AT、AG、AC、TA、TT、TG、TC、GA、GT、GG、GC、CA、CT、CG和CC)。假設簡併鹼基R和Y在二聚體之後連接,三聚體(NNR/NNY)應該由32種組成,其也與0至31範圍內的32個整數很好地匹配並使二進位串轉換成DNA序列。
在一些實施型態中,R選自A、T、G和C中的任意兩個,而Y選自A、T、G和C中相應的另外兩個。在一些實施型態中,R選自A和G,而Y選自T和C。在一些實施型態中,R選自A和C,而Y選自T和G。在一些實施型態中,R選自T和G,而Y選自A和C。在一些實施型態中,R選自T和C,而Y選自A和G。
例如為了保持所需的GC含量和/或避免均聚物的目的,對應於R和Y的核苷酸的選擇可取決於它們前面鹼基。例如,在一個方案中R 選自A和G且Y選自C和T,是否選擇A或G為R以及是否選擇C或T為Y取決於它們前面的鹼基(即三聚體的第二鹼基)。在一些實施型態中,選擇R和Y以使第二和第三鹼基不相同。在一些實施型態中,選擇R和Y以維持所需的GC平衡。只要遵循規則,R和Y可以隨機選擇。此轉碼框架的編碼潛力是1.67(即針對3nt為5比特)。
表2提供了示例性5比特轉碼框架,在表2所描繪的具體的實施例中,當Y要選自C和Y時,則R選自A和G。會理解,可以使用遵循相同原理的其他轉碼框架。
核酸的合成與儲存
包括所需的核苷酸序列的核酸可使用任何核酸合成方法合成。在一些實施型態中,該核酸通過化學合成法合成。高通量核酸合成的方法描述在Maurer等人於2002年2月17日提交的名稱為「COMBINATORIAL SYNTHESIS ON ARRAYS」的國際申請No.WO 2002US40580中,其公佈號為WO 03052383,於2016年12月以「ELECTROCHEMICALLY GENERATED ACID AND ITS CONTAINMENT TO 100 MICRON REACTION AREAS FOR THE PRODUCTION OF DNA MICROARRAYS」的名稱公開,其通過引用以其全部併入本發明。
核酸一旦合成可儲存在不同的介質中。在一些實施型態中,將核酸乾燥(例如凍乾)且儲存在小瓶中。在一些實施型態中,將核酸固定在載體上,例如,諸如微陣列的固體載體。
電腦可讀儲存介質和系統
本發明進一步提供一種儲存一個或更多個程式的非暫時性電腦可讀儲存介質,前述一個或更多個程式包括指令,當其由電子裝置的一個或更多個處理器執行時,使該電子裝置實施如本發明所記載之任何一種方法的一個或更多個步驟。
在一些實施型態中,提供一種用於提供基於核酸的資料儲存或從核酸中取回資料的系統,該系統包括:一個或更多個處理器;記憶體;和一個或更多個程式,其中前述一個或多個程式儲存在記憶體中且被配置為由前述一個或多個處理器執行,前述一個或更多個程式包括用於實施如本發明所記載之任何一種方法的一個或更多個步驟的指令。
在一些實施型態中,提供一種用於提供基於核酸的資料儲存或從核酸中取回資料的電子裝置,該裝置包括實施如本發明所記載之任何一種方法的設備。
示例性實施型態
在一些實施型態中,提供一種用於將輸入資料轉換成核苷酸序列組的電腦實現方法,該方法包括:i)資料處理步驟,包括將輸入資料轉換成二進位串;以及ii)核苷酸編碼步驟,包括使用5比特轉碼框架轉換該二進位串以獲得核苷酸序列組。資料處理步驟包括將二進位串分成非重疊的5比特二進位串的序列。核苷酸編碼步驟包括將每個5比特二進位串轉換成0至31範圍內的整數以獲得整數串,以及使用5比特轉碼框架轉換該整數串以獲得核苷酸序列組。
在一些實施型態中,提供將輸入資料轉換成核苷酸序列組 的電腦實現方法,該方法包括:i)資料處理步驟,包括將輸入資料轉換成二進位串;以及ii)核苷酸編碼步驟,包括使用5比特轉碼框架轉換該二進位串以獲得核苷酸序列組。資料處理步驟包括將二進位串分成非重疊的5比特二進位串的序列。核苷酸編碼步驟包括將每個5比特二進位串轉換成0至31範圍內的整數以獲得整數串,以及使用5比特轉碼框架轉換該整數串以獲得核苷酸序列組。核苷酸編碼步驟進一步包括將該整數串分成多個具有預定長度的初始整數子序列。
在一些實施型態中,多個初始整數子序列中的每一個的長度基於所選擇的合成平台的寡聚物長度、所需的容錯度、輸入資料的大小、所選擇的錯誤校正碼或其組合確定。
在一些實施型態中,提供一種將輸入資料轉換成核苷酸序列組的電腦實現方法:該方法包括:i)資料處理步驟,包括將輸入資料轉換成二進位串;以及ii)核苷酸編碼步驟,包括使用5比特轉碼框架轉換該二進位串以獲得核苷酸序列組。資料處理步驟包括將二進位串分成非重疊的5比特二進位串的序列。核苷酸編碼步驟包括將每個5比特二進位串轉換成0至31範圍內的整數以獲得整數串,以及使用5比特轉碼框架轉換該整數串以獲得核苷酸序列組。核苷酸編碼步驟進一步包括將該整數串分成多個具有預定長度的初始整數子序列。核苷酸編碼步驟進一步包括添加索引資訊至多個初始整數子序列中的每一個以獲得多個具有索引的整數子序列。
在一些實施型態中,添加至多個初始整數子序列中的每一個的索引資訊包括整數序列,其中整數序列的長度基於輸入資料的大小。
在一些實施型態中,提供一種用於將輸入資料轉換成核苷 酸序列組的電腦實現方法,該方法包括:i)資料處理步驟,包括將輸入資料轉換成二進位串;以及ii)核苷酸編碼步驟,包括使用5比特轉碼框架轉換該二進位串以獲得核苷酸序列組。資料處理步驟包括將二進位串分成非重疊的5比特二進位串的序列。核苷酸編碼步驟包括將每個5比特二進位串轉換成0至31範圍內的整數以獲得整數串,以及使用5比特轉碼框架轉換該整數串以獲得核苷酸序列組。核苷酸編碼步驟進一步包括將該整數串分成多個具有預定長度的初始整數子序列。核苷酸編碼步驟進一步包括添加索引資訊至多個初始整數子序列中的每一個以獲得多個具有索引的整數子序列。核苷酸編碼步驟進一步包括在添加索引資訊之後,添加冗餘數據至多個具有索引的整數子序列,從而獲得多個具有冗餘的整數子序列。
在一些實施型態中,提供一種用於將輸入資料轉換成核苷酸序列組的電腦實現方法,該方法包括:i)資料處理步驟,包括將輸入資料轉換成二進位串;以及ii)核苷酸編碼步驟,包括使用5比特轉碼框架轉換該二進位串以獲得核苷酸序列組。資料處理步驟包括將二進位串分成非重疊的5比特二進位串的序列。核苷酸編碼步驟包括將每個5比特二進位串轉換成0至31範圍內的整數以獲得整數串,以及使用5比特轉碼框架轉換該整數串以獲得核苷酸序列組。核苷酸編碼步驟進一步包括將該整數串分成多個具有預定長度的初始整數子序列。核苷酸編碼步驟進一步包括添加索引資訊至多個初始整數子序列中的每一個以獲得多個具有索引的整數子序列。核苷酸編碼步驟進一步包括在添加索引資訊之後,添加冗餘數據至多個具有索引的整數子序列,從而獲得多個具有冗餘的整數子序列。添加冗餘數據至多個具有索引的整數子序列包括:創建空矩陣,其中空矩陣中的 列數大於多個具有索引的整數子序列的大小,且其中空矩陣中的行數大於在多個具有索引的整數子序列中的每一個中的整數的個數;用多個具有索引的整數子序列和通過應用錯誤校正編碼生成的資料填充空矩陣;以及基於被填充的矩陣獲得多個具有冗餘的(整數)子序列。
在一些實施型態中,空矩陣的列數基於所選擇的合成平台的寡聚物長度、錯誤校正碼的類型、預定的容錯度值、多個具有索引的整數子序列的大小或其組合確定。
在一些實施型態中,空矩陣的行數基於所選擇的合成平台的寡聚物長度、錯誤校正碼的類型、預定的容錯度值、多個具有索引的整數子序列的大小或其組合確定。
在一些實施型態中,錯誤校正編碼是里德-所羅門(「RS」)編碼。
在一些實施型態中,提供一種用於將輸入資料轉換成核苷酸序列組的電腦實現方法,該方法包括:i)資料處理步驟,包括將輸入資料轉換成二進位串;以及ii)核苷酸編碼步驟,包括使用5比特轉碼框架轉換該二進位串以獲得核苷酸序列組。資料處理步驟包括將二進位串分成非重疊的5比特二進位串的序列。核苷酸編碼步驟包括將每個5比特二進位串轉換成0至31範圍內的整數以獲得整數串,以及使用5比特轉碼框架轉換該整數串以獲得核苷酸序列組。核苷酸編碼步驟進一步包括將該整數串分成多個具有預定長度的初始整數子序列。核苷酸編碼步驟進一步包括添加索引資訊至多個初始整數子序列中的每一個以獲得多個具有索引的整數子序列。核苷酸編碼步驟進一步包括在添加索引資訊之後,添加冗餘數據至多 個具有索引的整數子序列,從而獲得多個具有冗餘的整數子序列。添加冗餘數據至多個具有索引的整數子序列包括:創建空矩陣,其中空矩陣中的列數大於多個具有索引的整數子序列的大小,且其中空矩陣中的行數大於在多個具有索引的整數子序列中的每一個中的整數的個數;用多個具有索引的整數子序列和通過應用錯誤校正編碼生成的資料填充空矩陣;以及基於被填充的矩陣獲得多個具有冗餘的整數子序列。通過應用錯誤校正編碼生成的資料是通過應用RS編碼的串校正和/或RS編碼的塊校正來生成的。
在一些實施型態中,提供一種用於將輸入資料轉換成核苷酸序列組的電腦實現方法,該方法包括:i)將輸入資料轉換成二進位串;ii)將二進位串分成非重疊的5比特二進位串的序列;iii)將每個5比特二進位串轉換成0至31範圍內的整數以獲得整數串以及使用5比特轉碼框架轉換該整數串;iv)將該整數串分成多個具有預定長度的初始整數子序列;v)添加索引資訊至多個初始整數子序列中的每一個以獲得多個具有索引的整數子序列;vi)在添加索引資訊之後,添加冗餘數據至多個具有索引的整數子序列,從而獲得多個具有冗餘的整數子序列,從而獲得核苷酸序列組。
在一些實施型態中,提供一種用於在核酸上儲存輸入資料的方法,該方法包括:i)將輸入資料轉換成二進位串;ii)將二進位串分成非重疊的5比特二進位串的序列;iii)將每個5比特二進位串轉換成0至31範圍內的整數以獲得整數串以及使用5比特轉碼框架轉換該整數串;iv)將該整數串分成多個具有預定長度的初始整數子序列;v)添加索引資訊至多個初始整數子序列中的每一個以獲得多個具有索引的整數子序列;vi)在 添加索引資訊之後,添加冗餘數據至多個具有索引的整數子序列,從而獲得多個具有冗餘的整數子序列,從而獲得核苷酸序列組;以及vii)合成包括該核苷酸序列組的核酸組。
在一些實施型態中,提供一種用於將輸入資料轉換成核苷酸序列組的電腦實現方法,該方法包括:i)將輸入資料轉換成二進位串;ii)將二進位串分成非重疊的5比特二進位串的序列;iii)將每個5比特二進位串轉換成0至31範圍內的整數以獲得整數串以及使用5比特轉碼框架轉換該整數串;iv)將該整數串分成多個具有預定長度的初始整數子序列;v)添加索引資訊至多個初始整數子序列中的每一個以獲得多個具有索引的整數子序列;vi)創建空矩陣,其中空矩陣中的列數大於多個具有索引的整數子序列的大小,且其中空矩陣中的行數大於在多個具有索引的整數子序列中的每一個中的整數的個數;vii)用多個具有索引的整數子序列和通過應用錯誤校正編碼生成的資料填充空矩陣(例如,通過應用RS編碼的串校正和/或RS編碼的塊校正);以及viii)基於被填充的矩陣獲得多個具有冗餘的整數子序列,從而獲得核苷酸序列組。
在一些實施型態中,提供一種用於在核酸上儲存輸入資料的方法,該方法包括:i)將輸入資料轉換成二進位串;ii)將二進位串分成非重疊的5比特二進位串的序列;iii)將每個5比特二進位串轉換成0至31範圍內的整數以獲得整數串以及使用5比特轉碼框架轉換該整數串;iv)將該整數串分成多個具有預定長度的初始整數子序列;v)添加索引資訊至多個初始整數子序列中的每一個以獲得多個具有索引的整數子序列;vi)創建空矩陣,其中空矩陣中的列數大於多個具有索引的整數子序列的大小, 且其中空矩陣中的行數大於在多個具有索引的整數子序列中的每一個中的整數的個數;vii)用多個具有索引的整數子序列和通過應用錯誤校正編碼生成的資料填充空矩陣(例如,通過應用RS編碼的串校正和/或RS編碼的塊校正);以及viii)基於被填充的矩陣獲得多個具有冗餘的整數子序列,從而獲得前述核苷酸序列組;以及xi)合成包括該核苷酸序列組的核酸組。
在一些實施型態中,提供一種用於取回儲存在核酸上的輸出資料的方法,該方法包括:i)獲得核酸組的核苷酸序列組,ii)將該核苷酸序列組轉換成包括0-31範圍內的整數的多個整數子序列;iii)將該核苷酸序列組轉換成二進位串;以及iv)將該二進位串轉換成輸出資料,從而獲得前述輸出資料。
在一些實施型態中,提供一種用於取回儲存在核酸上的輸出資料的方法,該方法包括:i)測序核酸組以生成多個序列讀數;ii)配對、合併和/或過濾以獲得核苷酸序列組;iii)將該核苷酸序列組轉換成包括0-31範圍內的整數的多個整數子序列;iv)將錯誤校正編碼應用於前述多個整數子序列,從而獲得多個具有索引的整數子序列;v)將前述具有索引的多個整數子序列轉換成二進位串;以及vi)將該二進位串轉換成輸出資料,從而獲得前述輸出資料。
在一些實施型態中,提供一種用於取回儲存在核酸上的輸出資料的方法,該方法包括:i)測序核酸組以生成多個序列讀數;ii)配對、合併和/或過濾以獲得核苷酸序列組;iii)將該核苷酸序列組轉換成包括0-31範圍內的整數的多個整數子序列;iv)將RS編碼串校正應用於前述 多個整數子序列以獲得多個一致整數子序列;v)將RS編碼塊校正應用於前述多個一致的整數子序列以獲得多個具有索引的整數子序列;vi)將前述具有索引的多個整數子序列轉換成二進位串;以及vii)將該二進位串轉換成輸出資料,從而獲得前述輸出資料。
在一些實施型態中,提供一種用於取回儲存在核酸上的輸出資料的方法,該方法包括:i)測序核酸組以生成多個序列讀數;ii)配對、合併和/或過濾以獲得核苷酸序列組;iii)將該核苷酸序列組轉換成包括0-31範圍內的整數的多個整數子序列;iv)將RS編碼串校正應用於前述多個整數子序列以獲得多個一致的整數子序列;v)將RS編碼塊校正應用於前述多個一致的整數子序列以獲得多個具有索引的整數子序列;vi)從前述多個具有索引的整數子序列中去除索引以獲得多個核心整數子序列;vii)將前述核心整數子序列合併為整數串;viii)將前述整數串轉換成二進位串;以及ix)將該二進位串轉換成輸出資料,從而獲得前述輸出資料。
在一些實施型態中,提供一種用於將輸入資料轉換成核苷酸序列組的電腦實現方法,該方法包括:i)資料處理步驟,包括將輸入資料轉換成二進位串;以及ii)核苷酸編碼步驟,包括使用5比特轉碼框架轉換該二進位串以獲得核苷酸序列組。前述5比特轉碼框架以表2為依據。
在一些實施型態中,提供一種用於將輸入資料轉換成核苷酸序列組的電腦實現方法,該方法包括:i)資料處理步驟,包括將輸入資料轉換成二進位串;以及ii)核苷酸編碼步驟,包括使用5比特轉碼框架轉換該二進位串以獲得核苷酸序列組。前述5比特轉碼框架以表2為依據。R和Y的選擇是基於:1)與緊鄰R或Y前面的核苷酸不同;以及和/或2)核苷 酸序列的估算GC含量。
在一些實施型態中,提供一種用於將輸入資料轉換成核苷酸序列組的電腦實現方法,該方法包括:i)資料處理步驟,包括將輸入資料轉換成二進位串;以及ii)核苷酸編碼步驟,包括使用5比特轉碼框架轉換該二進位串以獲得核苷酸序列組。輸入資料對應於壓縮檔。壓縮檔是使用朗佩爾-齊科-瑪律可夫鏈演算法(Lempel-Zic-Markov chain algorithm)(「LZMA」)進行壓縮的。
在一些實施型態中,提供一種用於將輸入資料轉換成核苷酸序列組的電腦實現方法,該方法包括:i)資料處理步驟,包括將輸入資料轉換成二進位串;以及ii)核苷酸編碼步驟,包括使用5比特轉碼框架轉換該二進位串以獲得核苷酸序列組。輸入資料對應於兩個或更多個檔。資料處理步驟進一步包括:將兩個或更多個檔歸組為TAR檔。使用朗佩爾-齊科-瑪律可夫鏈演算法(Lempel-Zic-Markov chain algorithm)(「LZMA」)將TAR檔進一步壓縮。
在一些實施型態中,提供一種用於將輸入資料轉換成核苷酸序列組的電腦實現方法,該方法包括:i)資料處理步驟,包括將輸入資料轉換成二進位串;以及ii)核苷酸編碼步驟,包括使用5比特轉碼框架轉換該二進位串以獲得核苷酸序列組。核苷酸編碼步驟進一步包括將引物序列對附加至前述核苷酸序列組的每個核苷酸序列的5’和3’末端。
在一些實施型態中,提供一種用於在核酸上儲存輸入資料的方法包括a)將前述輸入資料轉換成核苷酸序列組,其中前述轉換包括i)資料處理步驟,包括將輸入資料轉換成二進位串;ii)核苷酸編碼步驟,包 括使用5比特轉碼框架轉換二進位串以獲得核苷酸序列組;以及b)合成包括該核苷酸序列組的核酸組。該方法進一步包括附接引物對至前述合成核酸組。
在一些實施型態中,提供一種在核酸上儲存兩組或更多組輸入資料的方法,該方法包括:a)根據本發明所記載之任何一種方法,將兩組或更多組輸入資料分別轉換成兩組或更多組相應的核苷酸序列;b)分別將引物序列對附加至兩組或更多組相應的核苷酸序列中的每一組的5’和3’末端,其中前述兩組或更多組相應的核苷酸序列的引物對彼此不同;以及c)分別合成包括前述兩組或更多組相應的核苷酸序列的兩組或更多組核酸。
在一些實施型態中,提供一種在核酸上儲存兩組或更多組輸入資料的方法,該方法包括:a)根據本發明所記載之任何一種方法,將兩組或更多組輸入資料分別轉換成兩組或更多組相應的核苷酸序列;b)分別將引物序列對附加至兩組或更多組相應的核苷酸序列中的每一組的5’和3’末端,其中前述兩組或更多組相應的核苷酸序列的引物對彼此不同;以及c)分別合成包括前述兩組或更多組相應的核苷酸序列的兩組或更多組核酸。其中每對引物具有的序列不同於兩組或更多組相應的核苷酸序列或其互補序列中的任何一個。
在一些實施型態中,合成核酸組的GC含量範圍為30%至70%。
在一些實施型態中,提供一種用於在核酸上儲存輸入資料的方法,該方法包括a)將前述輸入資料轉換成核苷酸序列組,其中前述轉 換包括i)資料處理步驟,包括將輸入資料轉換成二進位串;ii)核苷酸編碼步驟,包括使用5比特轉碼框架轉換二進位串以獲得核苷酸序列組;以及b)合成包括前述核苷酸序列組的核酸組。該方法進一步包括儲存前述合成核酸組。
在一些實施型態中,前述合成核酸組通過乾燥儲存。在一些實施型態中,前述合成核酸組通過凍乾法儲存。
在一些實施型態中,將合成核酸組固定在載體上,其可為微陣列。
在一些實施型態中,提供一種用於取回儲存在核酸上的輸出資料的方法,該方法包括:a)獲得核酸組的核苷酸序列組,b)將該核苷酸序列組轉換成輸出資料,其中前述轉換包括:i)核苷酸解碼步驟,包括使用5比特轉碼框架將該核苷酸序列組轉換成二進位串;以及ii)資料處理步驟,包括將該二進位串轉換成輸出資料,從而獲得前述輸出資料。該方法包括在取回輸出資料之前擴增前述核酸組。
在一些實施型態中,提供一種用於取回儲存在核酸上的輸出資料的方法,該方法包括:a)獲得核酸組的核苷酸序列組,b)將該核苷酸序列組轉換成輸出資料,其中前述轉換包括:i)核苷酸解碼步驟,包括使用5比特轉碼框架將該核苷酸序列組轉換成二進位串;以及ii)資料處理步驟,包括將該二進位串轉換成輸出資料,從而獲得前述輸出資料。該方法進一步包括測序前述核酸組以生成多個序列讀數。將多個序列讀數配對、合併和過濾以獲得前述核苷酸序列組。
在一些實施型態中,提供一種用於將核苷酸序列組轉換成 輸出資料的電腦實現方法,該方法包括:i)核苷酸解碼步驟,包括使用5比特轉碼框架將該核苷酸序列組轉換成二進位串;以及ii)資料處理步驟,包括將該二進位串轉換成輸出資料。核苷酸解碼步驟將該核苷酸序列組轉換成包括0-31範圍內的整數的多個整數子序列。
在一些實施型態中,提供一種用於將核苷酸序列組轉換成輸出資料的電腦實現方法,該方法包括:i)核苷酸解碼步驟,包括使用5比特轉碼框架將該核苷酸序列組轉換成二進位串;以及ii)資料處理步驟,包括將該二進位串轉換成輸出資料。核苷酸解碼步驟將該核苷酸序列組轉換成包括0-31範圍內的整數的多個整數子序列。核苷酸解碼步驟進一步包括將錯誤校正編碼應用於前述多個整數子序列,從而獲得多個具有索引的整數子序列。
在一些實施型態中,提供一種用於將核苷酸序列組轉換成輸出資料的電腦實現方法,該方法包括:i)核苷酸解碼步驟,包括使用5比特轉碼框架將該核苷酸序列組轉換成二進位串;以及ii)資料處理步驟,包括將該二進位串轉換成輸出資料。核苷酸解碼步驟將該核苷酸序列組轉換成包括0-31範圍內的整數的多個整數子序列。核苷酸解碼步驟進一步包括將錯誤校正編碼應用於前述多個整數子序列,從而獲得多個具有索引的整數子序列。應用錯誤校正編碼的步驟包括:i)將RS編碼串校正應用於前述多個整數子序列以獲得多個一致整數子序列;以及ii)將RS編碼塊校正應用於前述多個一致整數子序列以獲得多個具有索引的整數子序列。
在一些實施型態中,提供一種用於將核苷酸序列組轉換成輸出資料的電腦實現方法,該方法包括:i)核苷酸解碼步驟,包括使用5 比特轉碼框架將該核苷酸序列組轉換成二進位串;以及ii)資料處理步驟,包括將該二進位串轉換成輸出資料。核苷酸解碼步驟將該核苷酸序列組轉換成包括0-31範圍內的整數的多個整數子序列。核苷酸解碼步驟進一步包括將錯誤校正編碼應用於前述多個整數子序列,從而獲得多個具有索引的整數子序列。核苷酸解碼步驟進一步包括從前述多個具有索引的整數子序列中去除索引以獲得多個核心整數子序列。
在一些實施型態中,提供一種用於將核苷酸序列組轉換成輸出資料的電腦實現方法,該方法包括:i)核苷酸解碼步驟,包括使用5比特轉碼框架將該核苷酸序列組轉換成二進位串;以及ii)資料處理步驟,包括將該二進位串轉換成輸出資料。將輸出資料儲存在壓縮檔中。資料處理步驟進一步包括例如藉由通過LZMA演算法解壓壓縮檔。
在一些實施型態中,提供一種用於將核苷酸序列組轉換成輸出資料的電腦實現方法,該方法包括:i)核苷酸解碼步驟,包括使用5比特轉碼框架將該核苷酸序列組轉換成二進位串;以及ii)資料處理步驟,包括將該二進位串轉換成輸出資料。輸出資料對應於多個檔。該方法進一步包括通過TAR演算法從輸出資料中提取前述多個檔。
在一些實施型態中,提供一種用於將核苷酸序列組轉換成輸出資料的電腦實現方法,該方法包括:i)核苷酸解碼步驟,包括使用5比特轉碼框架將該核苷酸序列組轉換成二進位串;以及ii)資料處理步驟,包括將該二進位串轉換成輸出資料。核苷酸解碼步驟將該核苷酸序列組轉換成包括0-31範圍內的整數的多個整數子序列。核苷酸解碼步驟進一步包括將錯誤校正編碼應用於前述多個整數子序列,從而獲得多個具有索引的 整數子序列。核苷酸解碼步驟進一步包括從前述多個具有索引的整數子序列中去除索引以獲得多個核心整數子序列。核苷酸解碼步驟進一步包括將核心整數子序列合併為整數串以及將前述整數串轉換成二進位串。
在一些實施型態中,提供一種用於將核苷酸序列組轉換成輸出資料的電腦實現方法,該方法包括:i)核苷酸解碼步驟,包括使用5比特轉碼框架將該核苷酸序列組轉換成二進位串;以及ii)資料處理步驟,包括將該二進位串轉換成輸出資料。前述5比特轉碼框架以表2為依據。
在一些實施型態中,提供一種用於將核苷酸序列組轉換成輸出資料的電腦實現方法,該方法包括:i)核苷酸解碼步驟,包括使用5比特轉碼框架將該核苷酸序列組轉換成二進位串;以及ii)資料處理步驟,包括將該二進位串轉換成輸出資料。前述核酸組包括位於5’和3’末端的引物序列且該方法包括在核苷酸解碼步驟之前去除前述引物序列。
在一些實施型態中,提供一種用於基於DNA的資料儲存的電腦可行的方法,該方法包括:將數字化檔轉換成二進位串;使用5比特轉碼框架轉換前述二進位串以獲得整數串;從前述整數串中獲得多個整數子序列;以及將前述多個整數子序列轉換成多個DNA寡聚物的表現形式用於合成DNA。
在一些實施型態中,使用5比特轉碼框架轉換前述二進位串以獲得整數串包括:將二進位串分成非重疊的5比特二進位串的序列;將每個5比特二進位串轉換成0至31範圍內的整數以獲得整數串。在一些實施型態中,將前述整數串進一步分成多個具有預定長度的初始整數子序列。 在一些實施型態中,獲得待轉換的多個整數子序列包括:將索引資訊添加至初始多個整數子序列中的每個子序列;在添加索引資訊之後,添加冗餘數據至初始多個整數子序列以獲得多個整數子序列。在一些實施型態中,添加至每個初始多個子序列的索引資訊包括整數串,且其中對應於索引資訊的整數串的長度以數字化檔的大小為基礎。
在一些實施型態中,前述方法包括添加冗餘數據至多個整數子序列,其可以包括,例如,獲得初始多個整數子序列的子集;選擇空矩陣,其中空矩陣中的列數大於子集中子序列的數量,且其中空矩陣中的行數大於子集的每個子序列中的整數的個數;用初始多個整數子序列的子集和對應於錯誤校正碼的資料填充空矩陣;以及基於被填充的矩陣獲得多個整數子序列。在一些實施型態中,空矩陣的列數基於錯誤校正碼的類型、預定的容錯度值,子集的大小或其組合來選擇。在一些實施型態中,空矩陣的行數基於錯誤校正碼的類型、預定的容錯度值、子集的大小或其組合來選擇。
在一些實施型態中,錯誤校正碼是里德-所羅門(「RS」)碼。在一些實施型態中,將多個整數子序列轉換成多個DNA寡聚物的表現形式包括將前述多個整數子序列的整數轉換成三個核苷酸的表現形式,其中:這三個核苷酸的第一個選自A、T、G和C,這三個核苷酸的第二個選自A、T、G和C,且這三個核苷酸的第三個選自兩種選擇之一。
在一些實施型態中,數字化檔是對應於由一個或更多個檔或目錄構成的組的壓縮檔。在一些實施型態中,數字化檔包括使用朗佩爾-齊科-瑪律可夫鏈演算法壓縮的對應於由一個或更多個檔或目錄構成的組的 LZMA檔。
在根據上述任何一個實施型態的一些實施型態中,其中前述方法進一步包括:添加表示引物對的資料至多個DNA寡聚物的表現形式的每個寡聚物表現形式;以及在添加表示引物對的資訊之後,從而基於多個DNA寡聚物的表現形式進行DNA合成。
在一些實施型態中,前述方法進一步包括:獲得第二數字化檔;基於第二數字化檔獲得第二多個DNA寡聚物的表現形式;添加表示第二引物對的資料至第二多個DNA寡聚物的表現形式的每個寡聚物表現形式,其中第二引物對與第一引物對不同;以及基於多個DNA寡聚物的表現形式和第二多個DNA寡聚物的表現形式進行DNA合成。
在一些實施型態中,提供一種用於基於DNA的資料取回的電腦可行的方法,該方法包括:獲得多個對應於數字化檔的讀數;基於前述多個讀數,獲得多個整數子序列;將前述多個整數子序列轉換成整數串;使用5比特框架將前述整數串轉換成二進位串;以及基於二進位串獲得數字化檔。在一些實施型態中,獲得多個對應於前述數字化檔的讀數包括:識別與數字化檔預關聯的引物。在一些實施型態中,獲得多個整數子序列包括進行基於多個讀數的基於頻率的錯誤校正。在一些實施型態中,使用5比特轉碼框架將整數串轉換成二進位串包括:將整數串的每個整數轉換成5比特二進位數字。
在一些實施型態中,提供一種儲存一個或更多個程式的非暫時性電腦可讀儲存介質,前述一個或更多個程式包括指令,當其由電子裝置的一個或更多個處理器執行時,使電子裝置:將數字化檔轉換成二進 位串;使用5比特轉碼框架轉換前述二進位串以獲得整數串;從前述整數串中獲得多個整數子序列;以及將前述多個整數子序列轉換成多個DNA寡聚物的表現形式用於DNA合成。
在一些實施型態中,提供一種用於提供基於DNA的資料儲存的系統,前述系統包括:一個或更多個處理器;記憶體;和一個或更多個程式,其中前述一個或多個程式儲存在記憶體中且被配置為由一個或多個處理器執行,前述一個或更多個程式包括:用於將數字化檔轉換成二進位串的指令;用於使用5比特編碼框架轉換前述二進位串以獲得整數串的指令;用於從前述整數串中獲得多個整數子序列的指令;以及用於將前述多個整數子序列轉換成多個DNA寡聚物的表現形式的指令。
在一些實施型態中,提供一種儲存一個或更多個程式的非暫時性電腦可讀儲存介質,前述一個或更多個程式包括指令,當其由電子裝置的一個或更多個處理器執行時,使電子設備獲得多個對應於數字化檔的讀數;基於前述多個讀數,獲得多個整數子序列;將前述多個整數子序列轉換成整數串;使用5比特框架將前述整數串轉換成二進位串;以及基於前述二進位串獲得數字化檔。
在一些實施型態中,提供一種用於提供基於DNA的資料儲存的系統,前述系統包括:一個或更多個處理器;記憶體;和一個或更多個程式,其中前述一個或多個程式儲存在記憶體中且被配置為由前述一個或多個處理器執行,前述一個或更多個程式包括:用於獲得多個對應於數字化檔的讀數的指令;用於基於前述多個讀數獲得多個整數子序列的指令;用於將前述多個整數子序列轉換成整數串的指令;用於使用5比特框 架將前述整數串轉換成二進位串的指令;以及用於基於前述二進位串獲得數字化檔的指令。
根據示例性實現方法,前述方法的不同步驟通過一個或更多個電腦軟體程式實現,此軟體程式包括設計為由根據本發明的繼電器模組的資料處理器執行的軟體指令以及設計為控制該方法的不同步驟的執行的軟體指令。
因此,本發明一方面亦關於易於由電腦或由資料處理器執行的程式,此程式包括命令以控制如上前述的方法的步驟的執行。
此方法可以以原始碼、目標代碼或在原始碼和目標代碼之間的代碼的形式,例如以部分編譯的形式或以任何其他所需形式,使用任何程式設計語言。
本發明亦關於一種可由資料處理器讀取並包括如上所述的程式的指令的資訊介質。
資訊介質可以是能夠儲存程式的任何實體或設備。例如,該介質可以包括諸如ROM(其代表「唯讀記憶體」)的存放裝置,例如CD-ROM(其代表「光碟唯讀記憶體」)或微電子電路ROM或磁記錄設備,例如軟碟或硬碟驅動器。
進一步地,資訊介質可以是通過無線電或其他方式的能傳送的載體,例如能通過電纜和光纜送達的電信號或光信號。該程式尤其可以是下載到網際網路類型的網路中。
作為選擇,資訊介質可以是包含前述程式的積體電路,該電路適於執行或用於執行所討論的方法。
根據一個實施型態,借助於軟體及/或硬體元件來實現本發明的實施型態。從這個觀點來看,術語「模組」在此文檔中可以對應於軟體元件和硬體元件或一組硬體和軟體元件。
軟體元件對應於一個或更多個電腦程式、一個或更多個程式的副程式或更通常地對應於程式或軟體程式的任何元素,其能夠根據下面針對所涉及的模組描述的內容實現一個功能或一組功能。一個如此的軟體元件通過物理實體(終端、伺服器等)的資料處理器執行且能夠存取該物理實體(記憶體、記錄介質、通信匯流排、輸入/輸出電子板、使用者介面等)的硬體資源。
相似地,硬體元件對應於能夠根據下面針對所涉及的模組描述的內容實現一個功能或一組功能的硬體單元的任何元素。它可以是可程式設計硬體元件或具有用於執行軟體的積體電路的元件,例如積體電路、智慧卡、記憶體卡、用於執行固件的電子板等。在變體中,硬體元件包括作為積體電路的處理器,例如中央處理單元及/或微處理器和/或專用積體電路(ASIC)及/或專用指令集處理器(ASIP)及/或圖形處理單元(GPU)及/或物理處理單元(PPU)及/或數字訊號處理器(DSP)及/或圖像處理器及/或輔助處理器及/或浮點單元及/或網路處理器及/或音訊處理器及/或多核處理器。此外,硬體元件還可包括基帶處理器(包括例如記憶體單元和固件)和/或接收或發送無線電信號的無線電電子電路(其可包括電線)。在一個實施型態中,硬體元件符合一個或多個標準,例如ISO/IEC 18092/ECMA-340、ISO/IEC 21481/ECMA-352、GSMA、StoLPaN、ETSI/SCP(智慧卡平台)、GlobalPlatform(即安全元件)。在一個變形例中, 硬體元件是射頻識別(RFID)標籤。在一個實施型態中,硬體元件包括實現藍牙通信及/或Wi-Fi通信及/或Zigbee通信及/或USB通信及/或火線通信和/或NFC(用於近場)通信的電路。
應當注意,獲得本發明中的元素/值的步驟可以被視為在電子設備的記憶體單元中讀取這種元素/值的步驟或者通過通信手段接收來自另一電子設備的這種元素/值的步驟。
示例性過程
圖1表示根據一些實施型態的用於提供基於DNA的資料儲存和取回的示例性過程。具體地,示例性步驟102-110涉及編碼數字資料用於儲存,且示例性步驟112-122涉及解碼儲存資訊用於取回。下文,參考圖2-5,進一步具體描述圖1中的示例性步驟。
1.編碼
在步驟102(「資料壓縮」)中,將一個或更多個檔及/或目錄打包到單個檔中,然後壓縮成壓縮檔。在一些實施例中,該檔及/或目錄被打包到TAR檔(例如,File.tar)中,然後使用朗佩爾-齊科-瑪律可夫鏈演算法(即LZMA演算法)將其壓縮成LZMA檔(例如,File.tar.lzma)。在一些實施例中,一個LZMA檔作為用於資料取回(例如,在解碼期間)的單個不可拆分的單元進行操作。因此,如果要將多個檔及目錄一起儲存但隨機且獨立地取回,則應將它們分組為多個TAR檔,並在此步驟壓縮為多個相應的LZMA檔。
在步驟104中,實施第一輪資料轉碼。首先,將每個LZMA 檔轉換為二進位串。作為實施例,參考圖2中,名為「File.tar.lzma」的檔被轉換為二進位串。然後將二進位字元串轉換為整數串B(「0;10;25;...;4;8;31」)。在所描繪的實施例中,使用5比特轉碼框架實現從二進位串到整數串B的轉換。如圖所示,二進位串被分成一系列非重疊的5比特二進位串,例如「00000」和「01010」。然後將每個5比特二進位串轉換為整數以形成整數串B。所屬技術領域之通常知識者應知悉,在該5比特轉碼框架下,整數字串中的每個整數範圍是從0(對應於「00000」)到31(對應於「11111」)。
如圖2所示,然後使用長度固定的滑動視窗將整數串B劃分為多個非重疊的整數子序列(例如,[A1,A2,...,An])。在圖2中描繪的實施例中,如圖2所描繪的,每個整數子序列(例如,A1)由22個整數組成。最後,將索引資訊附加到每個子序列的開頭以形成具有索引的新的多個整數子序列(例如,[B1,B2,...,Bn])。在所描繪的實施例中,索引資訊包括3個整數的序列,每個整數的範圍從0至31。索引序列的長度可以基於各種因素選擇,例如壓縮檔的大小和DNA合成的產量。
回到圖1,在步驟106中,多個具有索引的整數子序列(例如,如圖2中所示的[B1,B2,...,Bn])被進一步轉化為多個具有索引和冗餘的整數子序列(例如,如圖4所示的[C1,C2,...,Cm])。各種錯誤校正編碼演算法,例如里德-所羅門(RS)編碼、噴泉編碼(fountain coding)和漢明編碼(hamming coding),可用於將冗餘數據添加到要儲存的數字資料。在較佳的實施型態中,使用RS編碼是因為其魯棒性和易於實現。
圖3A-D顯示了用於向數字內容(例如,由多個整數子序列 [A1,A2,...,An]表示)添加索引和冗餘以獲得[C1,C2,...,Cm]的示例性過程。具體地,圖3A-D顯示了如何使用RS編碼處理前五個整數子序列(即A1、A2、A3、A4和A5)以形成[C1,C2,...,C31]。對於其餘的整數子序列(即,A6,...An),每五個連續整數子序列以與圖3A-D中所示的類似的方式作為一個單元處理。在此實施例中,經由29×31矩陣一起處理五個整數子序列,使得塊校正的同位(parity)為26(即,31-5=26),因此31中的13個(即,26/2=13)個寡聚物可能丟失,但能根據RS編碼的原理恢復。
參考圖3A,準備一個29×31的空矩陣,用來自[A1,A2,...,An]的前五個整數串A1、A2、A3、A4、A5填充此矩陣,顯示為佔據22×5的子矩陣。此區域為中心資料塊。
回到圖3B,將由三個0至31範圍內的整數組成的索引序列附加到每列的起始作為一個獨特的索引,該索引串可在附加之前儲存。如圖所示,該索引會以升序儲存或分配,例如0-0-0、0-0-1、0-0-2、……、0-0-31、0-1-31、……。在圖3B中,該編入索引的整數串分別標為B1、B2、B3、B4和B5。
參考圖3C,RS編碼用於逐行填充核心資料塊佔據的每一行的空白區域。此步驟被稱為「塊校正」並且有助於處理在合成、測序期間例如丟失的寡聚物和插入缺失(包括插入和缺失)以及長期儲存的變性。
回到圖3D,RS編碼用於逐列填充整個矩陣的每列的空白區域。該步驟被稱為「串校正」並且有助於校正例如在合成、測序和長期儲存期間引起的點突變。如圖3D所示,矩陣現在包括31個整數串[C1, C2,...,C31]。換言之,在塊校正和字串校正之後,前述5個整數子序列A1-A5被轉化為31個整數子序列C1-C31。此外,A1-A5中的每一個包含22個整數,而C1-C31中的每一個包含29個整數(包括3個額外的索引整數和4個用於錯誤校正的RS編碼的同位的額外整數)。應該理解的是,如圖3A-D所示的各種尺寸僅是示例性的。索引串的長度(圖3A-D中的3)、矩陣的大小(例如,圖3A-D中的29×31)以及要作為單元處理的整數串的數量(例如,圖3A-D中的5)可以基於多種因素選擇,例如所使用的錯誤編碼的類型、所需的容錯度和DNA合成平台的特徵。
如圖4所示,通過根據參考圖3A-D描述的技術的RS編碼的一輪串校正和RS編碼的一輪塊校正,將具有索引的多個整數子序列,[B1,B2,...,Bn],轉化為具有冗餘的多個整數子序列,[C1,C2,...,Cm],其中m大於n。此外,整數子序列[C1,C2,...,Cm]中的每個整數的範圍為0至31。
在圖3A-D中所描繪的實施例中。基於多個因素計算初始整數子序列諸如A1的長度(在所描繪的實施例中為22)。具體地,具有索引和冗餘的整數串的長度(在所描繪的實施例中表示為L,29)由合成平台的寡聚物長度計算。兩個字串(在所描繪的實施例中表示為X,4)的竒偶校驗和塊校正由寡聚物的合成誤差率、所使用的錯誤校正碼和所需的容錯率確定。索引長度(在所描繪的實施例中表示為Y,3)由總編碼資料大小確定。因此,初始整數串的長度(表示為Z)是Z=L-X-Y。
回到圖1,在步驟108中,實施第二輪轉碼以將具有冗餘的整數串(例如,[C1,C2,...,Cm])列表轉化為多個DNA寡聚物的表現形 式(例如,[D1,D2,...,Dm])。DNA寡聚物的每種表現形式含有用於合成的個鹼基A、T、G和C。特別是,「5比特轉碼框架」可以再次使用。此處,整數串[C1,C2,...,Cm]中的每個整數的範圍為0至31,因此可以唯一地映射到32種3核苷酸中的一種(例如,三聚體,包括NNY和NNR,其中N代表A、T、G、C;Y代表C和T;且R代表A和G)。例如,如圖5所示,整數6對應於5比特二進位串「00110」並且可以在特定策略下翻譯成「AGR」。在一些實施例中,5比特轉碼框架可以提供整數與DNA寡聚物的表現形式之間的直接轉換,而無需任何中間步驟(例如,首先將整數轉換為二進位串)。
因此,每個整數子序列中的29個整數中的每一個(例如,C1)可以被映射成3核苷酸。在轉換所有[C1,C2,...,Cm]之後,用C或T取代Y,而在DNA合成之前用A或G取代R時。這樣做是為了確保第3個鹼基與三聚體的第2個鹼基不同,並避免3個連續相同的鹼基(例如,AAA、GGG、TTT、CCC)。此外,通過Y和R的選擇,每種寡聚物的GC百分比應限制在30%至70%。取代步驟既減少了由寡聚物合成引起的誤差,又對於改善寡聚物合成的校正比率具有重要意義。
根據RS編碼的原理,可容忍的誤差可以包括,來自圖3A-D所示的示例性方案中的相同矩陣的每個寡聚物的兩個(即,字串校正的竒偶校驗,4的一半)突變以及31個寡聚物中的13個(即,塊校正的同位,26的一半)丟失的寡聚物(包括完全丟失的寡聚物和具有插入缺失的寡聚物)。
參考圖1,在步驟110中,附加引物對並進行DNA合成。在 一些實施例中,單個壓縮檔(例如,圖4的File.tar.lzma)被轉化為DNA寡聚物的多個表現形式(例如,圖4中的[D1,D2,...,Dn])。並且在對應於壓縮檔的每個寡聚物的兩個末端添加相同引物序列對的表現形式。對於要同時儲存和合成但需要在隨後的讀取和解碼期間隨機可存取的多個壓縮檔,選擇獨特的正交引物對用於每個壓縮檔並與其相關聯。例如,如果有3個壓縮檔要同時儲存和合成但需要在隨後的讀取和解碼期間隨機存取,則選擇3對獨特的正交引物分別與3個壓縮檔相關聯。對於每個壓縮檔,將所選引物對附加到對應於壓縮檔的多個寡聚物中每個寡聚物。然後,可以將對應於前述多個壓縮檔的所有寡聚物合並且同時一起合成為儲存介質。
為了選擇引物對,可以使用多種標準。例如,可以選擇引物對以避免同源二聚體、異源二聚體、髮夾結構並且具有足夠的特異性(例如,沒有針對編碼核酸序列的結合位點)。在一些實例中,使用多重PCR引物設計標準。
2.解碼
解碼程式基本上是編碼程式的逆過程。參考圖1,在步驟112中,使用引物對進行PCR以擴增相應壓縮檔(例如,圖4的File.tar)寡聚物列表(例如,圖4中的[D1,D2,...,Dn])。如果需要用單次運行的NGS讀取和解碼多個壓縮檔,則應使用所有相應的引物對通過PCR擴增所有其相應的寡聚物列表。此步驟也稱為「NGS庫製備」。
在步驟114中,(例如,通過Illumina測序系統)進行雙端下一代測序和讀數配對和合併。具體地,將來自相同簇的正向和反向讀數配對並合併成單個讀數,並且將過濾具有不規則長度的所有新讀數(例如, 具有插入缺失的讀數)。此外,根據引物序列,可以針對每個壓縮檔對所有讀數進行分組。在隨後的步驟中,對應於相同壓縮檔的讀數(即,共用相同引物的讀數)將被一起分析。
在步驟116中,進行反向RS編碼。在一些實施例中,會利用29乘31的零矩陣但非空矩陣。具體地,每個來自單個壓縮檔的讀數具有在兩個末端被移除的PCR引物,然後通過RS編碼的串校正將其轉換成整數子序列,目的是對突變進行錯誤校正。因為一種寡聚物在合成過程中可能具有許多分子拷貝且被多次測序,上述許多讀取可能源自一種寡聚物。由於在高通量合成和測序期間引起的錯誤,這些讀數可能發生變化,但正確的讀數應占主導地位。通過在整數子序列的每個位置處的基於最高頻率的校正,可校正共用相同索引的所有整數子序列並將其合併成一致整數子序列。例如,對於共用相同索引的一組讀數,其一致整數子序列的各個位置應該由在該位置最頻繁出現的整數確定。
在步驟118,整數串的清單可以通過RS編碼的塊校正來完全解碼,恢復丟失的寡聚物以及具有插入和刪除的寡聚物。由於一種寡聚物在合成過程中可能具有許多分子拷貝並且被多次測序,因此許多讀數可能代表一種寡聚物。由於在高通量合成和測序期間引起的錯誤,這些讀數可能發生變化,但是與原始設計的寡聚物良好匹配的正確讀數仍然具有計數優勢。通過在整數串的每個位置處的基於最高頻率的校正,可以校正共用相同索引的所有整數串並將其合併到字串校正和塊校正之間的一致整數串中。由於具有插入和刪除的寡聚物具有不規則的長度並且將在錯誤校正期間刪除,因此相應的資料完全等於資訊缺乏並且需要恢復。基於索引資 訊,矩陣的列在基於最高頻率的校正之後填充。
在步驟120中,進行轉碼。讀數通過索引儲存,然後從每個整數子序列中刪除索引。然後可以將所有整數子序列連接成單個整數字串,然後通過5比特轉碼框架將其轉移(transferred into)到二進位字元串中。
在步驟122中,進行解壓縮。具體地,系統將二進位串寫入壓縮檔,然後依次通過LZMA演算法和TAR演算法解壓壓縮檔。對於多個壓縮檔的隨機存取,應該獨立地為每個壓縮檔執行步驟116到122。池(pool)可以儲存多個壓縮檔。每個壓縮檔都有自己的PCR引物。在解碼期間,不必對整個池進行測序。相反,相應的PCR引物用於擴增某個壓縮檔的寡聚物,然後對擴增的寡聚物進行測序以解碼此相應的壓縮檔而不是整個池。
如上文所討論的,利用(leveraged)了5比特轉碼框架。具體地,來自二進位串的每5個連續的比特可以表示為0至31之間的整數以及之後的3個核苷酸[nt](即三聚體)。例如,DNA寡聚物由四個鹼基組成(例如,A、T、G和C),因此二聚體(即NN)應該有16種(例如AA、AT、AG、AC、TA、TT、TG、TC、GA、GT、GG、GC、CA、CT、CG和CC)。假設簡併鹼基R和Y在二聚體之後連接,三聚體(NNR/NNY)應該由32種組成,其也與0至31範圍內的32個整數良好地匹配並使二進位串良好地轉移到DNA序列中。在寡聚物合成過程中,是否選擇A或G來表示R以及是否選擇C或T來代替Y取決於它們前面的鹼基(即三聚體的第2個鹼基),實際上前述系統可以使得第2個和第3個鹼基不同,然後與此同時保持GC平 衡。鑒於此前提條件達到,將在候選鹼基之間隨機選擇精確鹼基。總之,該轉換框架的編碼潛力是1.67(即針對3nt為5比特)。
圖7示出了基於DNA的資料儲存和取回技術的示例性實現。在這裡,包含如圖6所示的中文字元的文字檔(資料大小:1.16kb)根據本發明所記載之過程經由DNA儲存。
在編碼期間,將文字檔壓縮成單個壓縮檔,然後使用403個具有87nt長度的寡聚物通過DNA儲存框架儲存。同時,為了模擬隨機存取,使用該壓縮檔的6個副本並選擇6對引物。將每對引物添加在403個寡聚物中的每一個的兩個末端。前述6對引物(每個20nt)是正交的,這意味著它們中的任意兩個具有足夠的漢明距離,並且與403個寡聚物中的任何一個具有較少的相似性。在此提交的ASCII文字檔中的序列表包括SEQ ID NO.1-SEQ ID NO.403和作為SEQ ID NO.404-415的引物對PP NO.1-PP NO.6。
然後進行寡聚物池的合成。使用CustomArray,Inc.開發的CustomArray平台合成總共2418(即403乘以6)個寡聚物。每種寡聚物為127nt,其包括總共40nt引物(每個末端20nt)。
然後進行PCR擴增和NGS。對所有壓縮檔副本進行6次PCR反應。在使用TruSeq DNA PCR-free HT文庫製備試劑盒(以板格式(plate format)的96個索引,96個樣品)和6個文庫索引製備6個樣品之後,由於寡聚物的127nt的長度,使用MiSeq試劑盒V3(150個循環)對合併(pooled)的樣品一起進行測序。NGS資料的Q30為94%(官方標準>85%),簇密度為1,301K/mm2(官方標準1200-1400K/mm2)。
最後,進行解碼。在對壓縮檔的每個副本進行獨立解碼之後,可以隨機地成功取回和解壓所有副本而沒有任何錯誤。
圖8呈現了可用於執行本發明的方法的一個或多個步驟的設備。標示為800的這種設備包括計算單元(例如,「中央處理單元」CPU),標示為801,以及一個或更多個記憶體單元(例如RAM(「隨機存取記憶體」)塊(其中中間結果可以是在執行電腦程式的指令期間暫時儲存),或除其他方面之外儲存電腦程式的ROM塊,或EEPROM(「電子抹除式可複寫唯讀記憶體」)塊或快閃記憶體塊),標示為802。電腦程式可由計算單元執行的指令構成。這樣的設備800還可以包括標示為803的專用單元,其構成輸入-輸出介面以允許設備800與其他設備通信。特別地,此專用單元803可以與天線連接(以便在沒有接觸的情況下進行通信),或者與序列埠連接(以進行通信「接觸」)。應該注意,這些單元可以通過例如匯流排一起交換資料。
在替代實施型態中,先前描述的方法的一些或所有步驟可以在可程式設計FPGA(「現場可程式設計閘陣列」(「Field Programmable Gate Array」))組件或ASIC(「專用積體電路」)元件中的硬體中實現。
在替代實施型態中,先前描述的方法的一些或所有步驟可以在包括記憶體單元和處理單元的電子設備(如圖8中所揭示)上執行。這種裝置800可以與高通量合成平台(例如CustomArray)以及DNA測序儀(例如MiSeq測序儀)組合使用。
圖9A描繪了用於在核酸上儲存輸入資料的示例性方法900。在塊902上,輸入資料被轉換成核苷酸序列組。在塊904上,輸入資 料被轉換成二進位串。在塊906上,使用5比特轉碼框架轉換該二進位串以獲得核苷酸序列組。在塊908上,合成包括該核苷酸序列組的核酸組。
圖9B描繪了用於取回儲存在核酸上的輸出資料的示例性方法950。在塊952上,獲得核酸組的核苷酸序列組。在塊954上,該核苷酸序列組被轉換成輸出資料。具體地,在塊956上,使用5比特轉碼框架將該核苷酸序列組轉換成二進位串。在塊958上,該二進位串被轉換為輸出資料。
儘管已經參考附圖充分描述了本發明和實施例,但應注意,各種變化和修改對於所屬技術領域之通常知識者而言是顯而易見的。這些變化和修改應被理解為包括在由申請專利範圍限定所揭露之內容及實施例的範圍內。
出於解釋的目的,已經參考具體實施型態描述了前述說明書。然而,以上說明性討論並非旨在窮舉或將本發明限制於所揭露的精確形式。鑒於上述教導,許多修改和變化都是可能的。所選擇和描述的實施例是為了最好地解釋技術的原理及其實際應用。因此,本所屬技術領域之通常知識者能夠最好地利用具有適合於預期的特定用途的各種修改的技術和各種實施型態。
此申請要求於2017年7月25日提交的中國專利申請No.201710611123.2的權益,其全部內容通過引用併入本發明用於全部目的。
以下提交在ASCII文字檔中的內容通過引用整體併入本發明:序列表的電腦可讀形式(CRF)(檔案名:申請號107127162序列表電子資料.TXT,記錄日期:2018年11月30日,大小:179KB)。
<110> 大陸商南京金斯瑞生物科技有限公司
<120> 以DNA為基礎之資料存取
<130> 75989-20003.40
<140> 107127162
<141> 2018-08-03
<150> CN201710611123.2
<151> 2018-07-25
<160> 415
<170> FastSEQ for Windows Version 4.0
<210> 1
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 2
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 3
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 4
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 5
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 6
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 7
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 8
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 9
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 10
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 11
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 12
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 13
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 14
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 15
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 16
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 17
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 18
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 19
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 20
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 21
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 22
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 23
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 24
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 25
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 26
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 27
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 28
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 29
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 30
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 31
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 32
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 33
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 34
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 35
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 36
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 37
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 38
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 39
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 40
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 41
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 42
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 43
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 44
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 45
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 46
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 47
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 48
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 49
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 50
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 51
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 52
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 53
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 54
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 55
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 56
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 57
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 58
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 59
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 60
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 61
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 62
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 63
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 64
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 65
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 66
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 67
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 68
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 69
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 70
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 71
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 72
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 73
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 74
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 75
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 76
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 77
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 78
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 79
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 80
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 81
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 82
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 83
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 84
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 85
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 86
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 87
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 88
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 89
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 90
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 91
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 92
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 93
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 94
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 95
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 96
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 97
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 98
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 99
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 100
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 101
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 102
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 103
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 104
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 105
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 106
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 107
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 108
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 109
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 110
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 111
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 112
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 113
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 114
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 115
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 116
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 117
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 118
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 119
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 120
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 121
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 122
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 123
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 124
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 125
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 126
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 127
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 128
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 129
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 130
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 131
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 132
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 133
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 134
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 135
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 136
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 137
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 138
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 139
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 140
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 141
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 142
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 143
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 144
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 145
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 146
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 147
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 148
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 149
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 150
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 151
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 152
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 153
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 154
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 155
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 156
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 157
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 158
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 159
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 160
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 161
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 162
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 163
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 164
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 165
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 166
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 167
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 168
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 169
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 170
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 171
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 172
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 173
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 174
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 175
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 176
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 177
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 178
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 179
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 180
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 181
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 182
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 183
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 184
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 185
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 186
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 187
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 188
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 189
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 190
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 191
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 192
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 193
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 194
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 195
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 196
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 197
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 198
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 199
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 200
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 201
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 202
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 203
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 204
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 205
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 206
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 207
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 208
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 209
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 210
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 211
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 212
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 213
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 214
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 215
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 216
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 217
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 218
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 219
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 220
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 221
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 222
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 223
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 224
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 225
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 226
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 227
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 228
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 229
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 230
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 231
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 232
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 233
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 234
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 235
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 236
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 237
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 238
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 239
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 240
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 241
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 242
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 243
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 244
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 245
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 246
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 247
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 248
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 249
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 250
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 251
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 252
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 253
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 254
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 255
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 256
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 257
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 258
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 259
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 260
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 261
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 262
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 263
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 264
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 265
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 266
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 267
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 268
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 269
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 270
<211> 87
<212> DNA
<213> 人工序列
<220>
<222> 合成構建體
<210> 271
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 272
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 273
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 274
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 275
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 276
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 277
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 278
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 279
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 280
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 281
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 282
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 283
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 284
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 285
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 286
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 287
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 288
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 289
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 290
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 291
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 292
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 293
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 294
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 295
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 296
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 297
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 298
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 299
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 300
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 301
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 302
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 303
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 304
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 305
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 306
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 307
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 308
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 309
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 310
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 311
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 312
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 313
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 314
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 315
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 316
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 317
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 318
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 319
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 320
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 321
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 322
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 323
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 324
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 325
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 326
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 327
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 328
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 329
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 330
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 331
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 332
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 333
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 334
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 335
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 336
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 337
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 338
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 339
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 340
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 341
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 342
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 343
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 344
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 345
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 346
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 347
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 348
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 349
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 350
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 351
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 352
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 353
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 354
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 355
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 356
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 357
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 358
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 359
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 360
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 361
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 362
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 363
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 364
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 365
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 366
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 367
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 368
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 369
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 370
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 371
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 372
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 373
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 374
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 375
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 376
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 377
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 378
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 379
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 380
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 381
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 382
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 383
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 384
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 385
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 386
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 387
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 388
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 389
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 390
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 391
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 392
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 393
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 394
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 395
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 396
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 397
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 398
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 399
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 400
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 401
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 402
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 403
<211> 87
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 404
<211> 20
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 405
<211> 20
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 406
<211> 20
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 407
<211> 20
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 408
<211> 20
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 409
<211> 20
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 410
<211> 20
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 411
<211> 20
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 412
<211> 20
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 413
<211> 20
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 414
<211> 20
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
<210> 415
<211> 20
<212> DNA
<213> 人工序列
<220>
<223> 合成構建體
Claims (58)
- 一種用於在核酸上儲存輸入資料的方法,其特徵係包括:a)將前述輸入資料轉換成核苷酸序列組,其中前述轉換包括i)資料處理步驟,其包括將前述輸入資料轉換成二進位串;ii)核苷酸編碼步驟,其包括使用5比特轉碼框架轉換前述二進位串以獲得前述核苷酸序列組;以及b)合成包括前述核苷酸序列組的核酸組。
- 一種用於將輸入資料轉換成核苷酸序列組的電腦實現方法,其特徵係包括:i)資料處理步驟,其包括將前述輸入資料轉換成二進位串;ii)核苷酸編碼步驟,其包括使用5比特轉碼框架轉換前述二進位串以獲得核苷酸序列組。
- 如申請專利範圍第1或2項所記載之方法,其中,前述資料處理步驟包括將前述二進位串分成非重疊的5比特二進位串的序列。
- 如申請專利範圍第3項所記載之方法,其中,前述核苷酸編碼步驟包括將每個5比特二進位串轉換成0至31範圍內的整數以獲得整數串。
- 如申請專利範圍第4項所記載之方法,其中,前述核苷酸編碼步驟進一步包括用前述5比特轉碼框架轉換前述整數串以獲得前述核苷酸序列組。
- 如申請專利範圍第4項所記載之方法,其中,前述核苷酸編碼步驟進一步包括將前述整數串分成多個具有預定長度的初始整數子序列。
- 如申請專利範圍第6項所記載之方法,其中,前述多個初始整數子序列中的每一個的長度基於所選擇的合成平台的寡聚物長度、所需的容錯度、 前述輸入資料的大小、所選擇的錯誤校正碼或其組合來確定。
- 如申請專利範圍第6或7項所記載之方法,其中,前述核苷酸編碼步驟進一步包括添加索引資訊至前述多個初始整數子序列中的每一個以獲得多個具有索引的整數子序列。
- 如申請專利範圍第8項所記載之方法,其中,添加至前述多個初始整數子序列中的每一個的前述索引資訊包括整數序列,其中前述整數序列的長度基於前述輸入資料的大小。
- 如申請專利範圍第8或9項所記載之方法,其中,前述核苷酸編碼步驟包括,在添加前述索引資訊之後,添加冗餘數據至前述多個具有索引的整數子序列,從而獲得多個具有冗餘的整數子序列。
- 如申請專利範圍第10項所記載之方法,其中,添加冗餘數據至前述多個具有索引的整數子序列包括:創建空矩陣,其中前述空矩陣中的列數大於前述多個具有索引的整數子序列的大小,且其中前述空矩陣中的行數大於在前述多個具有索引的整數子序列中每一個中的整數個數;用前述多個具有索引的整數子序列及透過應用錯誤校正編碼生成的資料填充前述空矩陣;以及基於被填充的矩陣獲得前述多個具有冗餘的整數子序列。
- 如申請專利範圍第11項所記載之方法,其中,前述空矩陣的列數基於所選擇的合成平台的寡聚物長度、錯誤校正碼的類型、預定的容錯度值、前述多個具有索引的整數子序列的大小或其組合來確定。
- 如申請專利範圍第11或12項所記載之方法,其中,前述空矩陣的行數 基於所選擇的合成平台的寡聚物長度、錯誤校正碼的類型、預定的容錯度值、前述多個具有索引的整數子序列的大小或其組合來確定。
- 如申請專利範圍第11-13項中任一項所記載之方法,其中,前述錯誤校正編碼係里德-所羅門(「RS」)編碼。
- 如申請專利範圍第14項所記載之方法,其中,前述透過應用錯誤校正編碼生成的資料係透過應用前述RS編碼的串校正及/或前述RS編碼的塊校正來生成的。
- 如申請專利範圍第1-15項中任一項所記載之方法,其中,前述5比特轉碼框架以表2為依據。
- 如申請專利範圍第16項所記載之方法,其中,R及Y的選擇係基於:1)與緊鄰R或Y前面的核苷酸不同;及/或2)前述核苷酸序列的估算GC含量。
- 如申請專利範圍第1-17項中任一項所記載之方法,其中,前述輸入資料對應於壓縮檔。
- 如申請專利範圍第1-18項中任一項所記載之方法,其中,前述輸入資料對應於兩個或更多個檔。
- 如申請專利範圍第1-17或19項中任一項所記載之方法,其中,前述輸入資料對應於文字檔。
- 如申請專利範圍第1-20項中任一項所記載之方法,其中,前述資料處理步驟進一步包括壓縮前述輸入資料以獲得壓縮檔以及將前述壓縮檔轉換成二進位串。
- 如申請專利範圍第18或21項所記載之方法,其中,前述壓縮檔係使用朗佩爾-齊科-瑪律可夫鏈演算法(「LZMA」)進行壓縮的。
- 如申請專利範圍第19項所記載之方法,其中,前述資料處理步驟進一步包括:將兩個或更多個檔歸組為TAR檔。
- 如申請專利範圍第23項所記載之方法,其中,使用朗佩爾-齊科-瑪律可夫鏈演算法(「LZMA」)將前述TAR檔進一步壓縮。
- 如申請專利範圍第1-24項中任一項所記載之方法,其中,前述核苷酸編碼步驟進一步包括將引物序列對附加至前述核苷酸序列組的每個核苷酸序列的5’及3’末端。
- 如申請專利範圍第1項所記載之方法,其中,進一步包括附接引物對至合成核酸組。
- 一種在核酸上儲存兩組或更多組輸入資料的方法,其特徵係包括:a)如申請專利範圍第2-19項中任一項所記載之方法,將前述兩組或更多組輸入資料分別轉換成兩組或更多組相應的核苷酸序列;b)分別將引物序列對附加至前述兩組或更多組相應的核苷酸序列中的每一組的5’及3’末端,其中用於前述兩組或更多組相應的核苷酸序列的引物對彼此不同;以及c)合成分別包括前述兩組或更多組相應的核苷酸序列的兩組或更多組核酸。
- 如申請專利範圍第27項所記載之方法,其中,每對引物具有的序列不同於前述兩組或更多組相應的核苷酸序列或其互補序列中的任何一個。
- 如申請專利範圍第1或3-28項中任一項所記載之方法,其中,合成核酸組的GC含量範圍為30%至70%。
- 如申請專利範圍第1或3-29項中任一項所記載之方法,其中,合成核酸 組的GC含量範圍小於約70%。
- 如申請專利範圍第1項所記載之方法,其中,進一步包括儲存合成核酸組。
- 如申請專利範圍第31項所記載之方法,其中,前述合成核酸組透過乾燥儲存。
- 如申請專利範圍第32項所記載之方法,其中,前述合成核酸組透過凍乾法儲存。
- 如申請專利範圍第31項所記載之方法,其中,將前述合成核酸組固定在載體上。
- 如申請專利範圍第34項所記載之方法,其中,前述載體係微陣列。
- 一種用於取回儲存在核酸上的輸出資料的方法,其特徵係包括:a)獲得核酸組的核苷酸序列組,b)將前述核苷酸序列組轉換成前述輸出資料,其中前述轉換包括:i)核酸解碼步驟,包括使用5比特轉碼框架將前述核苷酸序列組轉換成二進位串;以及ii)資料處理步驟,包括將二進位串轉換成前述輸出資料,從而獲得前述輸出資料。
- 如申請專利範圍第36項所記載之方法,其中,前述方法包括在取回前述輸出資料之前擴增前述核酸組。
- 如申請專利範圍第36-37項中任一項所記載之方法,其中,進一步包括測序前述核酸組以生成多個序列讀數。
- 如申請專利範圍第38項所記載之方法,其中,將前述多個序列讀數配 對、合併及過濾以獲得前述核苷酸序列組。
- 一種用於將核苷酸序列組轉換成輸出資料的電腦實現方法,其特徵係包括:i)核苷酸解碼步驟,包括使用5比特轉碼框架將前述核苷酸序列組轉換成二進位串;以及ii)資料處理步驟,包括將二進位串轉換成前述輸出資料。
- 如申請專利範圍第36-40項中任一項所記載之方法,其中,前述核苷酸解碼步驟包括將前述核苷酸序列組轉換成包括0-31範圍內的整數的多個整數子序列。
- 如申請專利範圍第41項所記載之方法,其中,前述核苷酸解碼步驟進一步包括將錯誤校正編碼應用於前述多個整數子序列,從而獲得前述多個具有索引的整數子序列。
- 如申請專利範圍第42項所記載之方法,其中,前述應用錯誤校正編碼的步驟包括:i)將RS編碼串校正應用於前述多個整數子序列以獲得多個一致整數子序列;以及ii)將RS編碼塊校正應用於前述多個一致整數子序列以獲得前述多個具有索引的整數子序列。
- 如申請專利範圍第42或43項所記載之方法,其中,前述核苷酸解碼步驟進一步包括從前述多個具有索引的整數子序列中去除前述索引以獲得多個核心整數子序列。
- 如申請專利範圍第44項所記載之方法,其中,前述核苷酸解碼步驟進 一步包括將前述核心整數子序列合併為整數串。
- 如申請專利範圍第45項所記載之方法,其中,前述核苷酸解碼步驟進一步包括將前述整數串轉換成二進位串。
- 如申請專利範圍第46項所記載之方法,其中,將前述輸出資料儲存在壓縮檔中。
- 如申請專利範圍第47項所記載之方法,其中前述資料處理步驟進一步包括解壓前述壓縮檔。
- 如申請專利範圍第48項所記載之方法,其中,前述解壓透過LZMA演算法進行。
- 如申請專利範圍第46項所記載之方法,其中,前述輸出資料對應於多個檔。
- 如申請專利範圍第50項所記載之方法,其中,進一步包括透過TAR演算法從前述輸出資料中提取前述多個檔。
- 如申請專利範圍第36-51項中任一項所記載之方法,其中,前述5比特轉碼框架以表2為依據。
- 如申請專利範圍第36-53項中任一項所記載之方法,其中,前述核酸組包括位於3’及5’末端的引物序列且前述方法包括在前述核苷酸解碼步驟之前去除前述引物序列。
- 一種用於取回儲存在感興趣的核酸組上的輸出資料的方法,其特徵係,前述感興趣的核酸組係存在於混合物中的多組核苷酸序列中的一組,每一組編碼不同的輸出資料組且具有位於3’及5’末端的不同的引物對組,前述方法包括: a)使用對應於感興趣的核酸的引物對擴增前述核酸組;b)獲得擴增核酸的核苷酸序列組,c)如申請專利範圍第40-52項中任一項所記載之方法,將前述核苷酸序列組轉換成前述輸出資料;從而獲得前述輸出資料。
- 一種用於取回儲存在兩組或更多組感興趣的核酸上的相應的兩組或更多組輸出資料的方法,其特徵係,前述兩組或更多組感興趣的核酸係在存在於混合物中的多個核苷酸序列之中,每一組編碼不同的輸出資料組且具有位於3’及5’末端的不同的引物對組,前述方法包括:a)使用對應於前述兩組或更多組感興趣的核酸的引物對擴增前述兩組或更多組感興趣的核酸;b)獲得擴增核酸的兩組或更多組核苷酸序列,c)如申請專利範圍第40-52項中任一項所記載之方法,將前述兩組或更多組核苷酸序列分別轉換成前述兩組或更多組輸出資料;從而獲得前述兩組或更多組輸出資料。
- 一種儲存一個或更多個程式的非暫時性電腦可讀儲存介質,其特徵係,前述一個或更多個程式包括指令,當其由電子裝置的一個或更多個處理器執行時,使前述電子裝置實施如申請專利範圍第2-36或40-52項中任一項所記載之方法。
- 一種用於提供基於核酸的資料儲存或從核酸中取回資料的系統,其特徵係包括:一個或更多個處理器; 記憶體;及一個或更多個程式,其中前述一個或多個程式儲存在前述記憶體中且被配置為由前述一個或多個處理器執行,前述一個或更多個程式包括用於實施如申請專利範圍第2-36或40-52中任一項所記載之方法的指令。
- 一種用於提供基於核酸的資料儲存或從核酸中取回資料的電子裝置,其特徵係,前述裝置包括用於實施如申請專利範圍第2-36或40-52項中任一項所記載之方法的設備。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW107127162A TWI770247B (zh) | 2018-08-03 | 2018-08-03 | 核酸用於資料儲存之方法、及其非暫時性電腦可讀儲存介質、系統及電子裝置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW107127162A TWI770247B (zh) | 2018-08-03 | 2018-08-03 | 核酸用於資料儲存之方法、及其非暫時性電腦可讀儲存介質、系統及電子裝置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202008302A true TW202008302A (zh) | 2020-02-16 |
| TWI770247B TWI770247B (zh) | 2022-07-11 |
Family
ID=70413093
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW107127162A TWI770247B (zh) | 2018-08-03 | 2018-08-03 | 核酸用於資料儲存之方法、及其非暫時性電腦可讀儲存介質、系統及電子裝置 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI770247B (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI844889B (zh) * | 2021-11-23 | 2024-06-11 | 美商萬國商業機器公司 | 用於將資訊儲存至一多核苷酸中之電腦實施方法、電腦程式產品及系統與用於解譯編碼於多個複合片段中之資訊之電腦實施方法及電腦程式產品 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040153255A1 (en) * | 2003-02-03 | 2004-08-05 | Ahn Tae-Jin | Apparatus and method for encoding DNA sequence, and computer readable medium |
| KR101638594B1 (ko) * | 2010-05-26 | 2016-07-20 | 삼성전자주식회사 | Dna 서열 검색 방법 및 장치 |
| CN103093121B (zh) * | 2012-12-28 | 2016-01-27 | 深圳先进技术研究院 | 双向多步deBruijn图的压缩存储和构造方法 |
| US9892237B2 (en) * | 2014-02-06 | 2018-02-13 | Reference Genomics, Inc. | System and method for characterizing biological sequence data through a probabilistic data structure |
| GB2530012A (en) * | 2014-08-05 | 2016-03-16 | Illumina Cambridge Ltd | Methods and systems for data analysis and compression |
| CN106845158A (zh) * | 2017-02-17 | 2017-06-13 | 苏州泓迅生物科技股份有限公司 | 一种利用dna进行信息存储的方法 |
-
2018
- 2018-08-03 TW TW107127162A patent/TWI770247B/zh active
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI844889B (zh) * | 2021-11-23 | 2024-06-11 | 美商萬國商業機器公司 | 用於將資訊儲存至一多核苷酸中之電腦實施方法、電腦程式產品及系統與用於解譯編碼於多個複合片段中之資訊之電腦實施方法及電腦程式產品 |
Also Published As
| Publication number | Publication date |
|---|---|
| TWI770247B (zh) | 2022-07-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7090148B2 (ja) | Dnaベースのデータストレージ及びデータ取り出し | |
| AU2024201484B2 (en) | High- Capacity Storage of Digital Information in DNA | |
| JP7586880B2 (ja) | 核酸ベースのデータ記憶 | |
| CN112382340B (zh) | 用于dna数据存储的编解码方法和编解码装置 | |
| CN109830263B (zh) | 一种基于寡核苷酸序列编码存储的dna存储方法 | |
| CN105022935A (zh) | 一种利用dna进行信息存储的编码方法和解码方法 | |
| US11755640B2 (en) | DNA-based image storage and retrieval | |
| Wu et al. | HD-code: End-to-end high density code for DNA storage | |
| TWI770247B (zh) | 核酸用於資料儲存之方法、及其非暫時性電腦可讀儲存介質、系統及電子裝置 | |
| WO2017085245A1 (en) | Methods for encoding and decoding a binary string and system therefore | |
| CN114341988A (zh) | 用于压缩基因组序列数据的方法 | |
| US12512185B2 (en) | DNA-based data storage and retrieval | |
| Zhao et al. | Composite hedges nanopores: a high INDEL-correcting codec system for rapid and portable DNA data readout | |
| CN115249509A (zh) | 基于脱氧核糖核酸技术的数据编码方法及解码方法 | |
| AU2025271481A1 (en) | High-Capacity Storage of Digital Information in DNA | |
| Bhattacharyya et al. | Recent directions in compressing next generation sequencing data | |
| HK40123768A (zh) | Dna中数字信息的高容量存储 | |
| HK1257702B (zh) | Dna中数字信息的高容量存储 | |
| HK1208937B (zh) | Dna中数字信息的高容量存储 |