国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Chamaeleo:DNA存儲堿基編解碼算法的可拓展集成與系統(tǒng)評估平臺

2021-07-21 09:30:52平質(zhì)張顥齡陳世宏倪鳴徐訊朱砂沈玥
合成生物學(xué) 2021年3期
關(guān)鍵詞:轉(zhuǎn)碼穩(wěn)健性堿基

平質(zhì),張顥齡,陳世宏,倪鳴,徐訊,朱砂,沈玥,5

(1深圳華大生命科學(xué)研究院,廣東 深圳 518083;2深圳市合成生物學(xué)創(chuàng)新研究院,中國科學(xué)院深圳先進技術(shù)研究院,廣東 深圳 518055;3廣東省高通量基因組測序與合成編輯應(yīng)用重點實驗室,深圳華大生命科學(xué)研究院,廣東 深圳518120;4(廣東?。┤A大基因合成基因組學(xué)院士工作站, 深圳華大基因科技有限公司,廣東 深圳 518120;5深圳國家基因庫,廣東 深圳 518120;6英國牛津大學(xué)大數(shù)據(jù)研究所,牛津 OX3 7LF;7英國TAICHI AI Ltd., 倫敦 N1 7GU)

作為一種備受關(guān)注的新型數(shù)據(jù)存儲介質(zhì),DNA分子與傳統(tǒng)存儲介質(zhì)相比在信息容量、存儲時間及維護投入等方面都極具優(yōu)勢。尤其是隨著DNA合成和測序技術(shù)的快速發(fā)展,基于DNA的數(shù)據(jù)存儲在編碼方法與全技術(shù)集成系統(tǒng)方面均有了相當(dāng)?shù)倪M展[1-2]。如圖1(a)所示,常規(guī)的DNA存儲流程包括從數(shù)字文件的編碼,生成編碼DNA序列的從頭合成,通過測序確定DNA文件的序列信息讀取信息,根據(jù)編碼方法進行解碼以恢復(fù)原始數(shù)字文件。其中,作為實現(xiàn)DNA數(shù)據(jù)存儲的關(guān)鍵步驟,編解碼方法的開發(fā)在過去十年間積累了大量的研究基礎(chǔ)。自2012年起,該研究方向聚焦于提升編碼密度、通過控制DNA序列的特定生化參數(shù)提升DNA存儲與現(xiàn)有技術(shù)的兼容性、提升編解碼方案的穩(wěn)健性,George Church、Goldman、Grass、Erlich等研究團隊提出了不同策略的DNA存儲編解碼方案[3-7]。在兼容性方面,極端(極高或極低)的GC含量或單堿基長串重復(fù)對現(xiàn)有上下游銜接技術(shù)都非常不利,會造成DNA合成困難以及DNA測序錯誤。因此,Church轉(zhuǎn)碼采用兩種堿基信息對應(yīng)一種二進制信息的方式,盡管編碼密度在所有算法中較低,但其利用隨機替換的方式均衡GC含量并避免較長的單堿基重復(fù)[3]。Goldman轉(zhuǎn)碼利用霍夫曼(Huffman)編碼將二進制信息首先轉(zhuǎn)化為三進制信息,再利用輪轉(zhuǎn)編碼的方式生成DNA序列以避免單堿基重復(fù)出現(xiàn)[4]。Grass轉(zhuǎn)碼則利用伽羅瓦域(Galois field,GF)進行編碼,使最長單堿基重復(fù)長度不超過3[5]。DNA Fountain轉(zhuǎn)碼方法首次引入了通信編碼中的噴泉碼,使得其凈信息密度盡可能逼近香農(nóng)極限,并通過有效性篩選篩除了GC含量不均衡或最長單堿基重復(fù)長度超過4的DNA序列,使得生成的DNA序列與現(xiàn)有技術(shù)的兼容程度大幅提高[6]。Yin-Yang轉(zhuǎn)碼利用2條二進制序列通過不同規(guī)則組合成1條DNA序列的方式,通過有效性篩選,使輸出序列的GC含量、最長單堿基重復(fù)長度以及DNA二級結(jié)構(gòu)自由能都在指定范圍內(nèi)[7]。在編碼穩(wěn)健性方面,為了應(yīng)對存儲過程中可能出現(xiàn)的錯誤,Grass轉(zhuǎn)碼通過引入Reed-solomon(RS)糾錯碼,增加了編碼的穩(wěn)健性,這種添加糾錯碼的策略被后續(xù)的許多轉(zhuǎn)碼方案用來確保數(shù)據(jù)的準(zhǔn)確性[6-9]。在編碼學(xué)領(lǐng)域也有基于受限編碼(constrained coding)相關(guān)理論對DNA存儲的信道模型進行理論研究的相關(guān)報道[10-11]。當(dāng)然,這些編解碼方案也存在局限性。在遇到某些特殊數(shù)據(jù)結(jié)構(gòu)時,Goldman轉(zhuǎn)碼仍然會生成GC含量極端的DNA序列,同時,由于堿基信息間相互關(guān)聯(lián),單個編碼位出現(xiàn)錯誤,存在后續(xù)編碼位也有發(fā)生連鎖錯誤的風(fēng)險。對Grass編碼來說,GC含量不均衡仍然是其主要風(fēng)險。DNA Fountain由于其編碼方法的特性,在追求極高編碼密度的同時,存在有些數(shù)字文件無法被編碼生成對應(yīng)DNA序列的問題,或DNA文件無法解碼導(dǎo)致完全損壞的風(fēng)險。因此,該領(lǐng)域研究的研究重點也從以往追求高信息存儲密度和技術(shù)兼容性的實現(xiàn),逐漸在編碼方法對不同文件的通用性以及高穩(wěn)健性等方面進行了拓展。

然而,目前已開發(fā)的多種轉(zhuǎn)碼方法所采用的編程語言、編碼所設(shè)定的技術(shù)參數(shù)和標(biāo)準(zhǔn)各不相同,不利于基于已有研究基礎(chǔ)的后續(xù)開發(fā)優(yōu)化,從應(yīng)用端看針對不同類型的數(shù)據(jù)文件最適配的方案選擇也缺乏相應(yīng)的評價與選擇標(biāo)準(zhǔn),從而對促進該領(lǐng)域的交流與發(fā)展帶來了阻礙。因此,對于已開發(fā)的不同轉(zhuǎn)碼方法的系統(tǒng)評價標(biāo)準(zhǔn)應(yīng)當(dāng)形成明確的共識,并建立相應(yīng)標(biāo)準(zhǔn)化的體系。此外,現(xiàn)有的轉(zhuǎn)碼方法在應(yīng)對不同數(shù)據(jù)結(jié)構(gòu)的文件或在不同應(yīng)用場景下時,表現(xiàn)亦有差異,通過建立系統(tǒng)集成評價平臺,針對不同類存儲需求以靈活調(diào)用的方式提供相應(yīng)的存儲方案也將促進更多DNA存儲應(yīng)用的普及。同時一個開放性、可拓展的集成系統(tǒng)也將有利于該領(lǐng)域的研究學(xué)者基于前人研究基礎(chǔ)持續(xù)提升優(yōu)化,逐漸形成領(lǐng)域共識,促進這一新興領(lǐng)域的規(guī)范發(fā)展。

