\HeaderA{reverseComplement}{Sequence reversing and complementing}{reverseComplement}
\aliasA{complement}{reverseComplement}{complement}
\aliasA{complement,BStringViews-method}{reverseComplement}{complement,BStringViews.Rdash.method}
\aliasA{complement,DNAString-method}{reverseComplement}{complement,DNAString.Rdash.method}
\aliasA{reverse}{reverseComplement}{reverse}
\aliasA{reverse,BString-method}{reverseComplement}{reverse,BString.Rdash.method}
\aliasA{reverse,BStringViews-method}{reverseComplement}{reverse,BStringViews.Rdash.method}
\aliasA{reverseComplement,BStringViews-method}{reverseComplement}{reverseComplement,BStringViews.Rdash.method}
\aliasA{reverseComplement,DNAString-method}{reverseComplement}{reverseComplement,DNAString.Rdash.method}
\keyword{methods}{reverseComplement}
\keyword{manip}{reverseComplement}
\begin{Description}\relax
These functions can reverse a \LinkA{BString}{BString}, \LinkA{DNAString}{DNAString}
or \LinkA{RNAString}{RNAString} object and complement each base
of a \LinkA{DNAString}{DNAString} object.
\end{Description}
\begin{Usage}
\begin{verbatim}
  reverse(x)
  complement(x)
  reverseComplement(x)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{x}] A \code{\LinkA{BString}{BString}} (or derived) object
or a \code{\LinkA{BStringViews}{BStringViews}} object for \code{reverse}.
A \code{\LinkA{DNAString}{DNAString}} object
or a \code{\LinkA{BStringViews}{BStringViews}} object
with a \code{\LinkA{DNAString}{DNAString}} subject for \code{complement}
and \code{reverseComplement}.

\end{ldescription}
\end{Arguments}
\begin{Details}\relax
Given an object \code{x} of class \LinkA{BString}{BString}, \LinkA{DNAString}{DNAString}
or \LinkA{RNAString}{RNAString}, \code{reverse(x)} returns an object of the same class
where letters in \code{x} are reordered in the reverse ordered.
If \code{x} is a \LinkA{DNAString}{DNAString} object, \code{complement(x)} returns
an object where each base in \code{x} is "complemented" i.e.
A, C, G, T are replaced by T, G, C, A respectively.
Letters belonging to the "IUPAC extended genetic alphabet"
are also replaced by their complement (M <-> K, R <-> Y, S <-> S, V <-> B,
W <-> W, H <-> D, N <-> N) and the gap symbol (-) is unchanged.
\code{reverseComplement(x)} is equivalent to \code{reverse(complement(x))}
but is faster and more memory efficient.
\end{Details}
\begin{Value}
An object of the same class and length as the original object.
\end{Value}
\begin{Author}\relax
H. Pages
\end{Author}
\begin{SeeAlso}\relax
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
  reverseComplement(DNAString("ACGT-YN-"))
\end{ExampleCode}
\end{Examples}


