pRolocGUI: Interactive visualisation of organelle (spatial) proteomics data

Thomas Naake and Laurent Gatto*

*Computational Proteomics Unit, University of Cambridge


This vignette describes the implemented functionality in the pRolocGUI package. The package is based on the MSnSet class definitions of MSnbase (Gatto and Lilley, 2012) and on the functions defined in the package pRoloc (Breckels, Gatto, Christoforou, Groen, et al., 2013; Gatto, Breckels, Wieczorek, Burger, et al., 2014). pRolocGUI is intended for the visualisation and analysis of proteomics data, especially for the analyses of LOPIT (Dunkley, Hester, Shadforth, Runions, et al., 2006) or PCP (Foster, Hoog, Zhang, Zhang, et al., 2006) experiments.
To achieve reactivity and interactivity, pRolocGUI relies on the shiny framework.

The implemented application facilitates a higher degree of interactivity with the underlying spatial proteomics data: The distributed functions pRolocVis and pRolocComp offer interactive Principal Component Analysis (PCA) plots and protein profile plots, as well as exploration of quantitative and qualitative meta-data. Key features of pRolocVis and pRolocComp are the identification of features in plots, a 'reverse search' based on querying meta-data which allows for highlighting the features on plots and an import/export functionality by using the FeaturesOfInterest/FoICollection infrastructure distributed by the MSnbase package. Additionally, pRolocComp allows for comparison of two comparable MSnSet instances, e.g. this might be of great help for analyses of changes in protein localisation in different MSnSets.

