qplexanalyzer Matthew Eldridge, Kamal Kishore, Ashley Sawle January 4, Overview 1 2 Import quantitative dataset 2 3 Quality control 2

Similar documents
RMassBank for XCMS. Erik Müller. January 4, Introduction 2. 2 Input files LC/MS data Additional Workflow-Methods 2

MMDiff2: Statistical Testing for ChIP-Seq Data Sets

Image Analysis with beadarray

Visualisation, transformations and arithmetic operations for grouped genomic intervals

MIGSA: Getting pbcmc datasets

A complete analysis of peptide microarray binding data using the pepstat framework

segmentseq: methods for detecting methylation loci and differential methylation

How to Use pkgdeptools

Advanced analysis using bayseq; generic distribution definitions

riboseqr Introduction Getting Data Workflow Example Thomas J. Hardcastle, Betty Y.W. Chung October 30, 2017

SCnorm: robust normalization of single-cell RNA-seq data

SimBindProfiles: Similar Binding Profiles, identifies common and unique regions in array genome tiling array data

Analysis of two-way cell-based assays

An Introduction to the methylumi package

An Overview of the S4Vectors package

segmentseq: methods for detecting methylation loci and differential methylation

Working with aligned nucleotides (WORK- IN-PROGRESS!)

Introduction: microarray quality assessment with arrayqualitymetrics

INSPEcT - INference of Synthesis, Processing and degradation rates in Time-course analysis

Introduction to the Codelink package

survsnp: Power and Sample Size Calculations for SNP Association Studies with Censored Time to Event Outcomes

NacoStringQCPro. Dorothee Nickles, Thomas Sandmann, Robert Ziman, Richard Bourgon. Modified: April 10, Compiled: April 24, 2017.

Fitting Baselines to Spectra

The bumphunter user s guide

Getting started with flowstats

Creating IGV HTML reports with tracktables

INSPEcT - INference of Synthesis, Processing and degradation rates in Time-course analysis

Analysis of screens with enhancer and suppressor controls

The analysis of rtpcr data

Creating a New Annotation Package using SQLForge

Triform: peak finding in ChIP-Seq enrichment profiles for transcription factors

An Introduction to the methylumi package

How To Use GOstats and Category to do Hypergeometric testing with unsupported model organisms

CQN (Conditional Quantile Normalization)

Introduction to the TSSi package: Identification of Transcription Start Sites

HowTo: Querying online Data

An Introduction to ShortRead

PROPER: PROspective Power Evaluation for RNAseq

How to use CNTools. Overview. Algorithms. Jianhua Zhang. April 14, 2011

Shrinkage of logarithmic fold changes

Count outlier detection using Cook s distance

ssviz: A small RNA-seq visualizer and analysis toolkit

DupChecker: a bioconductor package for checking high-throughput genomic data redundancy in meta-analysis

How to use cghmcr. October 30, 2017

An Introduction to GenomeInfoDb

Introduction: microarray quality assessment with arrayqualitymetrics

bayseq: Empirical Bayesian analysis of patterns of differential expression in count data

Using branchpointer for annotation of intronic human splicing branchpoints

Overview of ensemblvep

Cardinal design and development

Bioconductor: Annotation Package Overview

Overview of ensemblvep

RAPIDR. Kitty Lo. November 20, Intended use of RAPIDR 1. 2 Create binned counts file from BAMs Masking... 1

Introduction to BatchtoolsParam

The rtracklayer package

MultipleAlignment Objects

MethylAid: Visual and Interactive quality control of Illumina Human DNA Methylation array data

SCnorm: robust normalization of single-cell RNA-seq data

Comparing methods for differential expression analysis of RNAseq data with the compcoder

Introduction to GenomicFiles

The REDseq user s guide

Analysis of Bead-level Data using beadarray

Creating a New Annotation Package using SQLForge

Basic4Cseq: an R/Bioconductor package for the analysis of 4C-seq data

RDAVIDWebService: a versatile R interface to DAVID

Analyse RT PCR data with ddct

