DNA是自然界存储生物基因信息的核心载体。基于DNA的数据存储有非常高的存储密度(10的9次方GB/mm的立方)、存储容量、和持久性(半衰期500年)且能量消耗很低。
DNA链由4种不同的核苷酸组成,每个核苷酸携带腺嘧啶(A)、鸟嘧啶(G)、胸腺嘧啶(C)和胞嘧啶(G)四种碱基中的一种,代表其携带不同的信息,比如A→00, G→10, C→01, T→11。
在DNA合成和测序的过程中,可能发生许多错误,导致无法正确恢复存储的信息,可借助编码的手段,通过引入冗余使编码具备纠错的能力,即将原始信息序列(取自某个有限域)映射到(符号集{A, G, C, T}上的)DNA码字空间里,并保证码字之间的最小汉明距离超过一定的阈值,在解码过程中利用合适的判别准则正确地恢复原始序列。
此外,DNA码字还必须满足如下四种重要约束:
- GC-Content约束。按照碱基互补配对原则,A=T,G≡C。G与C之间的化学键较强,DNA链中G和C的比例会影响其稳定性和退火温度。通常G和C的比例保持在50%左右的DNA链的稳定性最高,因此基于DNA的数据存储选择接近50%的GC比例。
- Homopolymer Run-Length约束。DNA序列中由相同碱基连续排列组成的子串称作Homopolymer Run,其最大长度称作序列的Run-Length。在DNA序列的合成和测序过程中,Run-Length较高的子串更易产生错误,所以要尽可能避免出现较长的Homopolymer Run。
- 反转(Reversible)约束。任意DNA码字的反转与其他码字的汉明距离必须超过码字的最小汉明距离,从而避免序列反转后译码出现错误。
- 反转互补约束(Reversible-Complement)约束。任意DNA码字的反转互补与其他码字的汉明距离必须超过码字的最小汉明距离。
此外,由于组成不同的DNA链形成二级结构的倾向不同,展开二级结构需要额外的能量,影响实际存储效率。所以,设计具备特定结构的DNA码以避免二级结构形成也是一项约束。
参考文献
1. On DNA Codes Over the Non-Chain Ring with
, https://doi.org/10.48550/arXiv.2211.13925
2. Construction of Multiple Constrained DNA Codes, https://doi.org/10.48550/arXiv.2211.16096