Learn R Programming

MALDIquant (version 1.4)

labelPeaks-methods: Draws peak labels to plot.

Description

labelPeaks draws the corresponding mass values on top of the peaks stored in a MassPeaks object to a plot.

Usage

## S3 method for class 'MassPeaks':
labelPeaks(object, 
    index,
    mass,
    digits=3, underline=TRUE, 
    verticalOffset=abs(diff(par("usr")[3:4]))*0.01,
    absoluteVerticalPos,
    adj=c(0.5, 0), cex=0.7,
    avoidOverlap=FALSE,
    arrowLength=0, arrowLwd=0.5, arrowCol=1,
    ...)

Arguments

object
MassPeaks object.
index
vector, indices of peaks to label.
mass
vector, mass of peaks to label.
digits
integer, number of decimal places.
underline
logical, underline peak values?
verticalOffset
numeric, move label vertically (relative to peak height).
absoluteVerticalPos
numeric, absolute y value for the label. If missing verticalOffset is used.
adj
numeric, adjust text to the left, center, right and top, center, bottom; see text.
cex
numeric, font size, see par.
avoidOverlap
logical, try to find label coordinates to avoid overlap.
arrowLength, arrowLwd, arrowCol
arrow parameters, possible vectors. NA values in arrowCol cause the arrow to be omitted, see arrows.
...
arguments to be passed to text.

See Also

MassPeaks, plot,AbstractMassObject,missing-method

Examples

Run this code
## load library
library("MALDIquant");

## create a MassPeaks object from scratch
p <- createMassPeaks(mass=1:20, intensity=sample(x=100:10000, size=20), 
                     metaData=list(name="example"));

## plot peaks
plot(p);

## label the first 5 peaks
labelPeaks(p, index=1:5);

## label all peaks in mass range 15 to 20 
labelPeaks(p, mass=15:20, underline=FALSE);

## label highest peaks (top 5)
top5 <- intensity(p) %in% sort(intensity(p), decreasing=TRUE)[1:5];
labelPeaks(p, index=top5, col="red");


## real example
data("fiedler2009subset")

## a simplified preprocessing
r <- removeBaseline(fiedler2009subset[[1]])
p <- detectPeaks(r)
plot(p)

## label highest peaks (top 10) and avoid label overlap
top10 <- intensity(p) %in% sort(intensity(p), decreasing=TRUE)[1:10];
labelPeaks(p, index=top10, avoidOverlap=TRUE, digits=1)

Run the code above in your browser using DataLab