為解決前文所述的問題與需求,本研究開發(fā)了一個用于評價與輸出推薦編碼方案的系統(tǒng)集成軟件平臺Chamaeleo[圖1(a)],針對不同類型的輸入文件對模塊化集成在該平臺中的已報道經(jīng)典轉(zhuǎn)碼方法提供了相應(yīng)的評價方案[圖1(b)]。通過選擇此前經(jīng)典轉(zhuǎn)碼方案關(guān)注的編碼密度、GC含量以及最大單堿基重復(fù)長度,對輸出序列進行定性定量的分析統(tǒng)計。進一步地,通過建立存儲過程中的出錯模型和序列丟失模型,對存儲過程進行模擬,并據(jù)此分析轉(zhuǎn)碼方法的穩(wěn)健性。針對未來某些特殊應(yīng)用場景,Chamaeleo也提供了不同轉(zhuǎn)碼方法所對應(yīng)數(shù)據(jù)加密性的理論分析。此外,轉(zhuǎn)碼方案的編解碼計算效率也將作為額外的參數(shù)進行統(tǒng)計,為實際應(yīng)用提供指導(dǎo)??紤]DNA存儲領(lǐng)域還處于快速發(fā)展初期,Chamaeleo采用開源、可擴展的設(shè)計思路,以支持未來新轉(zhuǎn)碼方法的持續(xù)嵌入,以及新評估參數(shù)的加載。針對特定文件類型,Chamaeleo可通過多維度的分析,對擬采用的轉(zhuǎn)碼方法進行較全面的評估,從而為基于特定需求的最優(yōu)轉(zhuǎn)碼方案的選擇提供依據(jù)。

1 Ch am aeleo平臺概述

Chamaeleo作為一個DNA存儲轉(zhuǎn)碼方法的集成與評估平臺,主要功能定位于基于同一文件量化分析不同轉(zhuǎn)碼方法之間的特征參數(shù)系統(tǒng)性評價并提供方案選擇指導(dǎo)。如圖1(c)所示,Chamaeleo平臺分為三個主要的模塊:轉(zhuǎn)碼模塊、糾錯模塊和流程模塊。

圖1 Chamaeleo平臺簡介[(a)DNA存儲的常規(guī)流程:該流程分為終端部分和生化部分,Chamaeleo針對DNA存儲中的轉(zhuǎn)碼步驟進行設(shè)計,串聯(lián)上下游DNA合成與測序;(b)Chamaeleo搭建的評價體系,從多維度對轉(zhuǎn)碼方案進行量化分析;(c)Chamaeleo的程序架構(gòu)及模塊間的相互關(guān)系。Chamaeleo開源軟件平臺可通過https:∥github.com/ntpz870817/Chamaeleo進行訪問,或通過pypi:pip install Chamaeleo的方式在計算機終端進行安裝和使用]Fig.1 Brief introduction of Chamaeleo[(a)General procedure of DNA storage includes in-silico transcoding and experimental DNA synthesis and sequencing.Chamaeleo focuses on in-silico transcoding part and connect the related technologies.(b)The evaluation system created by Chamaeleo quantitatively analyzes coding schemes from multiple aspects.(c)Software architecture and relations between modules and classes.The source code is available at https://github.com/ntpz870817/Chamaeleo,which can bealso installed by thecommand of pip.exe,"pip install chamaeleo"]

轉(zhuǎn)碼模塊集成了6種經(jīng)典的轉(zhuǎn)碼算法,包括Church轉(zhuǎn)碼算法[3]、Goldman轉(zhuǎn)碼算法[4]、Grass轉(zhuǎn)碼算法[5]、Blawat轉(zhuǎn)碼算法[12]、DNA Fountain轉(zhuǎn)碼算法[6]和Yin-Yang轉(zhuǎn)碼算法[7]。此外,為提供評估指標(biāo)的基準(zhǔn)參考,Chamaeleo提供Base coding作為基準(zhǔn)轉(zhuǎn)碼算法(即使用A-00、C-01、G-10、T-11的無約束的映射關(guān)系進行轉(zhuǎn)碼的算法)參與到現(xiàn)有的轉(zhuǎn)碼算法的評估體系中?;鶞?zhǔn)算法的評估可以表征無約束的和帶有約束的轉(zhuǎn)碼算法對特定類型或格式文件中編碼得到序列的兼容性差異。

為使轉(zhuǎn)碼方法易讀并保持后續(xù)新開發(fā)編碼方法可拓展集成,本研究對已開發(fā)原始轉(zhuǎn)碼算法進行了系統(tǒng)性重構(gòu)[13]。所有經(jīng)典轉(zhuǎn)碼算法都通過抽象轉(zhuǎn)碼算法(abstract coding algorithm)實現(xiàn)Chamaeleo平臺系統(tǒng)中的特定接口[14]。未來開發(fā)的轉(zhuǎn)碼算法也可通過該路徑實現(xiàn)對應(yīng)接口的建立或通過繼承平臺上已實現(xiàn)轉(zhuǎn)碼算法進行特定接口的修改,以完成代碼層面的快速搭建(如表S1)。

表S1 使用代碼調(diào)用流程完成轉(zhuǎn)碼過程實例Tab.S1 Example commands to invoke transcoding process

糾錯模塊采用轉(zhuǎn)碼模塊相同的架構(gòu),目前包含了DNA存儲轉(zhuǎn)碼方案中最常用的兩種糾錯碼:Hamming碼[2]和RS碼[5,15]。 通 過 抽 象 糾 錯 碼(abstract error correction)的接口,Chamaeleo實現(xiàn)了糾錯碼與校正序列信息兩種功能的嵌入。同時,糾錯模塊在處理比特序列之上,實現(xiàn)了擴展接口,以滿足二維及以上比特矩陣的處理。

