suppressPackageStartupMessages({library(BiocStyle) library(DEPstoi) library(dplyr) })
\pagebreak
This package provides the analysis workflow for stoichiometry analysis of data from affinity purification experiments followed by mass spectrometry analysis (AP-MS) as published previously (Smits et al. 2013). The package is an extention of the DEP package and it requires tabular input as generated by MaxQuant with iBAQ quantification enabled. Functions are provided for the analysis and visualization. For scientists with limited experience in R, the package also contains wrapper functions that entail the complete analysis workflow (Wrapper function).
The most recent version of R can be downloaded from CRAN. Additional system requirements are Pandoc, as well as Rtools for Windows and NetCDF for Linux.
Start R and install the DEP package:
source("http://www.huber.embl.de/users/smits/install_DEPstoi.R") library("DEPstoi")
The relative stoichiometries of protein-protein interactions can be calculated, as described before (Smits et al. 2013). This analysis is incorporated in the DEPstoi package and starts with differential enrichment analysis of proteins quantified in affinity enrichment followed by mass spectrometry (AP-MS) workflows.
We analyze a label-free proteomics dataset in which EED interactors were characterized in embryonic stem cells (Kloet et al. 2016). Again, the raw mass spectrometry data were analyzed using MaxQuant (Cox and Mann 2007) with iBAQ quantification enabled (Schwanhäusser et al. 2011).
First, the data needs to be prepared for differential enrichment analysis.
``` {r GFPip}
library(dplyr)
data <- GFPip expdesign <- GFPip_ExpDesign
data <- filter(data, Reverse != "+", Contaminant != "+") data_unique <- make_unique(data, "Gene.names", "Protein.IDs")
cols <- grep("LFQ.", colnames(data_unique)) data_se <- make_se(data_unique, cols, expdesign)
## Filter on missing values, normalization and imputation The dataset is filtered on missing values, variance stabilized and any remaining missing values are imputed. ``` {r GFPip_filt, results = "hide", message = FALSE, warning = FALSE, error = TRUE} # Filter for proteins that are identified in all replicates of at least one condition data_filt <- filter_missval(data_se, thr = 0) # Normalize the data using vsn data_norm <- normalize_vsn(data_filt) # Impute left-censored values, as the missingness pattern is not at random data_imp <- impute(data_norm, fun = "MinProb", q = 0.01)
Differentially enriched proteins are identified using the test_diff and add_rejections functions. Subsequently, a volcano plot is generated to inspect the used cutoffs.
``` {r GFPip_DE, fig.width = 5, fig.height = 5}
data_diff <- test_diff(data_imp, type = "control", control = "WT")
dep <- add_rejections(data_diff, alpha = 0.05, lfc = 4.5)
plot_volcano(dep, contrast = "GFP_vs_WT")
## Stoichiometry analysis The relative stoichiometries can be calculated for the significantly enriched proteins. For this analysis, the identified peptides are needed ("peptides.txt" from MaxQuant) to identify all proteins that share peptides. Proteins that share peptides are merged into a single protein group. ``` {r GFPip_stoi_1} # Load peptides data (available in the package) peptides <- GFPip_pep # Merge iBAQ values for the proteins with shared peptides ibaq <- merge_ibaq(data_unique, peptides)
These data are used to calculate the relative stoichiometry for the differentially enriched proteins identified before. The contrast for which to get stoichiometry values and the bait protein to which all other proteins are compared to need to be specified.
``` {r GFPip_stoi_2}
stoi <- get_stoichiometry(dep, ibaq, contrast = "GFP_vs_WT", bait = "Suz12")
head(stoi)
The stoichiometry values can be easily plotted using the _plot_stoichiometry_ function. ``` {r GFPip_stoi_3, fig.width = 5, fig.height = 5} # Plot stoichiometry plot_stoichiometry(stoi, thr = 0.01)
Stoichiometry analysis can also be performed in a single command by the iBAQ function. First, differentially enriched proteins are identified using the LFQ function after which the results are inspected using a volcano plot. Next, the relative stoichiometries are calculated for these proteins.
``` {r iBAQ, fig.height = 5, fig.width = 5}
data <- GFPip expdesign <- GFPip_ExpDesign
data_results <- LFQ(data, expdesign, fun = "MinProb", control = "WT", type = "control", filter = c("Reverse", "Contaminant"), alpha = 0.05, lfc = 4.5)
plot_volcano(data_results$dep, "GFP_vs_WT")
stoi <- iBAQ(data_results, peptides, "GFP_vs_WT", "Suz12") head(stoi)
# References Cox and Mann (2007) MaxQuant enables high peptide identification rates, individualized p.p.b.-range mass accuracies and proteome-wide protein quantification Nature Biotechnology 26: 1367 - 1372 [doi:10.1038/nbt.1511](http://www.nature.com/nbt/journal/v26/n12/full/nbt.1511.html) Kloet et al (2016). The dynamic interactome and genomic targets of Polycomb complexes during stem-cell differentiation. Nature Structural & Molecular Biology 23(7): 682 - 90. [doi: 10.1038/nsmb.3248](http://www.nature.com/nsmb/journal/v23/n7/full/nsmb.3248.html) Schwanhäusser et al (2011). Global quantification of mammalian gene expression control. Nature 473: 337 – 342 [doi:10.1038/nature10098](https://www.nature.com/nature/journal/v473/n7347/full/nature10098.html) Smits et al (2013). Stoichiometry of chromatin-associated protein complexes revealed by label-free quantitative mass spectrometry-based proteomics. Nucleic Acids Research 41(1): e28 [doi: e28](http://nar.oxfordjournals.org/content/41/1/e28.full). # Session information ``` {r session_info, echo = FALSE} sessionInfo()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.