  Background:
  RNA exhibits a variety of structural configurations. Here we consider a
structure to be tantamount to the noncrossing Watson-Crick and \pairGU-base
pairings (secondary structure) and additional cross-serial base pairs. These
interactions are called pseudoknots and are observed across the whole spectrum
of RNA functionalities. In the context of studying natural RNA structures,
searching for new ribozymes and designing artificial RNA, it is of interest to
find RNA sequences folding into a specific structure and to analyze their
induced neutral networks. Since the established inverse folding algorithms,
{\tt RNAinverse}, {\tt RNA-SSD} as well as {\tt INFO-RNA} are limited to RNA
secondary structures, we present in this paper the inverse folding algorithm
{\tt Inv} which can deal with 3-noncrossing, canonical pseudoknot structures.
  Results:
  In this paper we present the inverse folding algorithm {\tt Inv}. We give a
detailed analysis of {\tt Inv}, including pseudocodes. We show that {\tt Inv}
allows to design in particular 3-noncrossing nonplanar RNA pseudoknot
3-noncrossing RNA structures-a class which is difficult to construct via
dynamic programming routines. {\tt Inv} is freely available at
\url{http://www.combinatorics.cn/cbpc/inv.html}.
  Conclusions:
  The algorithm {\tt Inv} extends inverse folding capabilities to RNA
pseudoknot structures. In comparison with {\tt RNAinverse} it uses new ideas,
for instance by considering sets of competing structures. As a result, {\tt
Inv} is not only able to find novel sequences even for RNA secondary
structures, it does so in the context of competing structures that potentially
exhibit cross-serial interactions.
