  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.
