R: Compare DNA Sets

all.equal.DNAbin {ape} | R 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)

[Package ape version 5.1 Index]