流式BMRC:基于算术编码的pcDNA存储方案

崔竞松 ,  李嘉伟 ,  王兰兰 ,  郭迟 ,  齐浩

武汉大学学报(理学版) ›› 2023, Vol. 69 ›› Issue (6) : 787 -795.

PDF (888KB)
武汉大学学报(理学版) ›› 2023, Vol. 69 ›› Issue (6) : 787 -795. DOI: 10.14188/j.1671-8836.2022.0253
算法与应用

流式BMRC:基于算术编码的pcDNA存储方案

作者信息 +

Streamed-BMRC: pcDNA Storage Based on Arithmetic Coding

Author information +
文章历史 +
PDF (908K)

摘要

生物学研究表明,DNA蛋白质编码(protein-coding DNA,pcDNA)是一种具有一定的容量但不均匀的信息,受限于多种生物学条件,其存储介质模型不同于传统的计算机二进制存储。现有方案或无法高效利用其存储空间,或计算复杂度偏高。针对上述问题,提出了一种基于算术编码的编码方法——流式BMRC算法,使用重整化技术并通过输出符号的概率分布拟合,实现蛋白质编码DNA中的低复杂度、高效利用信息空间的任意信息存储。分析表明,该算法可以高效利用蛋白质编码DNA在生物学条件限制下的信息容量,且具有线性计算复杂度,技术优势明显。

Abstract

Biological studies have shown that protein-coding DNA (pcDNA) has a specific information capacity. However, its storage medium model is differ from traditional computer binary storage due to various biological constraints. Protein-coding DNA is a type of non-uniform information storage medium. Existing solutions either cannot efficiently utilize their storage space or have relatively high computational complexity. Aiming at this problem, an encoding method, the Streamed-BMRC algorithm, is proposed based on the arithmetic coding and entropy coding methods. The algorithm uses renormalization techniques to achieve low complexity and efficient usage of information space in pcDNA and simulates the probability distribution of output symbols. Analysis shows that the proposed scheme can efficiently utilize the information capacity of pcDNA under the restriction of biological conditions, has linear computational complexity, and demonstrates evident superiorities.

Graphical abstract

关键词

DNA存储 / 算术编码 / 非均匀存储 / 蛋白质编码DNA

Key words

DNA storage / arithmetic coding / non-uniform storage / pcDNA(protein-coding DNA)

引用本文

引用格式 ▾
崔竞松,李嘉伟,王兰兰,郭迟,齐浩. 流式BMRC:基于算术编码的pcDNA存储方案[J]. 武汉大学学报(理学版), 2023, 69(6): 787-795 DOI:10.14188/j.1671-8836.2022.0253

登录浏览全文

4963

注册一个新账户 忘记密码

0  引 言

DNA是带有生物遗传信息的长链聚合物,其四种碱基为:腺嘌呤(Adenine,A)、胸腺嘧啶(Thymine,T)、胞嘧啶(Cytosine,C)和鸟嘌呤(Guanine,G)。

由于各种生物学的限制,构成DNA的碱基序列不能被简单地看作可以任意编辑的四进制符号序列。DNA基因组序列中存在两种区域:蛋白质编码(protein-coding DNA,pcDNA)区和非蛋白质编码(non-protein-coding DNA,ncDNA)区。

在pcDNA中,每三个碱基相邻的碱基构成一个密码子(codon),各个密码子之间紧密排列且互不相交,每个密码子可以在生化活动中被翻译为一个特定的构成蛋白质的氨基酸。共有43=64种密码子,但氨基酸只有20种。因此,存在多个密码子对应同一个氨基酸的情况。对应于同一个氨基酸的不同密码子被称为同义密码子(synonym codons)。

在对pcDNA的碱基序列进行编辑时,为了不影响其生化特性和功能,需要保证其翻译生成的氨基酸序列不变。因此,可以使用“在不改变氨基酸的情况下替换同义密码子”的方法存储信息。自然界中各密码子的出现频率并非均等,存在密码子偏好性(codon bias),因而希望能够在嵌入信息时不改变或者尽可能少地影响pcDNA原来的密码子偏好性。

在生物信息领域,如何高效地利用DNA中的信息空间进行数据的存储一直是学界关心的问题。因此,本文结合算术编码(arithmetic coding,AC)方法提出了一种在考虑密码子偏好性的条件下可以充分利用pcDNA的信息容量进行信息存储的编码算法:流式(streamed)带有符号偏好性的变进制编码(biased mixed radix coding,BMRC)。

1  背景介绍