流程模塊則用于進行實際轉(zhuǎn)碼/評估任務(wù)的執(zhí)行,轉(zhuǎn)碼模塊中的轉(zhuǎn)碼算法以及糾錯模塊中的糾錯碼都會通過實例化的方式被流程模塊中的具體流程所使用。通常,一個流程會包含至少一個轉(zhuǎn)碼算法以及根據(jù)用戶來確定是否采用及指定所采用的糾錯碼。除了最基本轉(zhuǎn)碼流程,流程模塊還包含三個統(tǒng)計評估流程:算法屬性分析流程、序列特征分析流程和轉(zhuǎn)碼穩(wěn)健性分析流程(見下文“評估體系”),用于轉(zhuǎn)碼方法的系統(tǒng)性分析,為后續(xù)基于不同文件采用的最適配轉(zhuǎn)碼方法提供參考依據(jù)。

為了進一步增強實用性,Chamaeleo平臺亦編寫了如數(shù)據(jù)操作工具(data handler)和流程監(jiān)控工具(monitor)等DNA存儲所常用的工具。數(shù)據(jù)操作工具支持讀/寫命令行字符串或文件、壓縮/解壓二進制信息、保存或加載轉(zhuǎn)碼算法/糾錯碼/流程模塊。流程監(jiān)控工具用于訂制化地監(jiān)控算法或流程執(zhí)行過程中的完成進展,以及記錄特定的過程信息。

2 評估體系

Chamaeleo平臺建立了轉(zhuǎn)碼方案評估體系,對已集成轉(zhuǎn)碼方案進行系統(tǒng)評估,主要涉及算法基本信息、兼容性和穩(wěn)健性這三方面的系統(tǒng)性評估分析。為建立可比較的評估策略,該平臺提供了基準(zhǔn)測試文件和基準(zhǔn)轉(zhuǎn)碼算法,用于收集評估信息并進行統(tǒng)計分析和對比。在基準(zhǔn)測試文件方面,考慮到不同的文件具有不同的數(shù)據(jù)特征,繼而會對不同轉(zhuǎn)碼方案的實際性能產(chǎn)生影響。因此,該平臺目前選擇了10個基準(zhǔn)文件并盡可能覆蓋更多的實際數(shù)據(jù)特征。基于操作系統(tǒng)最常用的文件類型[16],基準(zhǔn)測試文件被分為5類:圖片、音頻、視頻、文本和可執(zhí)行文件(或壓縮包)。由于文件越大,寡核苷酸庫中的單條序列所需索引長度就越大,同時包含特殊數(shù)據(jù)特征的可能性也就越大。而文件比特頻率的分布會對DNA存儲的轉(zhuǎn)碼產(chǎn)生影響,例如,當(dāng)特殊數(shù)據(jù)(如大量重復(fù)的“0”或“1”)的比例較高時,轉(zhuǎn)碼算法不易得到與現(xiàn)有技術(shù)兼容性較好的DNA序列。同一類型的文件的不同文件格式會使得信息的比特頻率分布出現(xiàn)差異(如圖S1圖片、音頻、視頻)。同種格式文件,因為內(nèi)容有差異,也會導(dǎo)致比特頻率的分布出現(xiàn)差異(如圖S1文本類)。而如果采用了壓縮算法,比特頻率的分布將趨向平均[17](如圖S1二進制類),但需要承擔(dān)壓縮包損壞導(dǎo)致文件無法恢復(fù)的風(fēng)險。綜合以上因素,本研究中所選的不同測試文件在文件格式、文件大小或比特頻率上存在顯著差異以確保評估體系的可參考性。

圖S1 10個典型測試文件的文件大小和字節(jié)頻率[每個分布中的4條橫線從下到上表示1%~4%的出現(xiàn)比例。部分比特在文件中的出現(xiàn)概率超過4%,最高可達42.67%(BMP代表文件中的比特“00101110”)]Fig.S1 Sizes and byte-frequency distributions of 10 typical test files[The 4 lines in each distribution indicates 1%to 4%from bottom to top.The probabilities of occurrence of few specific bytes exceed 4%,which are labeled with digits.The highest probability of occurrence is 42.67%("00101110"in BMPfile)]

Chamaeleo對轉(zhuǎn)碼方案的評估目前分為三個維度:①算法基本信息,通過算法屬性分析流程統(tǒng)計信息密度、轉(zhuǎn)碼所需時間以及轉(zhuǎn)碼成功率等;②技術(shù)兼容性,通過序列特征分析流程評估轉(zhuǎn)碼方案與上下游技術(shù)的兼容性,通過收集被轉(zhuǎn)碼方案編碼(一個或多個文件)獲得的DNA序列,統(tǒng)計并分析針對這些DNA序列與上下游銜接技術(shù)的兼容性相關(guān)參數(shù),比如GC含量和單堿基重復(fù)等;③穩(wěn)健性,由于針對編碼DNA序列的合成與測序?qū)嶋H操作過程中,不可避免地會因為所采用的技術(shù)本身的局限性而產(chǎn)生錯誤(堿基插入/替換/刪除)或序列丟失。通過轉(zhuǎn)碼穩(wěn)健性分析流程,在轉(zhuǎn)碼獲得的DNA序列文庫中分別隨機引入錯誤和序列丟失,計算源文件的成功恢復(fù)率,進而表征該轉(zhuǎn)碼方案對錯誤和序列丟失的可容錯性。

2.1 編碼密度評估

為降低DNA存儲技術(shù)的成本,轉(zhuǎn)碼方法通常需要在保證數(shù)字信息完備的情況下盡可能減少DNA序列合成量,因此,編碼密度是轉(zhuǎn)碼方法最重要的評價指標(biāo)之一。在DNA存儲中,除了攜帶源文件二進制信息的數(shù)據(jù)區(qū),為了確定混合DNA分子中不同DNA序列對應(yīng)源文件中信息的位置,在編碼DNA序列中會引入索引區(qū)。DNA擴增是目前DNA存儲流程中實現(xiàn)獲取部分?jǐn)?shù)據(jù)所常用的技術(shù)方法,因此也需要設(shè)計引物區(qū),結(jié)合特定引物對文庫進行擴增,以便數(shù)據(jù)備份和測序建庫。此外,為了使這些DNA序列在解碼過程中可以一定程度上糾正堿基突變帶來的問題,編碼DNA序列往往還會選擇引入糾錯區(qū)以提升數(shù)據(jù)可恢復(fù)的穩(wěn)定性[圖2(a)]?;谔囟ň幋a設(shè)定下的二進制-堿基間映射關(guān)系,可以計算出不同的轉(zhuǎn)碼方案對應(yīng)的理論編碼密度。但如上所述,除數(shù)據(jù)區(qū)外,DNA序列還會包括索引區(qū)、引物區(qū)和糾錯區(qū),因此實際的編碼密度會低于理論編碼密度。例如,當(dāng)信息區(qū)的長度固定,伴隨著數(shù)字信息(文件)的總比特數(shù)的增加,其索引區(qū)占整條序列的比例會增加,從而導(dǎo)致編碼密度的降低。與其他轉(zhuǎn)碼方案不同,DNA Fountain轉(zhuǎn)碼采用Luby Transform(LT)碼[6,18],使用長度為16個堿基的索引區(qū)保存每條DNA序列所包含的隨機數(shù)種子。因此,在數(shù)字信息大小不超過500 MB的情況下[6],其實際信息密度不變。而當(dāng)數(shù)字信息的大小大于這個閾值,DNA Fountain轉(zhuǎn)碼需要使用更長的索引區(qū)(超過16個堿基)去保存每條DNA序列包含的隨機數(shù)種子。

