SILAC (2-plex) incorporation can be estimated using the PSM and peptide groups PD outputs, and summarised at the peptide or protein level.

This function takes the PSM.txt and PeptideGroups.txt files as inputs and outputs 3 plots and a .tsv file into the designated output directory.

estimate_incorporation(
  psm_input,
  peptide_input,
  crap_fasta,
  master_protein_col = "Master.Protein.Accessions",
  protein_col = "Protein.Accessions",
  sequence_col = "Sequence",
  modifications_col = "Modifications",
  abundance_col_L = "^Abundances.Grouped.(F\\d*.)?Light$",
  abundance_col_H = "^Abundances.Grouped.(F\\d*.)?Heavy$",
  mix = 0,
  outdir = NULL
)

Arguments

psm_input

string or data.frame. File path to PSM-level PD output or the PSM-level PD output data.frame created using read.delim.

peptide_input

string or data.frame. File path to peptide-level PD output or the peptide-level PD output data.frame created using read.delim.

crap_fasta

string. File path to cRAP fasta used for PD search

master_protein_col

string. Name of column containing master protein accessions.

protein_col

string. Name of column containing all protein accessions.

sequence_col

string. Name of column containing peptide sequences.

modifications_col

string. Name of column containing peptide modifications.

abundance_col_L

string. Name of column containing light peptide intensity data, or a regex matching the names of multiple abundance columns.

abundance_col_H

string. Name of column containing heavy peptide intensity data, or a regex matching the names of multiple abundance columns.

mix

numeric. If Light material has been spiked in, what is the abundance relative to the Heavy material? Default is mix = 0 e.g. no Light spike in. If they are equal, mix = 1.

outdir

NULL or string. If not NULL, file path for directory to save the plots and summary table.

Value

By default returns a list with 3 ggplots (HL correlation, peptide-level incorporation, protein-level incorporation) and 1 summary table. If outdir

is not NULL then the plots and table will be saved into outdir.

Details

Peptide sequencing/mass shift identification In SILAC, the peptide identity of ions can be established through MS2 fragmentation ('peptide sequencing') or by mass shift (within tolerance limits) relative to a sequenced peptide.

For 2-plex SILAC experiments, ideally, the correlation between Heavy and Light peptide intensities is the same regardless of whether Light or Heavy peptides are identified by mass shift or sequencing. If e.g Light peptide intensities are not well correlated when they are identified by mass shift, this may indicate that the mass shift identifications are erroneously picking up ghost peptides', which will make incorporation estimation difficult.

Mixing Heavy and Light material for incorporation rate testing To get around the issue of 'ghost peptides', one can spike in Light material (at cell or protein extract-level) to the Heavy material being analysed.

Examples


if (FALSE) {
# input as file paths
estimate_incorporation(
  psm_input = "data-raw/Molm_13_P4_PSMs.txt",
  peptide_input = "data-raw/Molm_13_P4_PeptideGroups.txt",
  crap_fasta = "inst/extdata/cRAP_20190401.fasta.gz",
  mix = 1,
  outdir = "Molm_13_incorporation/"
)

# input as data.frames
estimate_incorporation(
  psm_input = read.delim("data-raw/Molm_13_P4_PSMs.txt"),
  peptide_input = read.delim("data-raw/Molm_13_P4_PeptideGroups.txt"),
  crap_fasta = "inst/extdata/cRAP_20190401.fasta.gz",
  mix = 1,
  outdir = "Molm_13_incorporation/"
)
}