  Encoding data as a set of unordered strings is receiving great attention as
it captures one of the basic features of DNA storage systems. However, the
challenge of constructing optimal redundancy codes for this channel remained
elusive. In this paper, we address this problem and present an order-wise
optimal construction of codes that are capable of correcting multiple
substitution, deletion, and insertion errors for this channel model. The key
ingredient in the code construction is a technique we call robust indexing:
simultaneously assigning indices to unordered strings (hence, creating order)
and also embedding information in these indices.
  The encoded indices are resilient to substitution, deletion, and insertion
errors, and therefore, so is the entire code.
