  We consider the problem of assembling a sequence based on a collection of its
substrings observed through a noisy channel. The mathematical basis of the
problem is the construction and design of sequences that may be discriminated
based on a collection of their substrings observed through a noisy channel. We
explain the connection between the sequence reconstruction problem and the
problem of DNA synthesis and sequencing, and introduce the notion of a DNA
storage channel. We analyze the number of sequence equivalence classes under
the channel mapping and propose new asymmetric coding techniques to combat the
effects of synthesis and sequencing noise. In our analysis, we make use of
restricted de Bruijn graphs and Ehrhart theory for rational polytopes.
