  Mutually Uncorrelated (MU) codes are a class of codes in which no proper
prefix of one codeword is a suffix of another codeword. These codes were
originally studied for synchronization purposes and recently, Yazdi et al.
showed their applicability to enable random access in DNA storage. In this work
we follow the research of Yazdi et al. and study MU codes along with their
extensions to correct errors and balanced codes. We first review a well known
construction of MU codes and study the asymptotic behavior of its cardinality.
This task is accomplished by studying a special class of run-length limited
codes that impose the longest run of zeros to be at most some function of the
codewords length. We also present an efficient algorithm for this class of
constrained codes and show how to use this analysis for MU codes. Next, we
extend the results on the run-length limited codes in order to study
$(d_h,d_m)$-MU codes that impose a minimum Hamming distance of $d_h$ between
different codewords and $d_m$ between prefixes and suffixes. In particular, we
show an efficient construction of these codes with nearly optimal redundancy.
We also provide similar results for the edit distance and balanced MU codes.
Lastly, we draw connections to the problems of comma-free and prefix
synchronized codes.
