  Motivated by mutation processes occurring in in-vivo DNA-storage
applications, a channel that mutates stored strings by duplicating substrings
as well as substituting symbols is studied. Two models of such a channel are
considered: one in which the substitutions occur only within the duplicated
substrings, and one in which the location of substitutions is unrestricted.
Both error-detecting and error-correcting codes are constructed, which can
handle correctly any number of tandem duplications of a fixed length $k$, and
at most a single substitution occurring at any time during the mutation
process.