Basic4Cseq: an R/Bioconductor package for the analysis of 4C-seq data

Analysis of Pairwise Interaction Screens

OCAP: An R package for analysing itraq data.

Nature Methods: doi: /nmeth Supplementary Figure 1

Raman Spectra of Chondrocytes in Cartilage: hyperspec s chondro data set

Comprehensive Pipeline for Analyzing and Visualizing Array-Based CGH Data

mocluster: Integrative clustering using multiple

SIBER User Manual. Pan Tong and Kevin R Coombes. May 27, Introduction 1

highscreen: High-Throughput Screening for Plate Based Assays

GenoGAM: Genome-wide generalized additive

RNAseq Differential Expression Analysis Jana Schor and Jörg Hackermüller November, 2017

Introduction to QDNAseq

Analyze Illumina Infinium methylation microarray data

Using metama for differential gene expression analysis from multiple studies

MSnbase development. Laurent Gatto. Cambridge Center for Proteomics University of Cambridge. May 15, 2013

Making and Utilizing TxDb Objects

Raman Spectra of Chondrocytes in Cartilage: hyperspec s chondro data set

Using the qrqc package to gather information about sequence qualities

The fastliquidassociation Package

ExomeDepth. Vincent Plagnol. May 15, What is new? 1. 4 Load an example dataset 4. 6 CNV calling 5. 9 Visual display 9

Labelled quantitative proteomics with MSnbase

Evaluation of VST algorithm in lumi package

MLSeq package: Machine Learning Interface to RNA-Seq Data

Wave correction for arrays

Classification of Breast Cancer Clinical Stage with Gene Expression Data

The DMRcate package user s guide

An introduction to gaucho

Using the qrqc package to gather information about sequence qualities

M 3 D: Statistical Testing for RRBS Data Sets

rhdf5 - HDF5 interface for R

Course on Microarray Gene Expression Analysis

Practical: exploring RNA-Seq counts Hugo Varet, Julie Aubert and Jacques van Helden

Introduction to R (BaRC Hot Topics)

crlmm to downstream data analysis

Transcription:

qplexanalyzer Matthew Eldridge, Kamal Kishore, Ashley Sawle January 4, 2019 Contents 1 Overview 1 2 Import quantitative dataset 2 3 Quality control 2 4 Data normalization 8 5 Aggregation of peptide intensities into protein intensities 11 6 Regression Analysis 13 7 Differential statistical analysis 14 8 Session Information 16 1 Overview This document provides brief tutorial of the qplexanalyzer package, a toolkit with multiple functionalities, for statistical analysis of qplex-rime proteomics data (see?qplexanalyzer at the R prompt for a brief overview). The qplex-rime approach combines the RIME method with multiplex TMT chemical isobaric labelling to study the dynamics of chromatin-associated protein complexes. The package can also be used for isobaric labelling (TMT or itraq) based total proteome analysis. Import quantitative dataset: A pre-processed quantitative dataset generated from MaxQuant, Proteome Discoverer or any other proteomic software consisting of peptide intensities with associated features along with sample meta-data information can be imported by qplexanalyzer. Quality control: Computes and displays quality control statistics plots of the quantitative dataset. Data normalization: Quantile normalization, central tendencies scaling and linear regression based normalization. Aggregation of peptide intensities into protein intensities Differential statistical analysis: limma based analysis to identify differentially abundant proteins. 1