算术编码相关算法主要应用于数据压缩算法中,其核心思想来自信息论中的符号出现的概率越低,其携带的信息越多,反之亦然。例如,一个概率为p0<p1的符号所传递的信息量为log2 1p比特;通过在一个概率分布为ps0s<K的符号集合中选择一个符号,可以传递的平均信息量为H=s=0k-1ps×log2 1ps比特,其中H为香农熵。数据压缩算法的输出中,各个符号的出现频率往往是均匀的或接近均匀的。这是因为,各符号间的均匀分布可以使得平均信息率(比特数/符号)最大。

在常见的算术编码应用中,一般是以符号间概率不均等的符号串作为输入,并输出一个稍短的、符号间概率接近均等的串,且在这个过程中每个符号位上可能的符号集合是相同的。而在pcDNA的存储中,考虑到各种氨基酸所对应的同义密码子的数量不同,以及密码子偏好性(本质上即符号出现概率的不均匀性),可以利用算术编码的主要思想,设计一种新的算术编码方法以适应pcDNA这一不同的信息存储介质。Haughton等[1~3]讨论了pcDNA的存储模型,利用信息论分析了pcDNA中信息存储能力的上限。

另一方面,熵编码(entropy coding,EC)常常与数据压缩放在一起讨论。其中,算术编码[4~8]和哈夫曼编码[9,10]的应用较为广泛,Range Coding[11]则更加直观。Duda等[12]提出了一种新的熵编码方案Asymmetric Numeral System(ANS)。针对ANS及其流式版本,Yokoo和Dube给出了部分证明和对比[13~15],Townsend[16]也讨论了其特性。

2  带有符号偏好性的变进制编码

本节提出一组算法:流式BMRC编解码算法(算法1算法2),根据文献[8,11,12]中展示的一些构造方法,利用Streaming方法(亦称renormalization,重整化)将算法的复杂度从OW2优化至OW

2.1 流式BMRC算法

W表示待编码的位置数量;令Ki表示第i0i<W位上可供选择的符号数量(对应同义密码子数量);令ri表示第i位上的编码结果(对应密码子),且必须属于一个大小为Ki的集合;不失一般性,可令ri为整数,且0ri<Ki

编码方希望将一个任意的正整数N高效地编码到这W个位置上。对第i位上的编码结果ri,我们希望可能的Ki个符号以

Pri=j=di,jLi

的概率出现,其中,

di,jZ,0<di,jLi
Li=j=0Ki-1di,j

0j<Ki。记Di=di,0,di,1,,di,Ki-1

定义重排序函数Xi,Yi=ReorderDi。令j0j<Ki对应di,j个整数笛卡尔坐标:j,0,j,1,,j,di,j-1。由(3)式可知,共可得到Li个坐标点。将这些点重新进行排序得到xi,k,yi,k0i<W,0k<Li,使其满足条件:

i,k,yi,kk

(4)式的等号成立当且仅当

k=0  Ki=1

Ki=1可以导出di,0=Li

(4)和(5)式为单调性条件。满足该单调性条件的排列方式不唯一,编解码双方应使用相同的排列进行运算。这里给出一个简单且满足单调性条件的默认排序方法:以纵坐标数值为第一关键字、横坐标数值为第二关键字进行升序排列。例如:对Ki=3,Di=2,1,3,Li=6,取Xi,Yi=[0,0,1,0,2,0,0,1,2,1,2,2]

本质上可将XiYi看作查找表。为了描述方便,定义一个逆函数(亦可看作查找表):

Findixi,k,yi,k=k,0k<Li

流式BMRC编码算法的待编码信息输入为一串长度为Zb进制整数序列u0,u1,,uZ-1,0uj<b;流式BMRC解码算法的输出与之相似。其中还需引入一个Bound值,其本质可以理解为重整化的标准值,需要满足条件:

i,LiBound

算法1为流式BMRC编码算法,算法2为流式BMRC解码算法。若算法1的输出为None,则说明输入数据u0,u1,,uZ-1包含的信息多于指定的W个位置的信息容量之和。

2.2 流式BMRC算法举例

本小节演示了利用流式BMRC编码算法将长度为Z=10b=2进制序列u0,u1,,uZ-1=1,0,0,1,1,0,1,0,0,1编码到W=5个符号中,并利用流式BMRC解码算法从中还原出该输入序列的过程。为了方便计算,设

L0==LW-1=Bound=16

表1给出了所用的输入符号偏好性表(包括Ki,Di)。

