LOCO Codes Can Correct as Well: Error-Correction Constrained Coding for DNA Data Storage
Canberk İrimağzı, Ahmed Hareedy
TL;DR
This work extends DNA LOCO codes to EC D-LOCO codes that correct substitution errors via syndrome-like residue decoding, using a redundancy metric $R(m)$ to select indices divisible by $R(m)$ under run-length constraints $\ell \in \{1,2,3\}$ and GC-content balancing. It introduces a 3-symbol bridging scheme, a list-decoding extension for double substitutions, and a detailed analysis of index differences to bound the residue-table size, showing that the redundancy scales as $2\log_2(m)+O(1)$ and the rate is capacity-approaching for the constrained system. The paper provides a formal construction of $\mathcal{D}^{\mathsf{Res}}_{m,\ell}$, a residue decoding algorithm with $O(m^2)$ to $O(m^3)$ complexity, and comparative assessments against existing schemes, along with modeling of $R(m)$ and practical storage implications. The proposed approach enables scalable, reliable DNA data storage with constrained runs and GC balance, while supporting single-substitution correction and high-probability double-substitution correction, paving the way for reconstruction-assisted handling of deletions and insertions in future work.
Abstract
As a medium for cold data storage, DNA stands out as it promises significant gains in storage capacity and lifetime. However, it comes with its own data processing challenges to overcome. Constrained codes over the DNA alphabet $\{A,T,G,C\}$ have been used to design DNA sequences that are free of long homopolymers to increase stability, yet effective error detection and error correction are required to achieve reliability in data retrieval. Recently, we introduced lexicographically-ordered constrained (LOCO) codes, namely DNA LOCO (D-LOCO) codes, with error detection. In this paper, we equip our D-LOCO codes with error correction for substitution errors via syndrome-like decoding, designated as residue decoding. We only use D-LOCO codewords of indices divisible by a suitable redundancy metric $R(m) > 0$, where $m$ is the code length, for error correction. We provide the community with a construction of constrained codes forbidding runs of length higher than fixed $\ell \in \{1,2,3\}$ and $GC$-content in $\big [0.5-\frac{1}{2K},0.5+\frac{1}{2K}\big ]$ that correct $K$ segmented substitution errors, one per codeword. We call the proposed codes error-correction (EC) D-LOCO codes. We also give a list-decoding procedure with near-quadratic time-complexity in $m$ to correct double-substitution errors within EC D-LOCO codewords, which has $> 98.20\%$ average success rate. The redundancy metric is projected to require $2\log_2(m)+O(1)$-bit allocation for a length-$m$ codeword. Hence, our EC D-LOCO codes are projected to be capacity-approaching with respect to the error-free constrained system.