圖2 DNA序列結(jié)構(gòu)設(shè)計與已收錄編碼方法的凈信息密度評估[(a)輸出DNA序列設(shè)計,糾錯碼為可選項,其中,Hamming和RS碼在結(jié)構(gòu)上的分布略有不同;(b)測試文件通過不同轉(zhuǎn)碼算法獲得的凈信息密度,其中Goldman轉(zhuǎn)碼算法使用的報道中生成的哈夫曼樹[4],DNA Fountain轉(zhuǎn)碼算法使用偽隨機數(shù)生成器中默認(rèn)度分布參數(shù)(δ=0.05,c_dist=0.1)以及默認(rèn)的7%的冗余[6],Yin-Yang轉(zhuǎn)碼算法則選擇相關(guān)研究中采用的第888號規(guī)則[7]]Fig.2 Structure of output DNA sequences and their net information densities[(a)Basic design of output DNA sequences with/without optional error-correction codes(Hamming code and RS code).(b)Distribution of net information density using different coding schemes.The setting of parameters is identical to that of original report:For Goldman's coding scheme,the Huffman tree used in the evaluation process is set as the same in Goldman,et al[4].For DNA Fountain scheme,the degree distribution tuning parameter(δ=0.05 and c_dist=0.1)and redundancy(7%)used in the evaluation process is set as the same in Erlich,et al[6].For Yin-Yang coding scheme,rule No.888 wasused as reported in Ping,et al[7]]

此前有相關(guān)研究圍繞信息密度提出了一些相關(guān)計算方法與相應(yīng)的概念用于評價轉(zhuǎn)碼方案的性能[3,6,19]。 如 堿 基 編 碼 率 (base coding density,bit/nt)描述的是在不考慮分子拷貝數(shù)的情況下,實際操作中一個堿基攜帶的有效比特數(shù)量,即:

而物理信息密度(physical information density,petabyte/gram,即PB/g)則是基于流程操作考量下提出的概念[20],其描述的是經(jīng)過換算后,實驗中每克堿基攜帶的有效信息量(字節(jié)數(shù)),即:

此外,還有一些概念,如編碼潛力(coding potential)和實際容量(realized capacity,凈信息密度與信道的香農(nóng)容量之比)[6],也相繼被提出,但由于它們涉及信息論相關(guān)的復(fù)雜理論推導(dǎo),與實際應(yīng)用層面數(shù)據(jù)差別較大,因此在DNA存儲領(lǐng)域未被廣泛認(rèn)可。參考該領(lǐng)域中如上概念的普遍認(rèn)可程度,參考引物區(qū)長度在不同存儲的應(yīng)用需求下會出現(xiàn)差異的情況,并結(jié)合考慮目前一般采用長度為200 nt的寡核苷酸文庫作為DNA存儲的主要方式(數(shù)據(jù)區(qū)長度約120~140 nt),Chamaeleo平臺中選擇采用數(shù)據(jù)區(qū)編碼256 bit數(shù)據(jù)條件下的凈信息密度(net information density,即輸入信息的比特數(shù)除以轉(zhuǎn)碼完成后排除引物區(qū)序列的堿基數(shù))[6]作為評估轉(zhuǎn)碼方法編碼密度的參數(shù):

在編碼密度評估中,本研究基于無糾錯碼、含漢明碼和含RS碼這三種情況分別進行了評估。為和此前的報道統(tǒng)一,本研究在二進制信息層面進行糾錯碼的插入。程序默認(rèn)原始比特序列長度為128 bit,采用經(jīng)典設(shè)置的(7,4)Hamming碼,其校驗位長度為8 bit,且校驗位插入在原始比特數(shù)據(jù)的2的冪次位上,理論可以糾正至多1個堿基替換。目前,此前提出的轉(zhuǎn)碼算法皆采用的是RS碼,通常設(shè)置3個字節(jié)以糾正至多3個堿基替換錯誤[2,21]。此外,按照文獻的設(shè)計,RS碼通常會被放到原始比特序列的后面。通過針對目前已開發(fā)的6種編碼方法進行對應(yīng)編碼密度的量化,我們發(fā)現(xiàn)由于測試文件的大小不同,受到索引區(qū)長度變化的影響,絕大多數(shù)編碼方法的編碼密度都在一定范圍內(nèi)發(fā)生了波動,而DNA Fountain轉(zhuǎn)碼由于索引區(qū)長度固定,編碼密度最為穩(wěn)定。另一方面,Yin-Yang轉(zhuǎn)碼表現(xiàn)出相對較高的編碼密度,接近于無拘束的基準(zhǔn)轉(zhuǎn)碼方法。此外,總體趨勢上不同的編碼方法在引入糾錯功能后均顯示出較其理論編碼密度有5.19%~13.49%的下降。采用RS碼比Hamming碼的下降更為顯著,說明轉(zhuǎn)碼方法的糾錯能力越強,越需要支出更多的信息密度[22]。

2.2 兼容性評估

DNA存儲中的兼容性體現(xiàn)在與現(xiàn)有技術(shù)(DNA合成技術(shù)[23]、DNA測序技術(shù)[24]、PCR擴增技術(shù)[25]等)的適配程度。極端(極高或極低)的GC含量或單堿基長串重復(fù)對現(xiàn)有上下游銜接技術(shù)都非常不利,會造成DNA合成困難以及DNA測序錯誤,進而導(dǎo)致數(shù)據(jù)無法恢復(fù)的問題。因此避免極端GC含量和單堿基長串重復(fù)是目前各轉(zhuǎn)碼方法重點關(guān)注的方向。其他可供選擇的評價參數(shù)還包括DNA序列的二級結(jié)構(gòu)自由能、規(guī)律性重復(fù)序列與特殊序列(如酶切位點、毒性序列)的出現(xiàn)頻率等。

在兼容性評估實驗的過程中,由于添加糾錯碼在一定程度上能夠消除部分對轉(zhuǎn)碼算法兼容性不友好的數(shù)據(jù)特征[26],本研究中以不采用糾錯碼的方案作為兼容性下限的評估。

如圖3所示,針對測試文件所涉及到的數(shù)據(jù)特征,對比基準(zhǔn)算法,6個轉(zhuǎn)碼算法都對兼容性做了相應(yīng)的優(yōu)化。依據(jù)目前的測試結(jié)果,已收錄的轉(zhuǎn)碼算法都回避了單條序列可能存在的極端GC含量。其中,DNA Fountain轉(zhuǎn)碼算法和Yin-Yang轉(zhuǎn)碼算法將GC含量控制在了40%~60%,在兼容性方面表現(xiàn)較為突出。而Church轉(zhuǎn)碼算法、Goldman轉(zhuǎn)碼算法、Grass轉(zhuǎn)碼算法以及Blawat轉(zhuǎn)碼算法轉(zhuǎn)碼所獲DNA序列都存在40%以下或者60%以上GC含量的情況,因此存在生成DNA序列與上下游技術(shù)不兼容的風(fēng)險。Yin-Yang轉(zhuǎn)碼算法的平均GC含量分布在40%和60%附近相比DNA Fountain轉(zhuǎn)碼算法更低,因此相比DNA Fountain轉(zhuǎn)碼算法,它更容易進一步提高GC含量的限制??刂茊螇A基長串重復(fù)方面,無約束的基準(zhǔn)算法所獲序列的單堿基重復(fù)長度存在于1~42之間,而已收錄轉(zhuǎn)碼算法對其都有嚴(yán)格的限制。由于Goldman轉(zhuǎn)碼方法的單堿基重復(fù)設(shè)置為1,因此其單堿基重復(fù)的峰值聚集在1的區(qū)間,而其他方法的單堿基重復(fù)并沒有較大的差異,都處于2~4之間,說明目前所有的轉(zhuǎn)碼方案都在控制單堿基長串重復(fù)方面具備良好的兼容性。

圖3 轉(zhuǎn)碼方案的兼容性評估[在無糾錯碼情況下,不同轉(zhuǎn)碼算法從10個測試文件中編碼所得DNA序列的GC含量分布(a)和最大單堿基重復(fù)長度分布的統(tǒng)計(b)]Fig.3 Compatibility evaluation of coding schemes[Distribution of GCcontent(a)and maximum homopolymer length(b)of DNA sequencesfrom transcoding of 10 test-filesby different coding schemes.For Basecoding in(b),themaximum homopolymer length is42 and not shown in thispanel for aclarity purpose]

2.3 穩(wěn)健性評估

由于成本與訪問速度的限制,DNA存儲目前仍然被認(rèn)為適用于長期的冷數(shù)據(jù)(無需頻繁訪問的數(shù)據(jù))存儲,同時它可以應(yīng)用基于宿主菌的體內(nèi)存儲或寡核苷酸庫的形式進行體外存儲。而在這些存儲過程中由于宿主菌自身可能發(fā)生的變異積累又或者合成過程引入的錯誤,DNA分子不可避免地會發(fā)生堿基插入、刪除、替換等變異以及自然降解。因此,如何從轉(zhuǎn)碼方案層面應(yīng)對這些可能帶來信息丟失的風(fēng)險尤為重要。在轉(zhuǎn)碼后得到的DNA序列文庫中隨機引入定量的堿基錯誤和序列丟失,再使用對應(yīng)方案進行解碼,Chamaeleo通過收集和計算所得正確解碼信息對原始信息的覆蓋率作為穩(wěn)健性評估的指標(biāo)。

如圖4(a)所示,當(dāng)引入1%的序列丟失后,大多數(shù)轉(zhuǎn)碼方案的數(shù)據(jù)恢復(fù)率都在98.98%~99%之間。DNA Fountain轉(zhuǎn)碼與其他轉(zhuǎn)碼算法相比,單個文件的數(shù)據(jù)恢復(fù)率(恢復(fù)出的正確數(shù)據(jù)量/源數(shù)據(jù)的總量)波動較大(11.75%~99.99%)。其原因在于:為了滿足篩選條件,DNA Fountain轉(zhuǎn)碼算法所獲的每條DNA序列(編碼數(shù)據(jù)包)通常會包含多條比特序列信息,同時這些數(shù)據(jù)包之間具有相互關(guān)聯(lián)的拓撲結(jié)構(gòu),當(dāng)一條DNA序列丟失后,可能會造成更多DNA序列無法滿足解碼條件,從而丟失更多的比特序列信息。Yin-Yang轉(zhuǎn)碼算法的數(shù)據(jù)恢復(fù)率在98.95%~99%之間,其恢復(fù)率下限略低于除DNA Fountain外的其他算法。在Yin-Yang轉(zhuǎn)碼算法中,一條DNA序列包含2條比特序列信息,所以當(dāng)單條DNA序列出現(xiàn)錯誤不可修正,其損失可能會是其他轉(zhuǎn)碼算法(Church轉(zhuǎn)碼算法、Goldman轉(zhuǎn)碼算法、Grass轉(zhuǎn)碼算法、Blawat轉(zhuǎn)碼算法)損失的2倍。對任一轉(zhuǎn)碼方案,利用大量物理冗余或邏輯冗余均可以很好地應(yīng)對引入的錯誤。以DNA Fountain轉(zhuǎn)碼算法為代表的抹除碼,依據(jù)其編碼原理特征,只要在解碼階段接收到足夠的編碼數(shù)據(jù)包,源數(shù)據(jù)即能完全恢復(fù)。值得注意的是,由于噴泉碼中的度分布設(shè)置,單個編碼數(shù)據(jù)包與其他源數(shù)據(jù)分片存在相互關(guān)聯(lián),因此當(dāng)邏輯冗余不足的情況下,解碼過程中單個編碼包的錯誤或丟失可能會連鎖影響其他編碼包的解碼,而多個編碼數(shù)據(jù)包的丟失可能造成整個文件幾乎無法恢復(fù)。另外,直接對源數(shù)據(jù)進行編碼的轉(zhuǎn)碼算法,例如Church轉(zhuǎn)碼算法,在添加源數(shù)據(jù)量10%的邏輯冗余后,轉(zhuǎn)碼算法對于<10%的序列錯誤或丟失將具備較強的耐受性,然而不能保證源數(shù)據(jù)的完全恢復(fù)。

圖4 轉(zhuǎn)碼方案的穩(wěn)健性評估[(a)在測試文件轉(zhuǎn)碼獲得的DNA序列文庫中引入1%的隨機序列丟失,對比解碼后文件與源文件,獲得該情況下文件的恢復(fù)率。右側(cè)圖為98.94%~99.02%區(qū)間放大。(b)在測試文件轉(zhuǎn)碼獲得的DNA序列文庫中引入3%的隨機堿基錯誤(插入、刪除、替換各1%),對比解碼后文件與源文件,獲得該情況下文件的恢復(fù)率。右側(cè)圖為97%~98.4%區(qū)間放大]Fig.4 Robustness evaluation of coding schemes[Distribution of file retrieval rate under condition of(a)1%random sequence loss and(b)3%of nucleotide error(1%for insertion/deletion/substitution,respectively).Figureson theright isthezoom in part for acloser view]

在DNA存儲的生化反應(yīng)過程中,穩(wěn)健性評估

需要考慮的因素為由于測序深度、PCR隨機性等生化操作造成的DNA分子的突變或者丟失。這些突變和丟失通常分為系統(tǒng)誤差和隨機誤差。在DNA存儲中,隨機誤差一般由測序產(chǎn)生,而測序過程的隨機錯誤通常可以用序列比對的方式進行相互校正,系統(tǒng)誤差一般由合成或分子生物學(xué)操作產(chǎn)生,無法通過常規(guī)測序數(shù)據(jù)處理方式進行校正。因此,在Chamaeleo評估體系中,這里的穩(wěn)健性評估指的是系統(tǒng)誤差對轉(zhuǎn)碼算法造成的影響。根據(jù)此前的文獻報道[6,20,25],經(jīng)過測序后,序列的丟失率一般在1%~2%左右,因此本文用1%序列丟失進行穩(wěn)健性評估。通過常規(guī)DNA合成的錯誤率分析,一般認(rèn)為錯誤率為0.3%左右,而大片段DNA組裝合成中錯誤率會更高,因此本文用各1%堿基錯誤(插入、刪除、替換)進行穩(wěn)健性評估。當(dāng)引入堿基插入、刪除、替換各1%的錯誤后,大多數(shù)轉(zhuǎn)碼方案的數(shù)據(jù)恢復(fù)率都在97.05%~98.62%之間。DNA Fountain轉(zhuǎn)碼算法在此情況下的文件恢復(fù)率較低(3.78%~27.52%),顯示其在應(yīng)對堿基錯誤的穩(wěn)健性不足。另外,糾錯碼的使用對穩(wěn)健性的提升有較為明顯的作用。對所有轉(zhuǎn)碼方案而言,糾錯碼的糾錯能力越強,穩(wěn)健性越好。值得注意的是,目前常規(guī)的糾錯碼,如本文使用的Hamming碼、RS碼等,僅對堿基替換有效,而由堿基插入或刪除導(dǎo)致的錯誤,常規(guī)的糾錯碼無法進行錯誤的發(fā)現(xiàn)和糾正。但在當(dāng)前DNA合成流程中,每種DNA序列的合成拷貝數(shù)大約為107個,所有拷貝同時出現(xiàn)插入或刪除錯誤的可能性極低,因此,可以通過測序后的序列比對找出共有序列,從而糾正堿基插入或刪除錯誤。

2.4 轉(zhuǎn)碼方案的加密應(yīng)用可能性評估

針對現(xiàn)有編碼方法基于特定規(guī)則的轉(zhuǎn)碼過程,如果規(guī)則相對簡單易推導(dǎo),則數(shù)據(jù)可加密性會較低,相應(yīng)的有特殊存儲需求的加密數(shù)據(jù)的安全可控性也會較低。對于部分轉(zhuǎn)碼算法來說,其比特與堿基之間的映射關(guān)系并不是唯一的,如果解碼過程和編碼過程使用的映射關(guān)系不同,就無法獲得正確的原始比特信息。因此,這些映射關(guān)系可以被視為密碼學(xué)的秘鑰,在基本的轉(zhuǎn)碼任務(wù)以外,用于特殊信息的加密和解密。不同的轉(zhuǎn)碼算法包含的映射關(guān)系數(shù)量是不同的。通常,映射關(guān)系(秘鑰)的數(shù)量和信息被破譯的時間成正相關(guān)[27]。本研究統(tǒng)計了已集成轉(zhuǎn)碼算法的映射關(guān)系數(shù)量,用于評估轉(zhuǎn)碼方案的數(shù)據(jù)安全性。

Church轉(zhuǎn)碼算法和Blawat轉(zhuǎn)碼算法的映射關(guān)系是固定的且只有1種。Goldman轉(zhuǎn)碼算法的映射關(guān)系可以視作Huffman三叉樹[28](k+1=3)與字節(jié)(n=256)之間的映射關(guān)系,其映射關(guān)系的數(shù)量可以使用Huffman三叉樹的形態(tài)種類表示。通過弗斯-卡特蘭(Fuss-Catalan)數(shù)[29-30]進行換算,可得映射關(guān)系共有種。Grass轉(zhuǎn)碼算法的映射規(guī)則是在3個堿基(由于規(guī)定后兩個堿基不可相同,4×4×3=48個組合)中篩選47個組合作為伽羅瓦域,并將其余比特信息進行映射,所以會存在種映射關(guān)系。在DNA Fountain轉(zhuǎn)碼算法中,4種堿基可以通過不同的排列方式和2個比特組合(00,01,10,11)進行映射,因此該轉(zhuǎn)碼算法包含=24種映射關(guān)系。Yin-Yang轉(zhuǎn)碼算法由虛擬堿基、Yang規(guī)則和Yin規(guī)則共同構(gòu)成。其中,虛擬堿基有=4個選擇;Yang規(guī)則是在4種堿基中選擇2種映射為0,剩下2種映射為1,共計有=6種組合;Yin規(guī)則是在Yang規(guī)則的基礎(chǔ)上進行0和1的分配,共有種組合,因此共有有4×6×256=6144種映射關(guān)系。

綜上所述,Chamaeleo平臺將通過計算轉(zhuǎn)碼方案的映射關(guān)系數(shù)量(秘鑰數(shù)量),作為其數(shù)據(jù)安全性的參考依據(jù)。

2.5 基于圖論的轉(zhuǎn)碼算法理論評估

DNA存儲轉(zhuǎn)碼方案的理論層面研究仍存在空白,結(jié)合DNA的生物特性以及合成與測序的技術(shù)進行的理論研究也相對較少。因此,除了量化分析實際轉(zhuǎn)碼后的參數(shù),本研究嘗試從理論層面對轉(zhuǎn)碼算法進行評估分析,通過轉(zhuǎn)碼算法的映射關(guān)系可視化(圖5),并使用圖論[31]進行理論層面的分析與評估。除了使用信息論[24]宏觀描述轉(zhuǎn)碼算法的信息密度外,圖論分析有助于更細微地剖析轉(zhuǎn)碼算法的特征與傾向性。

圖5 使用圖論對不同轉(zhuǎn)碼算法進行可視化[實心紅點表示起點或虛擬起點(即Goldman轉(zhuǎn)碼及Yin-Yang轉(zhuǎn)碼中為編碼第一位堿基所用的虛擬位)。在每一輪編碼過程中,已知當(dāng)前的堿基(節(jié)點)和輸入的二進制(箭頭),跳轉(zhuǎn)至下一個節(jié)點并輸出其所指代的堿基,最后將下一個節(jié)點作為當(dāng)前節(jié)點。在對應(yīng)的每一輪解碼過程中,已知當(dāng)前節(jié)點(堿基)和下一節(jié)點(堿基),獲得兩個節(jié)點之間的箭頭,并輸出箭頭指代的二進制信息,最后將下一節(jié)點作為當(dāng)前節(jié)點]Fig.5 Visualization of different coding schemes using Graph-theory-based presentation[Red dot represents starting point or virtual starting point(for Goldman&Yin-Yang coding schemes).During each step of encoding,with known previous base(node)and input bit value(arrow),the current basewould be obtained from graph.During each step of decoding,with known previous and current nodes(base),the bit value(arrow)would beobtained from graph]

對于一個長度為n比特的序列來說,0和1的組合方式是有限的,即2n種。通過轉(zhuǎn)碼過程,可以獲得轉(zhuǎn)碼方案可生成的所有DNA序列。進一步將這些DNA序列作為圖的節(jié)點,并使用k-mer組裝[32]的方式進行連接作為圖的邊,獲得轉(zhuǎn)碼算法的圖表示。根據(jù)生成圖的各種屬性可以從理論層面分析轉(zhuǎn)碼算法的性能,而通過圖的出度情況[31],可以近似估計轉(zhuǎn)碼算法的凈信息密度。圖中每個節(jié)點的兼容性即為DNA序列的局部兼容性,基于貪心算法[33],局部特征可以反映全局特征,即全長DNA序列的兼容性。通過圖中的環(huán)結(jié)構(gòu)[31],不僅可以統(tǒng)計單堿基重復(fù)的情況,還可以統(tǒng)計重復(fù)序列、回文重復(fù)等復(fù)雜情況。對于圖中具有周期性且具有統(tǒng)計意義的子圖或模式[34],可以通過計算,例如標(biāo)準(zhǔn)分?jǐn)?shù)(z-score),分析算法對不同比特數(shù)據(jù)信息的傾向性。這些屬性可以結(jié)合生物特性進行進一步的分析。

