peakplot: Labelling of Peptide Fragment Mass Spectra

View source: R/peakplot.R

peakplotR Documentation

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. Using peakplot it is possible to compute the fragment ion coverage and customize the fragmentation ions used for labelling.

Usage


    peakplot(peptideSequence, spec, 
        FUN=defaultIon, 
        fi=fragmentIon(peptideSequence, FUN=FUN)[[1]],
        sub=paste(peptideSequence, spec$title, sep=" / "),
        itol=0.6,
        pattern.abc="[abc].*",
        pattern.xyz="[xyz].*",
        ion.axes=TRUE, ...) 

Arguments

peptideSequence

peptide sequence encoded as a character sequence using the 20 amino acid letter code.

spec

a peaklist or 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 useful if you have PTM or specific ion series.

sub

a sub title for 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 whether the fragment ion labels should be plotted instead of m/z values.

...

passed to the default plot function.

Details

peakplot computes the in-silico fragment ion, using the fragmentIon function, and matches them again with the MS2. If the mass error between the in-silico peak and the measured one is below 0.6 Da (default setting), the peptide spectrum match (psm) is considered as a hit.

The major objective of the labelling is the 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 the 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 colors. Ion types considered for labelling is dependent on the instrument setting applied during the initial search.

Value

returns a list object containing all the peptide spectrum match relevant information.

Author(s)

Bertran Gerrits, Christian Panse

2006-2017;

References

See Also

Examples


    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))
  }

protViz documentation built on Feb. 16, 2023, 9:45 p.m.