\HeaderA{RNAString-class}{The RNAString class}{RNAString.Rdash.class}
\aliasA{alphabet,RNAString-method}{RNAString-class}{alphabet,RNAString.Rdash.method}
\aliasA{class:RNAString}{RNAString-class}{class:RNAString}
\aliasA{initialize,RNAString-method}{RNAString-class}{initialize,RNAString.Rdash.method}
\aliasA{RNAString}{RNAString-class}{RNAString}
\aliasA{RNA\_ALPHABET}{RNAString-class}{RNA.Rul.ALPHABET}
\keyword{methods}{RNAString-class}
\keyword{classes}{RNAString-class}
\begin{Description}\relax
A \code{RNAString} object allows efficient storage
and manipulation of a long RNA sequence.
\end{Description}
\begin{Details}\relax
The \code{RNAString} class derives directly from the
\code{\LinkA{BString}{BString}} class (with no additional slot).
All functions and methods described in the
\code{\LinkA{BString}{BString}} man page also work
with a \code{RNAString} object (inheritance).

Unlike a \code{\LinkA{BString}{BString}} object that allows storage
of any non-empty string (based on a single-byte character set)
a \code{RNAString} object can only store a non-empty string
based on the RNAString alphabet (see below).
In addition, the letters stored in a \code{RNAString} object
are encoded in a way that optimizes fast search algorithms.
\end{Details}
\begin{Section}{The RNAString alphabet}
This alphabet contains all letters from the
IUPAC Extended Genetic Alphabet (see \code{\LinkA{IUPAC\_CODE\_MAP}{IUPAC.Rul.CODE.Rul.MAP}})
where \code{"T"} is replaced by \code{"U"}
+ the gap letter \code{"-"}.
It is stored in the \code{RNA\_ALPHABET} constant (character vector).
The \code{alphabet} method also returns
\code{RNA\_ALPHABET} when applied to a \code{RNAString}
object and is provided for convenience only.
\end{Section}
\begin{Section}{Constructor-like functions and generics}
In the code snippet below,
\code{src} can be a character vector
or a \code{\LinkA{BString}{BString}} (or derived) object.

\describe{
\item[] \code{RNAString(src)}:
[TODO: Document me]

}
\end{Section}
\begin{Author}\relax
H. Pages
\end{Author}
\begin{SeeAlso}\relax
\code{\LinkA{BString}{BString}}, \code{\LinkA{IUPAC\_CODE\_MAP}{IUPAC.Rul.CODE.Rul.MAP}},
\code{\LinkA{DNAString}{DNAString}}, \code{\LinkA{BStringViews}{BStringViews}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
  d <- DNAString("TTGAAAA-CTC-N")
  r <- RNAString(d)
  alphabet(r)
  RNA_ALPHABET
\end{ExampleCode}
\end{Examples}


