  We consider the inverse-folding problem for RNA secondary structures: for a
given (pseudo-knot-free) secondary structure find a sequence that has that
structure as its ground state. If such a sequence exists, the structure is
called designable. We implemented a branch-and-bound algorithm that is able to
do an exhaustive search within the sequence space, i.e., gives an exact answer
whether such a sequence exists. The bound required by the branch-and-bound
algorithm are calculated by a dynamic programming algorithm. We consider
different alphabet sizes and an ensemble of random structures, which we want to
design. We find that for two letters almost none of these structures are
designable. The designability improves for the three-letter case, but still a
significant fraction of structures is undesignable. This changes when we look
at the natural four-letter case with two pairs of complementary bases:
undesignable structures are the exception, although they still exist. Finally,
we also study the relation between designability and the algorithmic complexity
of the branch-and-bound algorithm. Within the ensemble of structures, a high
average degree of undesignability is correlated to a long time to prove that a
given structure is (un-)designable. In the four-letter case, where the
designability is high everywhere, the algorithmic complexity is highest in the
region of naturally occurring RNA.
