Manipulate DNA Sequences in Bit-Level Format
These functions help to manipulate DNA sequences coded in the bit-level coding scheme.
## S3 method for class 'DNAbin': print(x, printlen = 6, digits = 3, \dots) ## S3 method for class 'DNAbin': rbind(\dots) ## S3 method for class 'DNAbin': cbind(\dots, check.names = TRUE, fill.with.gaps = FALSE, quiet = FALSE) ## S3 method for class 'DNAbin': [(x, i, j, drop = FALSE) ## S3 method for class 'DNAbin': as.matrix(x, \dots) ## S3 method for class 'DNAbin': c(\dots, recursive = FALSE) ## S3 method for class 'DNAbin': as.list(x, \dots) ## S3 method for class 'DNAbin': labels(object, \dots)
These are all `methods' of generic functions which are here applied to
DNA sequences stored as objects of class
"DNAbin". They are
used in the same way than the standard Rfunctions to manipulate
vectors, matrices, and lists. Additionally, the operators
$ may be used to extract a vector from a list. Note that
the default of
drop is not the same than the generic operator:
this is to avoid dropping rownames when selecting a single sequence.
These functions are provided to manipulate easily DNA sequences coded
with the bit-level coding scheme. The latter allows much faster
comparisons of sequences, as well as storing them in less memory
compared to the format used before
cbind, the default behaviour is to keep only individuals
(as indicated by the rownames) for which there are no missing data. If
fill.with.gaps = TRUE, a `complete' matrix is returned,
enventually with insertion gaps as missing data. If
= TRUE (the default), the rownames of each matrix are checked, and
the rows are reordered if necessary. If
check.names = FALSE,
the matrices must all have the same number of rows, and are simply
binded; the rownames of the first matrix are used. See the examples.
as.matrix may be used to convert DNA sequences (of the same
length) stored in a list into a matrix while keeping the names and the
as.list does the reverse operation.
an object of class
"DNAbin" in the case of
Paradis, E. (2007) A Bit-Level Coding Scheme for Nucleotides.
Paradis, E. (2012) Analysis of Phylogenetics and Evolution with R (Second Edition). New York: Springer.
The corresponding generic functions are documented in the package
data(woodmouse) woodmouse print(woodmouse, 15, 6) print(woodmouse[1:5, 1:300], 15, 6) ### Just to show how distances could be influenced by sampling: dist.dna(woodmouse[1:2, ]) dist.dna(woodmouse[1:3, ]) ### cbind and its options: x <- woodmouse[1:2, 1:5] y <- woodmouse[2:4, 6:10] as.character(cbind(x, y)) # gives warning as.character(cbind(x, y, fill.with.gaps = TRUE)) as.character(cbind(x, y, check.names = FALSE)) # gives an error