library(qplexanalyzer) library(gridextra) data(human_anno) data(exp2_xlink) 2 Import quantitative dataset MSnbase package by Laurent Gatto provides methods to facilitate reproducible analysis of MS-based proteomics data. MSnSet class of MSnbase provides architecture for storing quantitative MS proteomics data and the experimental meta-data. In qplexanalyzer, we store pre-processed quantitative proteomics data within this standardized object. The converttomsnset function creates an MSnSet object from the quantitative dataset of peptides/protein intensities. This dataset must consist of peptides identified with high confidence in all the samples. The default input dataset is the pre-processed peptide intensities from MaxQuant, Proteome Discoverer or any other proteomic software (see?converttomsnset at the R prompt for more details). Only peptides uniquely matching to a protein should be used as an input. Alternatively, the protein level quantification by the aggregation of the peptide TMT intensities can also be used as input. Peptides/Protein intensities with missing values in one or more samples can either be excluded or included in the MSnSet object. If the missing values are kept in the MSnSet object, these must be imputed either by user defined methods or by those provided in MSnbase package. The downstream functions of qplexanalyzer expects no missing values in the MSnSet object. The example dataset shown below is from an ER qplex-rime experiment in MCF7 cells that was performed to compare two different ways of cell crosslinking: DSG/formaldehyde (double) or formaldehyde alone (single). It consists of four biological replicates for each condition along with two IgG samples pooled from replicates of each group. MSnset_data <- converttomsnset(exp2_xlink$intensities, metadata = exp2_xlink$metadata, indexpdata = c(7:16), Sequences = 2, Accessions = 6 ) 3 Quality control Once an MSnSet object has been created, various descriptive statistics methods can be used to check the quality of the dataset. The intensityplot function generates a peptide intensity distribution plot that helps in identifying samples with outlier distributions. Figure 1 shows the distribution of the logintensity of peptides/proteins for each sample. An outlier sample DSG.FA.rep01 can be identified from this plot. IgG control samples representing low background intensities will have shifted/distinct intensity distribution curve as compared to other samples and should not be considered as outliers. intensityplot(msnset_data, title = "Peptide intensity distribution") The intensities can also be viewed in the form of boxplots by intensityplot. Figure 2 shows the distribution of peptides intensities for each sample. rliplot can be used to visualise unwanted variation in a data set. It is similar to the relative log expression plot developed for microarray analysis - see Gandolfo and Speed (2018). Rather than examining gene expression, the RLI plot (Figure 3) uses the MS intensities for each peptide or the summarised protein intensities. 2

Peptide intensity distribution DSG.FA FA IgG 30 20 10 0 10 log2(intensity) Figure 1: Density plots of raw intensities for TMT-10plex experiment. intensityboxplot(msnset_data, title = "Peptide intensity distribution") rliplot(msnset_data, title = "Relative Peptide intensity") 3

Peptide intensity distribution 15 log2(intensity) 10 5 0 DSG.FA.IgG DSG.FA.rep01 DSG.FA.rep02 DSG.FA.rep03 DSG.FA.rep04 Sample FA.IgG FA.rep01 FA.rep02 FA.rep03 FA.rep04 Figure 2: Boxplot of raw intensities for TMT-10plex experiment. Relative Peptide intensity 4 RLI 0 4 DSG.FA.rep01 DSG.FA.rep02 DSG.FA.rep03 DSG.FA.rep04 Sample FA.rep01 FA.rep02 FA.rep03 FA.rep04 Figure 3: RLI of raw intensities for TMT-10plex experiment. 4

FA.rep04 0.447 0.428 0.913 0.893 0.93 0.624 0.968 0.961 0.946 1 FA.rep03 0.523 0.453 0.91 0.935 0.881 0.741 0.961 0.955 1 0.946 FA.rep02 FA.rep01 0.407 0.455 0.373 0.944 0.906 0.899 0.642 0.409 0.926 0.897 0.898 0.699 0.978 1 0.955 0.961 1 0.978 0.961 0.968 Cor 1.0 FA.IgG 0.615 0.414 0.627 0.669 0.566 1 0.699 0.642 0.741 0.624 0.8 DSG.FA.rep04 0.422 0.405 0.956 0.917 1 0.566 0.898 0.899 0.881 0.93 0.6 DSG.FA.rep03 0.568 0.527 0.936 1 0.917 0.669 0.897 0.906 0.935 0.893 0.4 DSG.FA.rep02 0.391 0.358 1 0.936 0.956 0.627 0.926 0.944 0.91 0.913 DSG.FA.rep01 0.926 1 0.358 0.527 0.405 0.414 0.409 0.373 0.453 0.428 DSG.FA.IgG 1 0.926 0.391 0.568 0.422 0.615 0.455 0.407 0.523 0.447 DSG.FA.IgG DSG.FA.rep01 DSG.FA.rep02 DSG.FA.rep03 DSG.FA.rep04 FA.IgG FA.rep01 FA.rep02 FA.rep03 FA.rep04 Figure 4: Correlation plot of peptide intensitites A Correlation plot can be generated by corrplot to visualize the level of linear association of samples within and between groups. The plot in Figure 4 displays high correlation among samples within each group, however an outlier sample is also identified in one of the groups (DSG.FA). corrplot(msnset_data) 5

