Plot of DNA Sequence Alignement

Description

This function plots an image of an alignment of nucleotide sequences.

Usage

1
2
3
## S3 method for class 'DNAbin'
image(x, what, col, bg = "white", xlab = "", ylab = "",
      show.labels = TRUE, cex.lab = 1, legend = TRUE, ...)

Arguments

x

a matrix of DNA sequences (class "DNAbin").

what

a vector of characters specifying the bases to visualize. If missing, this is set to “a”, “g”, “c”, “t”, “n”, and “-” (in this order).

col

a vector of colours. If missing, this is set to “red”, “yellow”, “green”, “blue”, “grey”, and “black”. If it is shorter (or longer) than what, it is recycled (or shortened).

bg

the colour used for nucleotides whose base is not among what.

xlab

the label for the x-axis; none by default.

ylab

Idem for the y-axis. Note that by default, the labels of the sequences are printed on the y-axis (see next option).

show.labels

a logical controlling whether the sequence labels are printed (TRUE by default).

cex.lab

a single numeric controlling the size of the sequence labels. Use cex.axis to control the size of the annotations on the x-axis.

legend

a logical controlling whether the legend is plotted (TRUE by default).

...

further arguments passed to image.default (e.g., cex.axis).

Details

The idea of this function is to allow flexible plotting and colouring of a nucleotide alignment. By default, the most common bases (a, g, c, t, and n) and alignment gap are plotted using a standard colour scheme.

It is possible to plot only one base specified as what with a chosen colour: this might be useful to check, for instance, the distribution of alignment gaps (image(x, "-")) or missing data (see examples).

Author(s)

Emmanuel Paradis

See Also

DNAbin, del.gaps, alex, alview, all.equal.DNAbin, clustal, grid, image.AAbin

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
data(woodmouse)
image(woodmouse)
rug(seg.sites(woodmouse), -0.02, 3, 1)
image(woodmouse, "n", "blue") # show missing data
image(woodmouse, c("g", "c"), "green") # G+C
par(mfcol = c(2, 2))
### barcoding style:
for (x in c("a", "g", "c", "t"))
    image(woodmouse, x, "black", cex.lab = 0.5, cex.axis = 0.7)
par(mfcol = c(1, 1))
### zoom on a portion of the data:
image(woodmouse[11:15, 1:50], c("a", "n"), c("blue", "grey"))
grid(50, 5, col = "black")
### see the guanines on a black background:
image(woodmouse, "g", "yellow", "black")

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.