目前基于圖論的轉(zhuǎn)碼算法映射關(guān)系可視化有助于理解轉(zhuǎn)碼過程,轉(zhuǎn)碼算法可生成的圖種類數(shù)量亦能在一定程度上反映出轉(zhuǎn)碼規(guī)則的復(fù)雜程度,從而與其在加密存儲的應(yīng)用中數(shù)據(jù)安全性的性能形成對應(yīng)關(guān)系。

3 結(jié)語

DNA存儲集編碼學(xué)、密碼學(xué)、信息學(xué)、分子生物學(xué)、生物信息學(xué)、計算機科學(xué)等多學(xué)科高度交叉發(fā)展而來,其全流程的實現(xiàn)仍高度依賴DNA合成與測序技術(shù)的支撐,相關(guān)的理論基礎(chǔ)的研究還處于早期階段,是一個充滿想象力的新興研究領(lǐng)域。其中,DNA存儲中的編解碼方法是作為連接數(shù)字信息和DNA分子的關(guān)鍵步驟,也是過去十年該領(lǐng)域的主要研究方向。不同的編碼方法在存儲信息密度、技術(shù)兼容性與存儲穩(wěn)健性方面各有千秋,但根據(jù)不同的存儲需求,目前該領(lǐng)域還缺乏方法間標(biāo)準(zhǔn)化比較評估體系的建立,不利于研究人員基于已有研究的再次開發(fā)以及DNA存儲應(yīng)用端的普及。