首先,执行Xi,Yi=ReorderDi,使用默认排序方法。对于第i=0个符号,共有L0=16个坐标点需要排序。图1展示了其结果。

对于其他位置,也会进行同样的Reorder操作。表2展示了所有W=5个位置上的Reorder结果。

表3展示了流式BMRC编码过程的部分中间值。其中各个ri为输出,即编码结果为r0r1r2r3r4=3,2,1,3,2

表4展示了流式BMRC解码过程的部分中间值。其中各个ri为输入,解码结果为:

u0,u1,,uZ-1uZ-1',uZ-2',,u0'=1,0,0,1,1,0,1,0,0,1

3  利用流式BMRC在pcDNA中写入数据

在实际应用中,编码方首先获取待编码的原始DNA碱基序列,并识别出其中可供数据存储的pcDNA部分,经过筛选后可以得到基因的氨基酸序列。通过选择同义密码子,我们可以利用其传递信息,因此可将未确定密码子的氨基酸序列看作一种空的存储介质,可类比于“空白磁盘”。随后,利用氨基酸序列的信息(包括期望的密码子偏好性),使用流式BMRC编码算法,可以将一串有限长度的二进制序列通过选择每个氨基酸的密码子存储下来。流式BMRC编码后的结果是一串密码子序列。此后,利用生物工程技术,可以将该序列合成到实际的分子中或生物体内。

解码方可利用测序技术恢复出基因的碱基序列,进而得到氨基酸序列和密码子序列。解码方使用BMRC解码算法可以提取出编码方存入的二进制序列信息。

图2展示了使用流式BMRC算法在pcDNA中写入以及从中提取二进制数据的流程。其中用到的DNA序列来自大肠杆菌基因组中的“infA”基因(NCBI数据库[17]基因标识号945500)。

结合BMRC的编码逻辑,我们已经做了基因组信息存储和认证校验方面的工作并已成文。

4  算法分析

4.1 复杂度

算法1算法2的时间复杂度是OW,空间复杂度是OLi。影响空间复杂度的因素主要是LiLi越大,对各符号概率分布的拟合更准确,但同时重排序表也会越大,即空间复杂度越大。我们可以通过调整Li的大小,在查找表的大小与分布拟合的准确性这二者之间进行权衡。

另一方面,由于各个Li在流式BMRC算法中通常为除数和乘数,可以将它们取为2的整数次幂,以方便传统二进制计算机中的快速计算。

4.2 存储效率

对于流式BMRC编码算法(算法1)的编码输出结果的每一位ri,其概率分布满足Di的“刻画”。因此,在任意输入Di限制下,本文的编码算法平均信息存储密度均可达到理论极限——香农熵。

4.3 单调性

我们希望证明算法1中每轮循环中生成ri时(即算法1的9至16行)的N值是不增加的。记在某次循环中新产生的N值为N'。只需证明:

N'N

利用(2)式和单调性条件中的(3)式,可以得到:

N'=nq×di,ri+qi=NLi×di,ri+yi,nr
NLi×Li+nr=NLi×Li+N mod Li=N

等号成立当且仅当:

qi=N mod Li, di,ri=Li

9式可以导出:

Ki=1,ri=0

10式这一等号成立条件是直观的。因为若Ki=1成立,则意味着在第i个位置上只有一个符号可选,即该位置不能传递任何信息,因而N'值会保持不变。同理,也可以证明算法2中每轮循环中使用ri时(即算法2的6至11行)必然有N'N

8式的证明也解释了3.1节中描述的单调性条件。其核心思想在于,要确保第i个位置上的信息容量尽可能地对N产生变化。在上述单调性条件满足的情况下,利用足够多信息容量为非零的待编码位置,输入序列u0,u1,,uZ-1所传递的信息将最终被完全编码;反之,N在某些情况下可能不会降至0,算法也无法正常退出。

4.4 可能的安全性

重排序存在多种合法输出,编码方和解码方需要共享排序结果。这一特性容易让我们联想到利用对称加密方案来保护信息的机密性。显然,若解码方使用错误的Reorder输出,则不能完美恢复编码算法的输入。问题在于,对于一组给定的LiDi,随机改变排序能够达到多少位的安全。

重排序的过程可以通过一个密钥来控制,更具体的,可以采用某种密钥调度算法,但其结果仍需满足单调性条件。Li越大,可能的排列方式会越多,从而也会增强算法的安全性。

Camtepe等[18]也提出了一种具有一定安全性的tANS方案。相关问题留给后续研究。

5  相关方案