FA.rep02 FA.rep01 FA.rep03 FA.rep04 DSG.FA.rep04 DSG.FA.rep02 DSG.FA.rep03 DSG.FA.IgG FA.IgG DSG.FA.rep01 500 400 300 Distance 200 100 Figure 5: Clustering plot of peptide intensitites Hierarchical clustering can be performed by hierarchicalplot to produce a dendrogram displaying the hierarchical relationship among samples (Figure 5). The horizontal axis shows the dissimilarity (measured by means of the Euclidean distance) between samples: similar samples appear on the same branches. Colors correspond to groups. If the data set contains zeros, it will be necessary to add a small value (e.g. 0.01) to the intentsities in order to avoid errors while generating dendrogram. exprs(msnset_data) <- exprs(msnset_data) + 0.01 hierarchicalplot(msnset_data) 6

150 2 PC2, 26% variance 100 50 0 1 3 3 1 DSG.FA FA IgG 50 4 1 4 2 2 200 100 0 100 200 300 PC1, 63% variance Figure 6: PCA plot of peptide intensitites A visual representation of the scaled loading of the first two dimensions of a PCA analysis can be obtained by pcaplot (Figure 6). Co-variances between samples are approximated by the inner product between samples. Highly correlated samples will appear close to each other. The samples could be labeled by name, replicate, group or experiment run allowing for identification of potential batch effects. pcaplot(msnset_data, labelcolumn = "BioRep", pointsize = 2) 7

ESR1 Number of Unique Peptides: 24 % Coverage: 43.7 0 99 198 298 397 496 595 Figure 7: Peptide sequence coverage plot A plot showing regions of the bait protein covered by captured peptides can be produced using coverageplot (Figure 7). The plot shows the location of peptides that have been identified with high confidence across the protein sequence and the corresponding percentage of coverage. This provides a means of assessing the efficiency of the immunoprecipitation approach in the qplex-rime method. For a better evaluation of the pull down assay we could compare the observed bait protein coverage with the theoretical coverage from peptides predicted by known cleavage sites. mysequencefile <- system.file("extdata", "P03372.fasta", package = "qplexanalyzer") coverageplot(msnset_data, ProteinID = "P03372", ProteinName = "ESR1", fastafile = mysequencefile ) 4 Data normalization The data can be normalized to remove experimental artifacts (e.g. differences in sample loading variability, systemic variation) in order to separate biological variations from those introduced during the experimental process. This would improve downstream statistical analysis to obtain more accurate comparisons. Different normalization methods can be used depending on the data: Quantiles: The peptide intensities are roughly replaced by the order statistics on their abundance. The key assumption underneath is that there are only few changes between different groups. This normalization technique has the effect of making the distributions of intensities from the different samples identical in terms of their statistical properties. It is the strongest normalization method and should be used carefully as it erases most of the difference between the samples. We would recommend using it only for total proteome but not for qplex-rime data. Mean/median scaling: In this normalization method the central tendencies (mean or median) of the samples are aligned. The central tendency for each sample is computed and log transformed. A scaling factor is determined by subtracting from each central tendency the mean of all the central tendencies. The raw intensities are then divided by the scaling factor to get normalized ones. Row scaling: In this normalization method each peptide/protein intensity is divided by the mean/median of its intensity across all samples and log2 transformed. It is imperative to check the intensity distribution plot and PCA plot before and after normalization to verify its effect on the dataset. In qplex-rime data, the IgG (or control samples) should be normalized 8