因此,本研究開發(fā)了一個DNA存儲堿基編解碼算法的可拓展集成與系統(tǒng)評估平臺Chamaeleo,取變色龍可針對不同環(huán)境快速適應(yīng)進行特征變換之義,旨在促進該領(lǐng)域的開發(fā)者進行協(xié)同開發(fā),為應(yīng)用端提供一個輔助的指導(dǎo)工具以實現(xiàn)不同存儲需求的應(yīng)用。Chamaeleo集成了系列已開發(fā)的DNA存儲編解碼方法并對其算法在軟件工程層面進行了優(yōu)化,提供了一個通用的DNA存儲編解碼應(yīng)用工具。同時,聚焦DNA存儲與現(xiàn)有技術(shù)的兼容性以及長期存儲情況下的穩(wěn)定性,通過選取領(lǐng)域內(nèi)已有共識的關(guān)鍵參數(shù),建立了一套DNA存儲編解碼方案的評估分析體系。利用不同類型、不同格式的文件對經(jīng)典DNA存儲編解碼方案進行多維度評估,得到的數(shù)據(jù)可以進行后續(xù)的系統(tǒng)性分析。值得指出的是,本研究中采用的評估參數(shù)是相互關(guān)聯(lián)、相互影響的。例如,編碼密度會受到兼容性、穩(wěn)健性、安全性等方面的影響。從編碼學(xué)中constrained coding的角度看,拘束條件必然會導(dǎo)致編碼密度的降低[11]。為提高DNA存儲整個流程的穩(wěn)健性或保證數(shù)據(jù)安全性,轉(zhuǎn)碼方案一般會采用增加糾錯碼、多拷貝[4]或者對比特序列預(yù)先進行異或操作[35]的策略。但這些策略會導(dǎo)致冗余的增加,一定程度上也會降低轉(zhuǎn)碼方案的編碼密度。兼容性則意味著轉(zhuǎn)碼方法可以通過設(shè)置相關(guān)參數(shù)以降低與上下游銜接技術(shù)不兼容序列出現(xiàn)的可能性,以提升轉(zhuǎn)碼方案的整體可行性。因此,在選擇最優(yōu)轉(zhuǎn)碼方案時,需要對所有指標(biāo)進行綜合考量。我們希望Chamaeleo平臺的建立能促進領(lǐng)域內(nèi)學(xué)者的交流以及新研究者的融入,有助于形成標(biāo)準(zhǔn)化的行業(yè)流程與評價指標(biāo),從而推動該領(lǐng)域規(guī)范有序的快速發(fā)展。同時,本研究中首次提出基于圖論的理論評估方法及“特征”“傾向性”等評價指標(biāo),旨在促進DNA存儲整體評價體系的發(fā)展。在未來,我們期待更多DNA存儲領(lǐng)域的研究者將其獨特的DNA存儲轉(zhuǎn)碼方法嵌入Chamaeleo開源工具平臺中,也希望能通過廣泛的交流與討論形成更多的有指導(dǎo)意義的評價指標(biāo)和策略,幫助該領(lǐng)域編解碼方法的理論體系逐漸形成。

