all.equal.DNAbin: Compare DNA Sets

View source: R/DNA.R

all.equal.DNAbinR Documentation

Compare DNA Sets

Description

Comparison of DNA sequence sets, particularly when aligned.

Usage

## S3 method for class 'DNAbin'
all.equal(target, current, plot = FALSE, ...)

Arguments

target, current

the two sets of sequences to be compared.

plot

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.

Details

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).

Value

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.

Author(s)

Emmanuel Paradis

See Also

image.DNAbin, clustal, checkAlignment, the generic function: all.equal

Examples

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)

## End(Not run)

ape documentation built on March 31, 2023, 6:56 p.m.