separately from the bait protein pull-down samples. As IgG samples represent the low background intensity, their intensity distribution profile is different from bait pull-downs. Hence, normalizing the two together would result in over-correction of the IgG intensity resulting in inaccurate computation of differences among groups. If no normalization is necessary, skip this step and move to aggregation of peptides. For this dataset, an outlier sample was identified by quality control plots and removed from further analysis. Figure 8 displays the effect of various normalization methods on the peptide intensities distribution. MSnset_data <- MSnset_data[, -5] p1 <- intensityplot(msnset_data, title = "No normalization") MSnset_norm_q <- normalizequantiles(msnset_data) p2 <- intensityplot(msnset_norm_q, title = "Quantile") MSnset_norm_ns <- normalizescaling(msnset_data, scalingfunction = median) p3 <- intensityplot(msnset_norm_ns, title = "Scaling") MSnset_norm_gs <- groupscaling(msnset_data, scalingfunction = median, groupingcolumn = "SampleGroup") p4 <- intensityplot(msnset_norm_gs, title = "WithinGrp Scaling") grid.arrange(p1, p2, p3, p4, ncol = 2, nrow = 2) 9

No normalization Quantile DSG.FA FA IgG DSG.FA FA IgG 5 0 5 10 log2(intensity) Scaling 0 5 10 log2(intensity) WithinGrp Scaling DSG.FA FA IgG DSG.FA FA IgG 5 0 5 10 log2(intensity) 5 0 5 10 log2(intensity) Figure 8: Peptide intensity distribution with various normalization methods 10

5 Aggregation of peptide intensities into protein intensities The quantitative dataset could consist of peptide or protein intensities. If the dataset consists of peptide information, they can be aggregated to protein intensities for further analysis. For this, an annotation file consisting of proteins with unique ID must be provided. An example file can be found with the package corresponding to uniprot annotation of human proteins. It consists of four columns: Accessions, Gene, Description and GeneSymbol. The columns Accessions and GeneSymbol are mandatory for successful downstream analysis while the other two columns are optional. The UniProt.ws package provides a convenient means of obtaining these annotations using Uniprot protein accessions, as shown in the section below. The summarizeintensities function expects an annotation file in this format. library(uniprot.ws) library(dplyr) proteins <- unique(fdata(msnset_data)$accessions)[1:10] columns <- c("entry-name", "PROTEIN-NAMES", "GENES") hs <- UniProt.ws::UniProt.ws(taxId = 9606) first_ten_anno <- UniProt.ws::select(hs, proteins, columns, "UNIPROTKB") %>% as_tibble() %>% mutate(genesymbol = gsub(".*", "", GENES)) %>% select( Accessions = "UNIPROTKB", Gene = "ENTRY-NAME", Description = "PROTEIN-NAMES", GeneSymbol ) head(arrange(first_ten_anno, Accessions)) ## # A tibble: 6 x 4 ## Accessions Gene Description GeneSymbol ## <chr> <chr> <chr> <chr> ## 1 P04264 K2C1_HU~ Keratin, type II cytoskeletal 1 OS=Hom~ KRT1 ## 2 P05783 K1C18_H~ Keratin, type I cytoskeletal 18 OS=Hom~ KRT18 ## 3 P14866 HNRPL_H~ Heterogeneous nuclear ribonucleoprotei~ HNRNPL ## 4 P35527 K1C9_HU~ Keratin, type I cytoskeletal 9 OS=Homo~ KRT9 ## 5 P35908 K22E_HU~ Keratin, type II cytoskeletal 2 epider~ KRT2 ## 6 P39748 FEN1_HU~ Flap endonuclease 1 OS=Homo sapiens OX~ FEN1 The aggregation can be performed by calculating the sum, mean or median of the raw or normalized peptide intensities. The summarized intensity for a selected protein could be visualized using peptideintensityplot. It plots all peptides intensities for a selected protein along with summarized intensity across all the samples (Figure 9). MSnset_Pnorm <- summarizeintensities(msnset_norm_gs, sum, human_anno) peptideintensityplot(msnset_data, combinedintensities = MSnset_Pnorm, ProteinID = "P03372", ProteinName = "ESR1" ) 11

