pRolocGUI 2.0.0
pRolocGUI is under active development; current
functionality is evolving and new features will be added. This
software is free and open-source. You are invited to open issues
in the Github pRolocGUI
repository
in case you have any questions, suggestions or have found any bugs or typos.
To reach a broader audience for more general questions about
proteomics analyses using R consider of writing to the
Bioconductor Support Forum.
This vignette describes the implemented functionality of the
pRolocGUI
package. The package is based on the MSnSet
class
definitions of MSnbase and on the functions defined in
the pRoloc package. pRolocGUI is
intended for, but not limited to, the interactive visualisation and
analysis of quantitative spatial proteomics data. To achieve
reactivity and interactivity, pRolocGUI
relies on the
shiny
framework. We recommend some
familiarity with the MSnSet
class (see ?MSnSet
for details) and
the pRoloc
vignette (see vignette("pRoloc-tutorial")
) before using
pRolocGUI
.
There are 3 applications distributed with pRolocGUI
which are
wrapped and launched by the pRolocVis
function. These 3 applications
are called according to the argument app
in the pRolocVis
function which may be one of “explore”, “compare” or
“aggregate”.
explore
application launches a interactive spatial map
(dimensionality reduction) of the data, with an alternate
profiles tab for visualisation of protein profiles. There is a
searchable data table for the identification of proteins of
interest and functionality to download figures and export proteins
of interest.compare
application features the same functionality as
the explore
app but allows the comparison of two
MSnSet
instances, e.g. this might be of help for the analyses of
changes in protein localisation in different conditions.aggregate
application allows users to load peptide or
PSM level data and look at the relationship between peptides
and proteins (following aggregation).Once R is started, the first step to enable functionality of the package is to load it, as shown in the code chunk below. We also load the pRolocdata data package, which contains quantitative proteomics datasets.
library("pRolocGUI")
library("pRolocdata")
We begin by loading the dataset hyperLOPIT2015
from the pRolocdata
data package. The data was produced from using the hyperLOPIT
technology on mouse E14TG2a embryonic stem cells (Christoforou et al 2016).
For more background spatial proteomics data anlayses please see
Gatto et al 2010,
Gatto et al 2014 and also the
pRoloc
tutorial vignette.
data(hyperLOPIT2015)
To load one of the applications using the pRolocVis
function and
view the data you are required to specify a minimum of one key
argument, object
, which is the data to display and must be of
class MSnSet
(or a MSnSetList
of
length 2 for the compare
application). Please see
vignette("pRoloc-tutorial")
or vignette("MSnbase-io")
for
importing and loading data. The argument app
tells the pRolocVis
function what type of application to load. One can choose
from: "explore"
(default), "compare"
or "aggregate"
. The optional
argument fcol
is used to specify the
feature meta-data label(s) (fData
column name(s)) to be plotted,
the default is markers
(i.e. the labelled data). For the the compare
app this can be a character
of length 2, where the first element
is the label for dataset 1 and the second element is for dataset 2
(if only one element is provide this label will be used for both
datasets, more detail is provided in the examples further below.)
For example, to load the default pRolocVis
application:
pRolocVis(object = hyperLOPIT2015, fcol = "markers")
Launching any of the pRolocVis
applications will open a new tab in a
separate pop-up window, and then the application can be opened in your
default Internet browser if desired, by clicking the ‘open in browser’
button in the top panel of the window.
To stop the applications from running press Esc
or Ctrl-C
in the
console (or use the “STOP” button when using RStudio) and close the
browser tab, where pRolocVis
is running.
There are 3 different applications, each one designed to address a different specific user requirement.
The explore app is intended for exploratory data analysis, which features a clickable interface and zoomable spatial map. The default spatial map is in the form of a PCA plot, but many other dimensionality reduction techniques are supported including t-SNE and MDS among others. If you would like to search for a particular protein or set of proteins this is the application to use. This app also features a protein profiles tab, designed for examining the patterns of user-specified sets of proteins. For example, if one has several overlapping sub-cellular clusters in their data, as highlighted by the PCA plot or otherwise, one can check for separation in all data dimensions by examining the protein profile patterns. Proteins that co-localise are known to exhibit similar distributions (De Duve’s principale).
The comparison application may be of interest if a user wishes to examine two replicate experiments, or two experiments from different conditions etc. Two spatial maps are loaded side-by-side and one can search and identify common proteins between the two data sets. As per the default application there is also a protein profiles tab to allow one to look at the patterns of protein profiles of interest in each dataset.
The aggregate app is for examining the effect that peptide or PSM aggregation may have on the protein level data.
pca
applicationThe explore
(default) app is characterised by an interactive and
searchable spatial map, by default this is a Principal Components
Analysis (PCA) plot. PCA is an
ordinance method that can be used to transform a high-dimensional
dataset into a smaller lower-dimenensional set of uncorrelated
variables (principal components), such that the first principal
component has the largest possible variance to account for as much
variability in the data as possible. Each succeeding component in turn
has the highest variance possible under the constraint that it be
orthogonal to the preceding components. Thus, PCA is particularly
useful for visualisation of multidimensional data in 2-dimensions,
wherein all the proteins can be plotted on the same figure. Other
dimensionality reduction methods are supported such as t-SNE,
among others (please see ?plot2D
and the argument method
)
The application is subdivided in to different tabs: (1) Spatial Map, (2) Profiles, (3) Profiles (by class), (4) Table Selection, (5) Sample info and (6) Colour picker. A searchable data table containing the experimental feature meta-data is permanantly dispalyed at the bottom of the screen for ease. You can browse between the tabs by simply clicking on them at the top of the screen.
To run the explore
application using pRolocVis
:
pRolocVis(object = hyperLOPIT2015, fcol = "markers")
Viewing The Spatial Map tab is characterised by its main panel which shows
a PCA plot for the selected MSnSet
. By default a PCA plot is used to
display the data and the first two principal components are plotted.
The left sidebar panel controls what class labels (sub-cellular compartments)
to highlight on the PCA plot. Labels can be selected by clicking on and off
the coloured data class names, or removed/highlighted by clicking the
“Select/clear all” button. The right sidebar contains the map controls.
This features a ‘transparancy’ slider to control the opacity of the highlighted
data points, and other buttons which are in detail below.
Searching Below the spatial map is a searchable data table containing
the fetaure meta data (fData
). For LOPIT experiments, such as the
one used in this example, this may contain protein accession numbers,
protein entry names, protein description, the number of quantified
peptides per protein, and columns containing sub-cellular localisation
information.
One can search for proteins of interest by using the white search box, above the table. Searching is done by partial pattern matching with table elements. Any matches or partial text matches that are found are highlighted in the data table. The search supports batch searching so users can paste their favourite sets of proteins, protein accessions/keywords must be separated by spaces.