生物信息领域亟须高效的pcDNA存储方案。但已有的方案均无法做到在考虑密码子偏好性的前提下高效地利用pcDNA中的信息熵。

BioCode[19]、DNA-Crypt[20]和DNA-LCEB[21]方案对信息容量有较大浪费,且没有考虑密码子偏好性。Modegi[22]的方法对信息容量有极大浪费。Shimanovsky等[23]采用Range Coding方法较好地利用了pcDNA中的信息容量,该方案虽然没有考虑密码子偏好性,但可以通过简单的改造使其纳入考虑范围;该方案的计算复杂度偏高。Abdullah等[24]未能考虑密码子偏好性。

Choi等[25]的方案仅仅考虑了ncDNA中的信息存储。另有许多大规模DNA存储方案,多为面向人造的ncDNA序列,如Organick方案[26]、Anavy方案[27]。Hao等[28]、郜艳敏等[29]、Dagher等[30]对DNA存储相关生物技术和算法方案进行了总结和讨论。

Liu等[31]的MRC方案主要针对ncDNA存储,但对于pcDNA提供了很好的思路。

表5给出了各种已有方案在相关特性上的对比。

6  结 语

本文提出了一种能够在DNA蛋白质编码区等非均匀存储介质中存入任意信息的编码算法,是算术编码思想在DNA存储领域的创新性应用。这一算法给出了高效利用DNA蛋白质编码区的信息容量进行信息存储的方法,有助于DNA体内存储的改进和发展。

此外,对于流式BMRC算法的流式改造方法和安全性尚有值得研究和讨论的空间。未来,我们将继续这方面的研究。

参考文献

[1]

HAUGHTON DBALADO F. Performance of DNA data embedding algorithms under substitution mutations[C]//2010 IEEE International Conference on Bioinformatics and Biomedicine Workshops (BIBMW). New York: IEEE Press, 2011: 201-206. DOI: 10.1109/BIBMW.2010.5703799 .

[2]

BALADO F. On the Shannon capacity of DNA data embedding[C]//2010 IEEE International Conference on Acoustics, Speech and Signal Processing. New York: IEEE Press, 2010: 1766-1769. DOI: 10.1109/ICASSP.2010.5495437 .

[3]

BALADO F. On the embedding capacity of DNA strands under substitution, insertion, and deletion mutations[C]//Proc SPIE 7541, Media Forensics and Security Ⅱ, 20107541: 411-422. DOI: 10.1117/12.838537 .

[4]

RISSANEN JLANGDON G G. Arithmetic coding[J]. IBM Journal of Research and Development197923(2): 149-162. DOI: 10.1147/rd.232.0149 .

[5]

RISSANEN J J. Generalized Kraft inequality and arithmetic coding[J]. IBM Journal of Research and Development197620(3): 198-203. DOI: 10.1147/rd.203.0198 .

[6]

LANGDON G G. An introduction to arithmetic coding[J]. IBM Journal of Research and Development198428(2): 135-149. DOI: 10.1147/rd.282.0135 .

[7]

WITTEN INEAL R MCLEARY J. Arithmetic coding for data compression[J]. Communications of the ACM198730: 520-540. DOI: 10.1145/214762.214771 .

[8]

PENNEBAKER W BMITCHELL J LLANGDON G Get al. An overview of the basic principles of the Q-Coder adaptive binary arithmetic coder[J]. IBM Journal of Research and Development198832(6): 717-726. DOI: 10.1147/rd.326.0717 .

[9]

HUFFMAN D A. A method for the construction of minimum-redundancy codes[J]. Resonance200611(2): 91-99. DOI: 10.1007/BF02837279 .

[10]

Van LEEUWEN J. On the construction of Huffman trees[M].Automata,Languages and Programming. Edinburgh: Edinburgh University Press, 1976: 382-410.

[11]

MARTIN G N N. Range encoding: An algorithm for removing redundancy from a digitised message[DB/OL].[2022-09-10].

[12]

DUDA JTAHBOUB KGADGIL N Jet al. The use of asymmetric numeral systems as an accurate replacement for Huffman coding[C]//2015 Picture Coding Symposium (PCS). New York: IEEE Press, 2015: 65-69. DOI: 10.1109/PCS.2015.7170048 .

[13]

YOKOO H. On the stationary distribution of asymmetric binary systems[C]//2016 IEEE International Symposium on Information Theory (ISIT). New York: IEEE Press, 2016: 11-15. DOI: 10.1109/ISIT.2016.7541051 .

[14]