0 5 10 15 DSG.FA.IgG DSG.FA.rep02 DSG.FA.rep03 DSG.FA.rep04 FA.IgG FA.rep01 FA.rep02 FA.rep03 FA.rep04 log2(intensity) ESR1 Figure 9: Summarized protein intensity 12

6 Regression Analysis To correct for the potential dependency of immunoprecipitated proteins (in qplex-rime) on the bait protein, a linear regression method is available in qplexanalyzer. The regressintensity function performs a regression analysis in which bait protein levels is the independent variable (x) and the profile of each of the other protein is the dependent variable (y). The residuals of the y=ax+b linear model represent the protein quantification profiles that are not driven by the amount of the bait protein. The advantage of this approach is that proteins with strong dependency on the target protein are subjected to significant correction, whereas proteins with small dependency on the target protein are slightly corrected. In contrast, if a standard correction factor were used, it would have the same magnitude of effect on all proteins. The control samples (such as IgG) should be excluded from the regression analysis. The regressintensity function also generates the plot displaying the correlation between bait and other protein before and after applying this method (Figure 10). The example dataset shown below is from an ER qplex-rime experiment carried out in MCF7 cells to investigate the dynamics of the ER complex assembly upon 4-hydroxytamoxifen (OHT) treatment at 2h, 6h and 24h or at 24h post-treatment with the vehicle alone (ethanol). It consists of six biological replicates for each condition spanned across three TMT experiments along with two IgG mock pull down samples in each experiment. data(exp3_oht_esr1) MSnset_reg <- converttomsnset(exp3_oht_esr1$intensities_qplex2, metadata = exp3_oht_esr1$metadata_qplex2, indexpdata = c(7:16), Sequences = 2, Accessions = 6 ) MSnset_P <- summarizeintensities(msnset_reg, sum, human_anno) MSnset_P <- rowscaling(msnset_p, mean) IgG_ind <- which(pdata(msnset_p)$samplegroup == "IgG") Reg_data <- regressintensity(msnset_p, controlind = IgG_ind, ProteinId = "P03372") 13

Corr Raw data Corr Regressed data Frequency 0 100 200 300 400 Frequency 0 50 150 250 1.0 0.0 0.5 1.0 2.0e 16 0.0e+00 originalcorrelation transformedcorrelation Figure 10: Correlation between bait protein and enriched proteins before and after regression 7 Differential statistical analysis A statistical analysis for the identification of differentially regulated or bound proteins is carried out using limma based analysis. It uses linear models to assess differential expression in the context of multifactor designed experiments. Firstly, a linear model is fitted for each protein where the model includes variables for each group and MS run. Then, log2 fold changes between comparisons are estimated using computediffstats. Multiple testing correction of p-values are applied using the Benjamini-Hochberg method to control the false discovery rate (FDR). Finally, getcontrastresults is used to get contrast specific results. The qplex-rime experiment can consist of IgG mock samples to discriminate non-specific binding. The controlgroup argument within getcontrastresults function allows you to specify this group (such as IgG). It then uses the mean intensities from the fitted linear model to compute log2 fold change between IgG and each of the groups. The maximum log2 fold change over IgG control from the two groups being compared is reported in the controllogfoldchange column. This information can be used to filter non-specific binding. A controllogfoldchange more than 1 can be used as a filter to discover specific interactors. The results of the differential protein analysis can be visualized using mavolplot function. It plots average log2 protein intensity to log2 fold change between groups compared. This enables quick visualization (Figure 11) of significantly abundant proteins between groups. mavolplot could also be used to view differential protein results in a volcano plot (Figure 12) to compare the size of the fold change to the statistical significance level. contrasts <- c(dsg.fa_vs_fa = "DSG.FA - FA") diffstats <- computediffstats(msnset_pnorm, contrasts = contrasts) 14

