  In DNA-based data storage, DNA codes with biochemical constraints and error
correction are designed to protect data reliability. Single-stranded DNA
sequences with secondary structure avoidance (SSA) help to avoid undesirable
secondary structures which may cause chemical inactivity. Homopolymer
run-length limit and GC-balanced limit also help to reduce the error
probability of DNA sequences during synthesizing and sequencing. In this
letter, based on a recent work \cite{bib7}, we construct DNA codes free of
secondary structures of stem length $\geq m$ and have homopolymer run-length
$\leq\ell$ for odd $m\leq11$ and $\ell\geq3$ with rate
$1+\log_2\rho_m-3/(2^{\ell-1}+\ell+1)$, where $\rho_m$ is in Table \ref{tm}. In
particular, when $m=3$, $\ell=4$, its rate tends to 1.3206 bits/nt, beating a
previous work by Benerjee {\it et al.}. We also construct DNA codes with all of
the above three constraints as well as single error correction. At last, codes
with GC-locally balanced constraint are presented.
