Make a new multiple sequence alignment (MSA) object given a vector of
character strings. They can be optionally annotated with sample names.
Each character string in seqs must be the same length, and number of
elements in names (if provided) must match the number of elements in
seqs.
Alphabet generally does not have to be specified if working with
DNA alignments.
About storing objects as pointers:
If pointer.only==FALSE
, the MSA object will be stored in R and can be
viewed and modified by base R code as well as RPHAST functions.
Setting pointer.only=TRUE
will cause the object to be stored by
reference, as an external pointer to an object created by C code. This
may be necessary to improve performance, but the object can then only
be viewed/manipulated via RPHAST functions. Furthermore, if an object
is stored as a pointer, then its value is liable to be changed when
passed as an argument to a function. All RPHAST functions which change
the value of an external pointer make a note of this in the help pages
for that function. For example, extract.feature.msa will alter an
alignment if it is passed in as an external pointer (the argument will
be changed into the return value). If this is undesireable, the copy.msa
function can be used: extract.feature.msa(copy.msa(align)) will preserve
the original alignment. Simple copying, ie, align2->align1
of
objects stored as pointer will not behave like normal R objects: both objects
will point to the same C structure, and both will be changed if either one
is altered. Instead align2 <- copy.msa(align1)
should be used.