盡管DNA存儲目前已經(jīng)有了諸多的文獻報道,數(shù)據(jù)存儲體量也逐漸逼近GB級別,但相比于傳統(tǒng)的光盤、硬盤存儲,還需要在很多方面進行突破,Chamaeleo平臺也需要相應(yīng)的完善和優(yōu)化。從理論層面,結(jié)合DNA合成與測序技術(shù)特點,通過數(shù)學(xué)、編碼學(xué)等對DNA存儲的最優(yōu)轉(zhuǎn)碼方法進行研究。轉(zhuǎn)碼應(yīng)用方面,在某些編解碼過程中,為解決序列內(nèi)部的錯誤和序列丟失問題,設(shè)計糾錯機制時會設(shè)置不同的內(nèi)碼和外碼[5],因此在已有糾錯模塊的基礎(chǔ)上,Chamaeleo也將提供內(nèi)外碼設(shè)置的選項以提高糾錯機制的靈活性。評估體系方面,根據(jù)不同應(yīng)用場景,可以對目前已有評估參數(shù)或者新評估參數(shù)進行標(biāo)準(zhǔn)化,并設(shè)置相應(yīng)的權(quán)重,從而根據(jù)實際需求提供最優(yōu)轉(zhuǎn)碼方案。從安全體系層面,需要進一步完善數(shù)據(jù)安全體系,針對個人隱私安全、數(shù)據(jù)安全、軍事應(yīng)用等不同場景,建立相應(yīng)的加密方式,保障數(shù)據(jù)安全。應(yīng)用層面,建立高效低成本且功能化的全流程DNA存儲體系需要軟件平臺進一步集成上下游銜接技術(shù)參數(shù)來進一步提升兼容性方案的輸出,同時也需要考慮數(shù)據(jù)存儲架構(gòu)、快速尋址訪問、低成本復(fù)寫策略等方面的需求。在DNA存儲之外,目前也有基于質(zhì)譜技術(shù),利用寡肽或代謝物進行信息存儲的策略被陸續(xù)提出[36-37],Chamaeleo平臺也可以提供相應(yīng)轉(zhuǎn)碼方案的程序端加載接口,為硅基存儲與碳基存儲建立橋梁。

