Comparison of DNA sequence sets, particularly when aligned.
# S3 method for DNAbin
all.equal(target, current, plot = FALSE, ...)
the two sets of sequences to be compared.
a logical value specifying whether to plot the sites that are different (only if the labels of both alignments are the same).
further arguments passed to image.DNAbin
.
TRUE
if the two sets are identical; a list with two elements
(message and different.sites) if a detailed comparison is done; or a
vector of mode character.
If the two sets of DNA sequences are exactly identical, this function
returns TRUE
. Otherwise, a detailed comparison is made only if
the labels (i.e., rownames) of target
and current
are the
same (possibly in different orders). In all other cases, a brief
description of the differences is returned (sometimes with
recommendations to make further comparisons).
This function can be used for testing in programs using
isTRUE
(see examples below).
image.DNAbin
, clustal
,
checkAlignment
,
the generic function: all.equal
# NOT RUN {
data(woodmouse)
woodm2 <- woodmouse
woodm2[1, c(1:5, 10:12, 30:40)] <- as.DNAbin("g")
res <- all.equal(woodmouse, woodm2, plot = TRUE)
str(res)
## if used for testing in R programs:
isTRUE(all.equal(woodmouse, woodmouse)) # TRUE
isTRUE(all.equal(woodmouse, woodm2)) # FALSE
all.equal(woodmouse, woodmouse[15:1, ])
all.equal(woodmouse, woodmouse[-1, ])
all.equal(woodmouse, woodmouse[, -1])
# }
# NOT RUN {
## To run the followings you need internet and Clustal and MUSCLE
## correctly installed.
## Data from Johnson et al. (2006, Science)
refs <- paste("DQ082", 505:545, sep = "")
DNA <- read.GenBank(refs)
DNA.clustal <- clustal(DNA)
DNA.muscle <- muscle(DNA)
isTRUE(all.equal(DNA.clustal, DNA.muscle)) # FALSE
all.equal(DNA.clustal, DNA.muscle, TRUE)
# }
Run the code above in your browser using DataLab