We recommend some familiarity with the MSnSet class (see ?MSnSet for details) and the pRoloc vignette (available with vignette("pRoloc-tutorial")).

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 contact Laurent Gatto ( or Thomas Naake ( 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 list.

1. Introduction

Currently, pRolocGUI distributes the pRolocVis and pRolocCompapplication.

The function pRolocVis needs an object of class MSnSet or a list of MSnSet objects as an argument, while pRolocComp needs a list containing two instances of class MSnSet. To prepare the environment to run a pRolocVis/pRolocComp session, the pRolocGUI package and for demonstration purposes four example MSnSets are loaded to the environment. The example data sets are available from the pRolocdata (Gatto and Breckels, 2014) experiment package and are derived from experiments andy2011 from Breckels, Gatto, Christoforou, Groen, et al. (2013), tan2009r1 and tan2009r2, the first and second replicate from Tan, Dvinge, Christoforou, Bertone, et al. (2009) and dunkley2006 from Dunkley, Hester, Shadforth, Runions, et al. (2006).

data(andy2011, package = "pRolocdata")
data(tan2009r1, package = "pRolocdata")
data(tan2009r2, package = "pRolocdata")
data(dunkley2006, package = "pRolocdata")

pRolocVis needs an object of class MSnSet as an argument. We can launch the application with an MSnSet by assigning it to the argument object:

pRolocVis(object = andy2011)

Alternatively, to upload multiple objects of class MSnSet, pRolocVis accepts both lists with named and unnamed objects. This allows for analysis of multiple data sets without stopping the application from running. The names of objects of lists will appear in the drop-down menu in the data tab, while lists with unnamed objects will have a drop-down menu with automatically named entries as a consequence, i.e. object 1 ... object n, where n is the length of the list.

namedVis <- list(andy2011 = andy2011, tan2009r1 = tan2009r1, dunkley2006 = dunkley2006)
unnamedVis <- list(andy2011, tan2009r1, dunkley2006)
pRolocVis(object = namedVis)
pRolocVis(object = unnamedVis)

pRolocComp requires a list of two MSnSets which can be named or unnamed.

namedComp <- list(tan2009r1 = tan2009r1, tan2009r2 = tan2009r2)
unnamedComp <- list(tan2009r1, tan2009r2)
pRolocComp(object = namedComp)
pRolocComp(object = unnamedComp)

N.B.! It is also possible to use a partly named list in pRolocVis and pRolocComp.

Launching pRolocVis or pRolocComp will open a new tab in your default Internet browser.

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/pRolocComp is running.

2. Tabs of pRolocVis and pRolocComp

To optimise ease of use the interfaces of pRolocVis and pRolocComp are subdivided in seven tabs:

You browse through the tabs by simply clicking on them. Each tab selected will have a different kind of appearance while some (PCA, protein profiles, quantitation and feature meta-data) share a common feature in the sidebar, the Display selection widget (see section 3. Display selection widget for further details).

In case you have a question and want to consult the vignette for a certain issue (e.g. regarding PCA tab or on how to use the Display selection widget) click on ? which will open the vignette in a new browser tab in the corresponding section.

In general, the tabs for pRolocVis and pRolocComp will look alike. The tab data however differs for the two applications. While in pRolocVis this tab allows for the selection of the used MSnSet and the upload of .Rda or .Rdata files, in pRolocComp there is the possibility to subset the used MSnSets (in terms of using common, unique and common & unique features in the two MSnSets used) as well as to submit features for selection. See 2.7. data for further details.

Fig. 1: Vignette of pRolocVis and pRolocComp

2.1. PCA

The tab PCA is characterised by its main panel which shows a PCA plot for the selected MSnSet in the case of pRolocVis and two PCA plots for pRolocVis. The sidebar panel is divided into Display selection and Plot.

Fig. 2: Appearance of PCA tab for pRolocVis (andy2011)

For pRolocComp the plot whose appearance is going to altered has to be selected by selecting the appropriate radio button left of the name of the MSnSet instance in the sidebar panel.

In addition, pRolocComp offers the possibility to mirror the PCA plot of the second object. By clicking on x-axis below mirror 2nd object features are mirrored along the x-axis, while clicking on y-axis mirrors along the y-axis. This may be important when you compare experiments whose PCA analysis have different signs.

Fig. 3: Radio buttons to select MSnSet in pRolocComp. Argument object is a named list with MSnSet instances tan2009r1 and tan2009r2

The manipulation of the plots works the same way for pRolocVis and for pRolocComp:

The Display selection widget is described below. The Plot compartment enables to adjust the appearance of the PCA plot in the main panel. We are able to colour features (proteins) in matters of common properties by changing the drop-down list colour. These properties are the MSnSet's feature variables. For example if we upload the andy2011 data set in pRolocVis, and select the colour markers, the features in the PCA plot will be coloured according to their organelle affiliation. As soon as we select another colour than none, two (or three) new items will be added to the Plot widget:

(1) symbol type: By selecting one of the feature variables of the MSnSet in the drop-down list of symbol type the symbol type of the features in the plot will be changed.

(2) legend and position of legend: By clicking on the check box to the left of legend a legend is added to the plot and by choosing one of the items in the drop-down list position of legend below its position will be changed.

(3) point size: This drop-down list might appear when numeric feature variable have been identified. The default 1 allows for an unaltered display of the plot, while selecting other items in the list renders the features in the PCA plot according to their numerical value in the variable label (for example classification scores).

Fig. 4: Appearance of PCA tab (andy2011). markers used for colours, legend added.

By changing the drop-down lists of the items PC along x axis and PC along y axis the x-values and y-values, respectively, the plot will be rendered according to the new principal components.

To zoom in and out drag and drop the little arrows of the slider of the items zoom x-axis and zoom y-axis. This may be of great help when you want to identify points in dense clusters.

By clicking on Download Plot in the main panel below the PCA plot will open a dialog window with an interface on showing or saving the PCA plot as it is displayed in the main panel.

2.2. protein profiles

For pRolocVis the tab protein profiles shows the protein profiles in the main panel (with an option of exporting the plot as it is shown in the main panel by clicking on the button Download Plot) - for pRolocComp it shows the plots for the two MSnSet instances (the corresponding plot(s) for the first element in the list will be displayed on the left, for the second element on the right). In the sidebar panel there is the Display selection widget and the Plot widget.

Have a look on section 3. Display selection widget if you want to retrieve information about how to use the Display selection widget.

The Plot widget helps to manipulate the plots shown in the main panel (in pRolocComp one has first to select the appropriate radio button next to the MSnSet instance in the sidebar panel). Let's assume we want to have a look upon the protein profiles for the proteins from which we know that they belong to the organelles Endoplasmic reticulum, the Golgi apparatus, Mitochondrion and the plasma membrane for the andy2011 MSnSet. This is done in pRolocVis, but works in the same way in pRolocComp. We have four organelles to look at, so we select 4 (in pRolocComp there is either the possibility to select 1 or 2 plots per MSnSet) in the drop-down list number of plots to display. We will select the feature variable markers in the drop-down list feature(s) in and select ER (coding for Endoplasmic reticulum) in the drop-down list underneath (assigned to). To display the next plot we have to change the slider Selected plot to position 2. Accordingly to our question we will change the second drop-down list to Golgi (coding for Golgi apparatus). We proceed with the two remaining organelles as described before by changing firstly the slider to the next position and by changing the drop-down lists accordingly to the organelles we want to display. Please be aware that it is possible to "go" back to a plot to change its parameter.

Fig. 5: Appearance of protein profiles tab in pRolocVis showing protein profiles of organelles/compartments Endoplasmic reticulum, Golgi apparatus, Mitochondrion and plasma membrane of markers (andy2011)

2.3. quantitation

The tab quantitation displays the quantitation data for the proteins as a data table.

In the main panel you can change the number of proteins shown per page and search both for proteins (or for the quantitation data). Also, you may sort the proteins by name or the quantitation data by clicking on the arrows on the top of the data table.

In the sidebar panel the Display selection widget is located as well as radio buttons to display all data or just selected features (see 3. Display selection for further details). In pRolocComp there is also another well panel to select the appropriate radio button next to the name of the MSnSet to show the respective quantitation data.

Fig. 6: Appearance of quantitation tab (andy2011) in pRolocVis. Features shown originate from selection made in the PCA and protein profiles plots

2.4. feature meta-data

The tab feature meta-data displays the feature meta-data for the proteins as a data table.

The layout of the tab is similar to the quantitation tab and allows for sorting and querying the feature meta-data of the selected MSnSet.

The sidebar comprises the Display selection widget and radio buttons to show all or only selected features (see 3. Display selection for further details). In pRolocComp there is in addition a set of two radio buttons which allow to switch the MSnSet shown, thus, the feature meta-data will be rendered to the selected MSnSet.

Fig. 7: Appearance of feature meta-data tab (andy2011) in pRolocVis. Features shown originate from selection made in protein profiles plot

2.5. sample meta-data

The tab sample meta-data displays the sample meta-data for the experiment, the name of the isotopes used for tagging and the associated fractions.

In pRolocComp select the appropriate radio button next to the object name in sidebar panel to display the corresponding sample meta-data.

Fig. 8: Appearance of sample meta-data tab (andy2011) in pRolocVis

2.6. search

The appearance and operation are identical for pRolocVis and pRolocGUI.

pRolocVis and pRolocComp allow to use past search results to display in the PCA plot, protein profiles and in the tabs quantitation and feature meta-data (see 3. Display selection for further details if this is your intention). This ability requires the object pRolocGUI_SearchResults in the global environment which is of class FeaturesOfInterest or FoICollection (enter ?FeaturesOfInterest in the console for further details).

In case this objects exists it will automatically be loaded to pRolocVis/pRolocComp and its content is displayed in the tab search. Use the drop-down list in the main panel to browse through the different features of the FoICollection. To select features and display them in multiple tabs add them to the field in the multiple drow-down list.

If no object called pRolocGUI_SearchResults exists in the global environment you still have the possibility to assign FeaturesOfInterest to an FoICollection which will be assigned to the global environment when exiting pRolocVis/pRolocComp.

To save features of interest to the object internally you need to select features and add these to the FoICollection by entering an appropriate description in the text field (on the sidebar panel, which will be useful to trace back to the underlying features and does not exist yet in the FoICollection). Add the selected features to the object pRolocGUI_SearchResults in the global environment by clicking on Create new features of interest. You only have the possibility to add selected features to the FoICollection when you have entered an appropriate description, i.e. one that doesn't exist yet in the FoICollection and if you have selected FeaturesOfInterest, otherwise the button does not show up in the application.

When exiting pRolocVis/pRolocComp the FoICollection will be assigned to the object pRolocGUI_SearchResults in the global environment.

To create an example object pRolocGUI_SearchResults containing the first ten features of tan2009r1 run the following commands in the console. Both traceable and non-traceable FeaturesOfInterest/FoICollection are usable by pRolocVis/pRolocComp.

data(tan2009r1, package = "pRolocdata")
pRolocGUI_SearchResults <- FoICollection()
newFeat <- FeaturesOfInterest(description = "test_01",
                              fnames = featureNames(tan2009r1)[1:10],
                              object = tan2009r1)
pRolocGUI_SearchResults <- addFeaturesOfInterest(newFeat, pRolocGUI_SearchResults)

Fig. 9: Appearance of search tab (andy2011) in pRolocVis. Search result pRolocVis_Test1 contains one feature of interest (PGAP1_Human)

2.7. data

The tab data is the last tab for pRolocVis and pRolocComp.