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 |
... |
passed to plot function. |
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)) }