log2(fold Change) 3 2 1 0 1 2 DSG.FA FA Significant 0 5 10 15 average log2(intensity) Figure 11: MA plot of the quantified proteins diffexp <- getcontrastresults( diffstats = diffstats, contrast = contrasts, controlgroup = "IgG" ) mavolplot(diffstats, contrast = contrasts, plottype = "MA", title = contrasts) mavolplot(diffstats, contrast = contrasts, plottype = "Volcano", title = contrasts) 15

log10(adjusted P value) 2 1 0 DSG.FA FA 2 1 0 1 2 3 log2(fold Change) Significant 8 Session Information Figure 12: Volcano plot of the quantified proteins sessioninfo() ## R version 3.5.2 (2018-12-20) ## Platform: x86_64-pc-linux-gnu (64-bit) ## Running under: Ubuntu 16.04.5 LTS ## ## Matrix products: default ## BLAS: /home/biocbuild/bbs-3.8-bioc/r/lib/librblas.so ## LAPACK: /home/biocbuild/bbs-3.8-bioc/r/lib/librlapack.so ## ## locale: ## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C ## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=C ## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 ## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C ## [9] LC_ADDRESS=C LC_TELEPHONE=C ## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C ## ## attached base packages: ## [1] stats4 parallel stats graphics grdevices utils ## [7] datasets methods base ## ## other attached packages: ## [1] dplyr_0.7.8 bindrcpp_0.2.2 gridextra_2.3 16

## [4] qplexanalyzer_1.0.3 MSnbase_2.8.3 ProtGenerics_1.14.0 ## [7] S4Vectors_0.20.1 mzr_2.16.1 Rcpp_1.0.0 ## [10] statmod_1.4.30 Biobase_2.42.0 BiocGenerics_0.28.0 ## ## loaded via a namespace (and not attached): ## [1] ggdendro_0.1-20 vsn_3.50.0 ## [3] tidyr_0.8.2 splines_3.5.2 ## [5] foreach_1.4.4 assertthat_0.2.0 ## [7] BiocManager_1.30.4 affy_1.60.0 ## [9] highr_0.7 GenomeInfoDbData_1.2.0 ## [11] impute_1.56.0 pillar_1.3.1 ## [13] lattice_0.20-38 glue_1.3.0 ## [15] limma_3.38.3 digest_0.6.18 ## [17] GenomicRanges_1.34.0 RColorBrewer_1.1-2 ## [19] XVector_0.22.0 colorspace_1.3-2 ## [21] preprocesscore_1.44.0 plyr_1.8.4 ## [23] MALDIquant_1.18 XML_3.98-1.16 ## [25] pkgconfig_2.0.2 zlibbioc_1.28.0 ## [27] purrr_0.2.5 scales_1.0.0 ## [29] affyio_1.52.0 BiocParallel_1.16.5 ## [31] tibble_2.0.0 IRanges_2.16.0 ## [33] ggplot2_3.1.0 lazyeval_0.2.1 ## [35] cli_1.0.1 magrittr_1.5 ## [37] crayon_1.3.4 evaluate_0.12 ## [39] ncdf4_1.16 fansi_0.4.0 ## [41] doparallel_1.0.14 MASS_7.3-51.1 ## [43] tools_3.5.2 stringr_1.3.1 ## [45] munsell_0.5.0 Biostrings_2.50.2 ## [47] pcamethods_1.74.0 compiler_3.5.2 ## [49] GenomeInfoDb_1.18.1 mzid_1.20.1 ## [51] rlang_0.3.0.1 grid_3.5.2 ## [53] RCurl_1.95-4.11 iterators_1.0.10 ## [55] bitops_1.0-6 labeling_0.3 ## [57] gtable_0.2.0 codetools_0.2-16 ## [59] R6_2.3.0 knitr_1.21 ## [61] utf8_1.1.4 bindr_0.1.1 ## [63] stringi_1.2.4 tidyselect_0.2.5 ## [65] xfun_0.4 17