綜上,基于DNA介質(zhì)的新型數(shù)據(jù)存儲作為一種具有劃時代意義的存儲方式,或?qū)⒋蜷_全球海量數(shù)據(jù)存儲的新紀(jì)元。DNA存儲技術(shù)的發(fā)展,既需要針對編解碼方法持續(xù)取得創(chuàng)新突破,建立顛覆性DNA存儲信息學(xué)理論基礎(chǔ),也依賴于如DNA合成組裝與測序的上下游銜接技術(shù)的快速發(fā)展以形成高效低成本規(guī)?;鎯δ芰?。我們希望Chamaeleo平臺的建立能作為向該目標(biāo)發(fā)展的一個起點,助力生物技術(shù)與大數(shù)據(jù)信息技術(shù)的協(xié)同發(fā)展,在歷史文化傳承信息的永久保存、經(jīng)濟大數(shù)據(jù)的長期保存、軍事部署等戰(zhàn)略信息的傳送和保存等領(lǐng)域發(fā)揮作用。

致謝:在程序設(shè)計和文章撰寫過程中,莊乾龍協(xié)助了部分程序模塊的填寫,哈佛大學(xué)Geor ge Chur ch教授、周廣宇博士和首都師范大學(xué)葛根年教授及蘭昭君參與了算法方面的討論,維也納工業(yè)大學(xué)的Nat al ie Fr eiber ger協(xié)助我們在IOS平臺進行了系統(tǒng)測試,在此一并致謝。

補充材料

圖S2 不同轉(zhuǎn)碼算法編碼和解碼速度的比較(測試環(huán)境:Windows 7系統(tǒng);i7 CPU處理器;12GB內(nèi)存;Python版本,3.7.3;IDE,PyCham 2019.1)Fig.S2 Encoding and decoding speed of different transcoding algorithms(Test environment:Windows 7 environment including an i7 CPU and 12 GB of RAM using Python 3.7.3 in the IDEPyCharm 2019.1)

猜你喜歡
轉(zhuǎn)碼穩(wěn)健性堿基
移動云盤在線轉(zhuǎn)碼功能技術(shù)研究
視頻轉(zhuǎn)碼技術(shù)在廣播電視中的應(yīng)用研究
締客世界(2020年1期)2020-12-12 18:18:28
應(yīng)用思維進階構(gòu)建模型 例談培養(yǎng)學(xué)生創(chuàng)造性思維
中國科學(xué)家創(chuàng)建出新型糖基化酶堿基編輯器
生命“字母表”迎來4名新成員
會計穩(wěn)健性的定義和計量
商情(2019年3期)2019-03-29 12:04:52
生命“字母表”迎來4名新成員
會計穩(wěn)健性的文獻綜述
財訊(2018年22期)2018-05-14 08:55:57
基于IPTV點播業(yè)務(wù)的視頻分段式轉(zhuǎn)碼方案的研究與應(yīng)用
傳播力研究(2018年7期)2018-05-10 09:42:47
貨幣政策、會計穩(wěn)健性與銀行信貸關(guān)系探析
绍兴市| 温宿县| 门头沟区| 宣武区| 云南省| 玉龙| 大理市| 青阳县| 芷江| 岳阳市| 革吉县| 亳州市| 普定县| 石屏县| 尼勒克县| 河北省| 嘉兴市| 广水市| 垦利县| 南阳市| 金华市| 樟树市| 鲁山县| 宿州市| 长子县| 仁布县| 新干县| 基隆市| 宣汉县| 安达市| 勐海县| 蛟河市| 合阳县| 南靖县| 甘谷县| 平潭县| 虞城县| 深圳市| 横峰县| 晋江市| 淮安市|