| peakplot {protViz} | R Documentation |
peakplot labels a mass spectrum from a peptide sequence
assignment by using the psm function with the appropriate
fragment ion labels.
Using peakplot it is possible to compute the fragment ion
coverage and customize the fragmentation ions used for labelling.
peakplot(peptideSequence, spec,
FUN=defaultIon,
fi=fragmentIon(peptideSequence, FUN=FUN)[[1]],
main=NULL,
sub=paste(peptideSequence, spec$title, sep=" / "),
xlim=range(spec$mZ, na.rm=TRUE),
ylim=range(spec$intensity, na.rm=TRUE),
itol=0.6,
pattern.abc="[abc].*",
pattern.xyz="[xyz].*",
ion.axes=TRUE)
peptideSequence |
peptide sequence encoded as character sequence using the 20 amino acid letters. |
spec |
a tandem mass spec data structure which is a list having two eq sized vectors calles mZ and intensity. mZ values are sorted. |
FUN |
the function to be applied to compute further ions. If no
function is assigned |
fi |
fragment ion table, if not specified
|
sub |
a sub title for the plot |
main |
a main title for the plot |
xlim |
xlim of the plot; default is |
ylim |
ylim of the plot |
itol |
fragment ion tolerance default is 0.6 Dalton. values below are considered as hit. |
pattern.abc |
|
pattern.xyz |
|
ion.axes |
boolean default is |
peakplot computes the in-silico fragment ion, using the
fragmentIon function, and matches them again
the MS2. If the mass error between the in-silico peak and the measured one
is below a 0.6 Da (default setting) the peptide spectrum match
(psm) is considered has hit.
The major objective of the labelling is avoidance of overlapping labels for
which purpose peakplot applies filtering. A label is only drawn if the
corresponding ion count of the m/z peak is higher than a given threshold.
Experience from several hundred annotations shows that the 0.9 percentile is
a good cut off value. To most efficiently use the limited screen and printout
space and to ensure that labels representing important local peaks are also
considered for drawing, peakplot divides the display space into a
number of bins depending on the peptide sequence length along the m/z axis.
From these bins, the top n labels are ordered according to abundance. For the
visual clustering effect, the abc and xyz ions are drawn on different y-axis
levels using different colours. Ion types considered for labelling is
dependent on the instrument setting applied during the initial search.
returns a list object containing all the peptide spectrum match relevant information.
Bertran Gerrits, Christian Panse
2006-2017;
PEAKPLOT: Visualizing Fragmented Peptide Mass Spectra in Proteomics (2009) Panse Christian, Gerrits Bertran, Schlapbach Ralph, useR!2009,
abstract: https://www.r-project.org/conferences/useR-2009/abstracts/pdf/Panse+Gerrits+Schlapbach.pdf,
slides: https://www.r-project.org/conferences/useR-2009/slides/Panse+Gerrits+Schlapbach.pdf.
peakplot has been used for generating
figures and supplemental material in:
data(msms)
op <- par(mfrow=c(2,1))
peakplot("TAFDEAIAELDTLNEESYK", msms[[1]])
peakplot("TAFDEAIAELDTLSEESYK", msms[[2]])
par(op)
# filter cand. fragment ions
fi <- fragmentIon("TAFDEAIAELDTLNEESYK")
fi.cyz <- as.data.frame(cbind(c=fi[[1]]$c, y=fi[[1]]$y, z=fi[[1]]$z))
p <- peakplot("TAFDEAIAELDTLNEESYK", spec=msms[[1]],
fi=fi.cyz,
itol=0.6,
ion.axes=FALSE)
# customizing the ion series
ions <- function(b, y){
Hydrogen <- 1.007825
Oxygen <- 15.994915
Nitrogen <- 14.003074
y0 <- fi$y - Oxygen - Hydrogen - Hydrogen
c <- b + (Nitrogen + (3 * Hydrogen))
z <- y - (Nitrogen + (3 * Hydrogen))
return(cbind(b, y, c ,z, y0))
}