DUBÉ DYOKOO H. Empirical Evaluation of the Effect of the Symbol Distribution on the Performance of ANS[DB/OL]. [2022-09-11].

[15]

YOKOO HDUBÉ D. Asymptotic Optimality of Asymmetric Numeral Systems[DB/OL]. [2022-10-11].

[16]

TOWNSEND J. A tutorial on the range variant of asymmetric numeral systems [EB/OL]. 2020arXiv: 2001.09186.

[17]

SAYERS E WBECK JBOLTON E Eet al. Database resources of the national center for biotechnology information[J]. Nucleic Acids Research202149(D1): D10-D17. DOI: 10.1093/nar/gkaa892 .

[18]

CAMTEPE SDUDA JMAHBOUBI Aet al. ANS-based compression and encryption with 128-bit security[J]. International Journal of Information Security202221(5): 1051-1067. DOI: 10.1007/s10207-022-00597-4 .

[19]

HAUGHTON DBALADO F. BioCode: Two biologically compatible algorithms for embedding data in non-coding and coding regions of DNA[J]. BMC Bioinformatics201314: 121. DOI: 10.1186/1471-2105-14-121 .

[20]

HEIDER DBARNEKOW A. DNA-based watermarks using the DNA-Crypt algorithm[J]. BMC Bioinformatics20078: 176. DOI: 10.1186/1471-2105-8-176 .

[21]

HAFEEZ IKHAN AQADIR A. DNA-LCEB: A high-capacity and mutation-resistant DNA data-hiding approach by employing encryption, error correcting codes, and hybrid twofold and fourfold codon-based strategy for synonymous substitution in amino acids[J]. Medical & Biological Engineering & Computing201452(11): 945-961. DOI: 10.1007/s11517-014-1194-2 .

[22]

MODEGI T. Watermark embedding techniques for DNA sequences using codon usage bias features[DB/OL]. [2022-09-11].

[23]

SHIMANOVSKY BFENG JPOTKONJAK M. Hiding data in DNA[C]//Information Hiding. Heidelberg: Springer, 2002: 373-386. DOI: 10.1007/3-540-36415-3_24 .

[24]

ABDULLAH A AEESA A SABDO A M. New data hiding approach based on biological functionality of DNA sequence[J]. Science Journal of University of Zakho20197(4): 184-189. DOI: 10.25271/sjuoz.2019.7.4.647 .

[25]

CHOI Y, RYU T, LEE A Cet al. High information capacity DNA-based data storage with augmented encoding characters using degenerate bases[J]. Scientific Reports20199: 6582. DOI: 10.1038/s41598-019-43105-w .

[26]

ORGANICK LANG S DCHEN Y Jet al. Random access in large-scale DNA data storage[J]. Nature Biotechnology201836(3): 242-248. DOI: 10.1038/nbt.4079 .

[27]

ANAVY LVAKNIN IATAR Oet al. Data storage in DNA with fewer synthesis cycles using composite DNA letters[J]. Nature Biotechnology201937(10): 1229-1236. DOI: 10.1038/s41587-019-0240-x .

[28]

HAO Y YLI QFAN C Het al. Data storage based on DNA[J]. Small Structures20212(2): 2000046. DOI: 10.1002/sstr.202000046 .

[29]

郜艳敏, 唐梦童, 刘倩, . DNA信息存储中关键生化方法的研究[J]. 合成生物学20212(3): 384-398. DOI: 10.12211/2096-8280.2020-085 .

[30]

GAO Y MTANG M TLIU Qet al. The pivotal biochemical methods in DNA data storage[J]. Synthetic Biology Journal20212(3): 384-398. DOI: 10.12211/2096-8280.2020-085(Ch ).

[31]

DAGHER G GMACHADO A PDAVIS E Cet al. Data storage in cellular DNA: Contextualizing diverse encoding schemes[J]. Evolutionary Intelligence202114(2): 331-343. DOI: 10.1007/s12065-019-00202-z .

[32]

LIU QWANG P CCUI J Set al. MRC: A high density encoding method for pratical DNA-based storage[C]//2020 8th International Conference on Advanced Cloud and Big Data (CBD). New York: IEEE Press, 2021: 13-19. DOI: 10.1109/CBD51900.2020.00012 .

[33]

GenScript. Codon Usage Frequency Table(chart)-Genscript[EB/OL]. [2022-10-30].

基金资助

湖北省科技重大项目(2021AAA010)

湖北省首批青年拔尖人才培养计划

AI Summary AI Mindmap
PDF (888KB)

0

访问

0

被引

详细

导航
相关文章

AI思维导图

/