Clustering-Correcting Codes

Tal Shinkar, Eitan Yaakobi, Andreas Lenz, Antonia Wachter-Zeh

Research output: Contribution to journalArticlepeer-review


A new family of codes, called clustering-correcting codes, is presented in this paper. This family of codes is motivated by the special structure of the data that is stored in DNA-based storage systems. The data stored in these systems has the form of unordered sequences, also called strands, and every strand is synthesized thousands to millions of times, where some of these copies are read back during sequencing. Due to the unordered structure of the strands, an important task in the decoding process is to place them in their correct order. This is usually accomplished by allocating part of the strand for an index. However, in the presence of errors in the index field, important information on the order of the strands may be lost. Clustering-correcting codes ensure that if the distance between the index fields of two strands is small, their data fields have large distance. It is shown how this property enables to place the strands together in their correct clusters even in the presence of errors. We present lower and upper bounds on the size of clustering-correcting codes and an explicit construction of these codes which uses only a single symbol of redundancy. The results are first presented for the Hamming metric and are then extended for the edit distance.

Original languageEnglish
Pages (from-to)1560-1580
Number of pages21
JournalIEEE Transactions on Information Theory
Issue number3
StatePublished - 1 Mar 2022


  • Codes
  • DNA
  • Encoding
  • Indexes
  • Redundancy
  • Sequential analysis
  • Task analysis

All Science Journal Classification (ASJC) codes

  • Information Systems
  • Computer Science Applications
  • Library and Information Sciences


Dive into the research topics of 'Clustering-Correcting Codes'. Together they form a unique fingerprint.

Cite this