Learn R Programming

protViz (version 0.2.06)

peakplot: Labelling of Peptide Fragment Mass Spectra

Description

peakplot labels a mass spectrum from a peptide sequence assignment by using the psm function with the appropriate fragment ion labels.

Usage

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)

Arguments

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 fragmentIon will use defaultIon.
fi
fragment ion table, if not specified fragmentIon(sequence, FUN=FUN)[[1]] is called. This argument is usefull if you have PTM or specific ion series.
sub
a sub title for the plot
main
a main title for the plot
xlim
xlim of the plot; default is range(spec$mZ, na.rm=TRUE)
ylim
ylim of the plot
itol
fragment ion tolerance default is 0.6 Dalton. values below are considered as hit.
pattern.abc
regexpr pattern for a, b, c like ions. if the pattern does not match ion are not plotted.
pattern.xyz
regexpr pattern for x, y, z like ions.
ion.axes
boolean default is TRUE. determines wether the fragment ion labels should be plotted instead of m/z values.

Details

peakplot computes the in-silico fragment ion and matches them again the MS2. If the mass error between the in-silico peak and the meassured one is below a 0.6 Da (default setting) the match 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.

on online version can be found here: http://fgcz-peakplot.uzh.ch

Examples

Run this code
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)

Run the code above in your browser using DataLab