Software | Open | Published:
PIVOT: platform for interactive analysis and visualization of transcriptomics data
BMC Bioinformaticsvolume 19, Article number: 6 (2018)
Many R packages have been developed for transcriptome analysis but their use often requires familiarity with R and integrating results of different packages requires scripts to wrangle the datatypes. Furthermore, exploratory data analyses often generate multiple derived datasets such as data subsets or data transformations, which can be difficult to track.
Here we present PIVOT, an R-based platform that wraps open source transcriptome analysis packages with a uniform user interface and graphical data management that allows non-programmers to interactively explore transcriptomics data. PIVOT supports more than 40 popular open source packages for transcriptome analysis and provides an extensive set of tools for statistical data manipulations. A graph-based visual interface is used to represent the links between derived datasets, allowing easy tracking of data versions. PIVOT further supports automatic report generation, publication-quality plots, and program/data state saving, such that all analysis can be saved, shared and reproduced.
PIVOT will allow researchers with broad background to easily access sophisticated transcriptome analysis tools and interactively explore transcriptome datasets.
Technologies such as RNA-sequencing measure gene expressions and present them as high-dimensional expression matrixes for downstream analyses. In recent years, many programs have been developed for the statistical analysis of transcriptomics data, such as edgeR  and DESeq  for differential expression testing, and monocle , Seurat , SC3  and SCDE  for single cell RNA-Seq data analysis. Besides these, the Comprehensive R Archive Network (CRAN)  and Bioconductor  host various statistical packages addressing different aspects of transcriptomics study and provides recipes for a multitude of analysis workflows. Making use of these R analysis packages requires expertise in R and often custom scripts to integrate the results of different packages. In addition, many exploratory analyses of transcriptome data involve repeated data manipulations such as transformations (e.g., normalizations), filtering, merging, etc., each step generating a derived dataset whose version and provenance must be tracked. Previous efforts to address these problems include designing standardized workflows , building a comprehensive package  or assembling pipelines into integrative platforms such as Galaxy  or Illumina BaseSpace . Designing workflows or using large packages still requires a significant amount of programming skills and it can be difficult to make various components compatible or applicable to specific datasets. Integrative platforms offer greater usability but trades off flexibility, functionality and efficiency due to limitations on data size, parameter choice and computing power. For example, the Galaxy platform is designed as discrete functional modules which require separate file inputs for different analysis. This design not only makes user-end file format conversion complicated and time-consuming, but also breaks the integrity of the analysis workflow, limiting the sharing of global parameters, filtering criteria and analysis results between modules. Tools such as RNASeqGUI , START , ASAP  and DEApp  provide an interactive graphical interface for a small number of packages. But, these and other similar packages all adopt a rigid workflow design, have limited data provenance tracking, and none of the packages provide mechanisms for tracking, saving and sharing analysis results. Furthermore, many web-based applications require users to upload data to a server, which might be prohibited by HIPPA (Health Insurance Portability and Accountability Act of 1996) for clinical data analysis.
PIVOT directly integrates existing open source packages by wrapping the packages with a uniform user-interface and visual output displays. The user interface replaces command line options of many packages with menus, sliders, and other option controls, while the visual outputs provide extra interactive features such as change of view, active objects, and other user selectable tools.
PIVOT provides many tools to manipulate a dataset to derive new datasets including different ways to normalize a dataset, subset a dataset, etc. In particular, PIVOT supports manipulating the datasets using the results of an analysis; for example, a user might use the results of differential gene expression analysis to select all gene satisfying some p-value filter. PIVOT implements a visual data management system, which allows users to create multiple data views and graphically display the linked relationship between data variants, allowing navigation through derived data objects and automated re-analysis.
PIVOT dynamically bridges analysis packages to allow results from one package to be used as inputs for another. Thus, it provides a flexible framework for users to combine tools into customizable pipelines for various analysis purposes.
PIVOT provides facilities to automatically generate reports, publication-quality figures, and reproducible computations. All analyses and data generated in an interactive session can be packaged as a single R object that can be shared to exactly reproduce any results.
PIVOT is written in R and is distributed as an R package. It is developed using the Shiny framework, multiple R packages and a collection of scripts written by members of J. Kim’s Lab at University of Pennsylvania. PIVOT exports multiple Shiny modules  which can be used as design blocks for other Shiny apps, as well as R functions for transcriptomics analysis and plotting. A proficient R user can easily access data objects, analysis parameters and results exported by PIVOT and use them in customized scripts. PIVOT has been tested on macOS, Linux and Windows. It can be downloaded from Kim Lab Software Repository (http://kim.bio.upenn.edu/software/pivot.shtml).
Data input and transformations
Read counts obtained from RNA-Seq quantification tools such as HTSeq  or featureCounts  can be directly uploaded into PIVOT as text, csv or Excel files. Data generated using the 10× Genomics Cell Ranger pipeline can also be readily read in and processed by PIVOT. PIVOT automatically performs user selected data transformations including normalization, log transformation, or standardization. We have included multiple RNA-Seq data normalization methods including DESeq normalization , trimmed mean of M-values (TMM) , quantile normalization , RPKM/TPM , Census normalization , and Remove Unwanted Variation (RUVg)  (Table 1). If samples contain spike-in control mixes such as ERCC , PIVOT will also separately analyze the ERCC count distribution and allow users to normalize the data using the ERCC control. Existing methods can be customized by the user by setting detailed normalization parameters. For example, we implement a modification of the DESeq method by making the inclusion criterion a user set parameter, making it more applicable to sparse expression matrices such as single cell RNA-Seq data .
Users can upload experiment design information such as conditions and batches, which can be visualized as annotation attributes (e.g., color points/sidebars) or used as model specification variables for downstream analyses such as differential expression. PIVOT supports flexible operations to filter data for row and column subsets as well as for merging datasets, creating new derived datasets. Multiple summary statistics and quality control plots are automatically generated to help users identify possible outliers. Users can manually select samples for analysis, or specify statistical criteria on analysis results such as expression threshold, dropout rate cutoff, Cook’s distance or size factor range to remove unwanted features and samples.
Visual data management with data map
When analyzing large datasets, a common procedure is to first perform quality control to remove low quality elements, then normalize the data and finally generate different data subsets for various analysis purposes. Some analyses require filtering out genes with low expressions, while others are designed to be performed on a subset of the genes such as transcription factors. During secondary analyses, outliers may be detected requiring additional scrutiny. All these data manipulations generate a network of derived datasets from the original data and require a significant amount of effort to track. Failure to track the data lineage could affect the reproducibility and reliability of the study. Furthermore, an investigator might wish to repeat an analysis over a variety of derived datasets, which may be tedious and error-prone to carry out manually. To address this problem, we implemented a graphical data management system in PIVOT.
As the user generates derived datasets with various data manipulations, PIVOT records and presents the data provenance in an interactive tree graph, the “Data Map”. As shown in Fig. 1, each node in the data map represents a derived dataset and the edges contain information about the details of the derivation operation. Users can attach analysis results to the data nodes as interactive R markdown reports  and switch between different datasets or retrieve analysis reports by simply clicking the nodes. Upon switch to a new dataset selected from the Data Map, PIVOT automatically re-runs analyses and updates parameter choices when needed. Thus, a user can easily compare results of a workflow across derived datasets. The data map is generated with the visNetwork package  and can be directly edited, so that users can rename nodes, add notes, or delete data subsets and analysis reports that are no longer useful. The full data history is also presented as downloadable tables with all sample and feature information as well as data manipulation details.
Comprehensive toolset for exploratory analysis
PIVOT is designed to aid exploratory analysis for both single cell and bulk RNA-Seq data, thus we have incorporated a large set of commonly used tools (see Table 1, also Additional file 1: Table S1 for comparison with other similar applications). PIVOT supports many visual data analytics including QC plots (number of detected genes, total read counts, dropout rates and estimated size factors; Fig. 2a, data from ), transcriptome statistics plots (e.g., rank-frequency plots, mean-variability plots, etc.; Fig. 2b), and sample and feature correlation plots (e.g., heatmaps, smoothened scatter plots, etc.). All visual plots feature interactive options and a query function is provided which allows users to search for features sharing similar expression patterns with a target feature. PIVOT provides users extensive control over parameter choices. Each analysis module contains multiple visual controls allowing users to adjust parameters and obtain updated results on the fly.
Integrative analysis and interactive visualization
PIVOT transparently bridges multiple sequences of analyses to form customizable analysis pipelines. For example, with single cell data collected from heterogeneous tumor or tissue, a user can first perform PCA or t-SNE  (Fig. 2c) to visualize the low dimensional embedding of the data. If there is clear clustering pattern, possibly originated from different cell types, the user can directly specify cell clusters by dragging selection boxes on the graph, or perform K-means or hierarchical clustering with the projection matrix. One can proceed to run DE or penalized LDA  to identify cluster-specific marker genes, which can then be used to filter the datasets for generating a heatmap showing distinctive expression pattern across cell types (Fig. 2d). Within each determined cell type, a user may further apply the walk-trap community detection method  to identify densely connected network of cells, which are indicative of potential subpopulations .
As another example, for time-series data such as cells collected at different stages of development or differentiation, one can use diffusion pseudotime (DPT) , which reconstructs the lineage branching pattern based on the diffusion map algorithm , or monocle , which implements an unsupervised algorithm for pseudo-temporal ordering of single cells . We have incorporated the latest monocle 2 workflow in PIVOT, including cell state ordering, unsupervised cell clustering, gene clustering by pseudo-temporal expression pattern and cell trajectory analysis. Besides the DE method implemented in monocle, one can also run DESeq, edgeR, SCDE or the Mann-Whitney U test. A user can specify whether to perform basic DE analysis or a multi-factorial DE analysis with customized formulae for complex experimental designs such as time-series or controlling for batch effects. Results are presented as dynamic tables including all essential statistics such as maximum likelihood estimation and confidence intervals. Each gene entry in the table can be clicked and visualized as violin plots or box plots, showing the actual expression level across conditions. Once DE results are obtained, the user can further explore the connections between DE genes and identify potential trans-differentiation factors as introduced in the Mogrify algorithm . PIVOT provides several extensions of functionality from the original Mogrify method. The network analysis module allows users to plot the log fold changes (LFC) of DE genes in a protein-protein interaction network obtained from the STRING database (Fig. 3a)  or a directed regulatory network graph constructed from the Regnetwork repository (Fig. 3b) . With scoring based on the p-value and log fold change, the graph can be zoomed to only include top-rank genes, showing the regulatory “hot spot” of the network. PIVOT provides users with multiple options for defining the network influence score of transcription factors, and will produce lists of potential trans-differentiation factors based on the final ranking. As shown in Fig. 3c, with the FANTOM5 expression data of fibroblasts and ES cells , PIVOT correctly reports OCT4 (POU5F1), NANOG and SOX2 as key factors for trans-differentiation . In addition to the DESeq results used by the original Mogrify algorithm, a user can choose to use SCDE or edgeR results to perform trans-differentiation analysis on single cell datasets.
Another useful feature of PIVOT is that it provides users multiple visualization options by exploiting the power of various plotting packages. For example, users can either generate publication-quality heatmap graphs (implemented in gplots package ), or interactively explore the heatmap with the heatmaply view . For principal component analysis, PIVOT uses three different packages to present the 2D and 3D projections. The plotly package  displays sample names and relevant information as mouse-over labels, while the ggbiplot  presents the loadings of each gene on the graph as vectors. The threejs package  fully utilizes the power of WebGL and outputs rotatable 3D projections. In the network analysis module, we utilize both igraph  and networkD3  package to plot the transcription factor centered local network. The latter provides a force directed layout, which allows users to drag the nodes and visualize the physical simulation of the network response.
Reproducible research and complete provenance capture
PIVOT automatically records all data manipulations and analysis steps. Once an analysis has been performed, users will have the option of pasting related R markdown code to a shinyAce report editor , or download the report as either a pdf or interactive html document. All results and associated parameters will be captured and saved to the report along with user-provided comments. PIVOT states are automatically saved in cases of browser refresh, crash or user exit, and can also be manually exported, shared and loaded. Thus, all analyses performed in PIVOT are fully encapsulated and can be shared or disseminated as a single data + provenance object, allowing universally reproducible research.
We developed PIVOT for easy, fast, and exploratory analysis of the transcriptomics data. Toward this goal we have automated the analysis procedures and data management, and we provide users with detailed explanations both in tooltips and a user manual. PIVOT exploits the power of multiple plotting packages and gives users full control of key analysis and plotting parameters. Given user input that leads to function errors, PIVOT will alert the user and provide corrective suggestions. PIVOT states and reports can be shared between researchers to facilitate the discussion of expression analysis and future experimental design. PIVOT is designed to be extensible and future versions will continue to integrate popular transcriptome analysis routines as they are made available to the research community.
Availability and requirements
Project name: PIVOT.
Project home page: http://kim.bio.upenn.edu/software/pivot.shtml
Operating systems: macOS, Linux, Windows.
Programming language: R.
Other requirements: Dependent R packages.
License: GNU GPL.
Any restrictions to use by non-academics: none.
- ES cells:
Embryonic Stem cells
Graphical User Interfaces
Linear Discriminant Analysis
Log Fold Change
Principal Component Analysis
Platform for Interactive analysis and Visualization Of Transcriptomics data
Reads Per Kilobase per Million mapped reads
Remove Unwanted Variation
Trimmed Mean of M-values
t-Distributed Stochastic Neighbor Embedding
McCarthy DJ, Chen Y, Smyth GK. Differential expression analysis of multifactor RNA-Seq experiments with respect to biological variation. Nucleic Acids Res. 2012;40:4288–97.
Love MI, Huber W, Anders S. Moderated estimation of fold change and dispersion for RNA-seq data with DESeq2. Genome Biol. 2014;15:1–21.
Trapnell C, Cacchiarelli D, Grimsby J, Pokharel P, Li S, Morse M, Lennon NJ, Livak KJ, Mikkelsen TS, Rinn JL. The dynamics and regulators of cell fate decisions are revealed by pseudotemporal ordering of single cells. Nat Biotechnol. 2014;32:381–6.
Satija R, Farrell JA, Gennert D, Schier AF, Regev A. Spatial reconstruction of single-cell gene expression data. Nat Biotechnol. 2015;33:495–502.
Kiselev VY, Kirschner K, Schaub MT, Andrews T, Yiu A, Chandra T, et al. SC3: consensus clustering of single-cell RNA-seq data. Nat Methods. 2017;14:483–6.
Kharchenko PV, Silberstein L, Scadden DT. Bayesian approach to single-cell differential expression analysis. Nat Methods. 2014;11:740–2.
Hornik K. The comprehensive R archive network. Wiley interdisciplinary reviews. Comput Stat. 2012;4:394–8.
Huber W, Carey VJ, Gentleman R, Anders S, Carlson M, Carvalho BS, Bravo HC, Davis S, Gatto L, Girke T. Orchestrating high-throughput genomic analysis with bioconductor. Nat Methods. 2015;12:115–21.
Anders S, McCarthy DJ, Chen Y, Okoniewski M, Smyth GK, Huber W, Robinson MD. Count-based differential expression analysis of RNA sequencing data using R and bioconductor. Nat Protoc. 2013;8:1765–86.
Goecks J, Nekrutenko A, Taylor J. Galaxy: a comprehensive approach for supporting accessible, reproducible, and transparent computational research in the life sciences. Genome Biol. 2010;11:R86.
Illumina basespace. https://basespace.illumina.com/home/index. Accessed 8 June 2017.
Russo F, Angelini C. RNASeqGUI: a GUI for analysing RNA-Seq data. Bioinformatics. 2014;30:2514–6.
Nelson JW, Sklenar J, Barnes AP, Minnier J. The START app: a web-based RNAseq analysis and visualization resource. Bioinformatics. 2017;33(3):447–9.
Gardeux V, David FP, Shajkofci A, Schwalie PC, Deplancke B. ASAP: a Web-based platform for the analysis and interactive visualization of single-cell RNA-seq data. Bioinformatics. 2017:33(19):3123–5.
Li Y, Andrade J. DEApp: an interactive web interface for differential expression analysis of next generation sequence data. Source Code for Biology and Medicine. 2017;12:2.
Shiny. https://www.rdocumentation.org/packages/shiny/versions/1.0.5. 2017. Accessed 12 Dec 2017.
Cheng J. Modularizing shiny app code. 2015. https://shinyrstudiocom/articles/moduleshtml.
Anders S, Pyl PT, Huber W. HTSeq–A Python framework to work with high-throughput sequencing data. Bioinformatics. 2015;31(2):166–9.
Liao Y, Smyth GK, Shi W. featureCounts: an efficient general purpose program for assigning sequence reads to genomic features. Bioinformatics. 2014;30:923–30.
Anders S, Huber W. Differential expression analysis for sequence count data. Genome Biol. 2010;11(10):R106.
Robinson MD, Oshlack AA. Scaling normalization method for differential expression analysis of RNA-seq data. Genome Biol. 2010;11:1.
Dillies M-A, Rau A, Aubert J, Hennequet-Antier C, Jeanmougin M, Servant N, Keime C, Marot G, Castel D, Estelle JA. Comprehensive evaluation of normalization methods for Illumina high-throughput RNA sequencing data analysis. Brief Bioinform. 2013;14:671–83.
Mortazavi A, Williams BA, McCue K, Schaeffer L, Wold B. Mapping and quantifying mammalian transcriptomes by RNA-Seq. Nat Methods. 2008;5:621–8.
Qiu X, Hill A, Packer J, Lin D, Ma Y-A, Trapnell C. Single-cell mRNA quantification and differential analysis with census. Nat Methods. 2017;14:309–15.
Risso D, Ngai J, Speed TP, Dudoit S. Normalization of RNA-seq data using factor analysis of control genes or samples. Nat Biotechnol. 2014;32:896–902.
Lemire A, Lea K, Batten D, Gu JS, Whitley P, Bramlett K, Qu L. Development of ERCC RNA spike-in control mixes. Journal of Biomolecular Techniques: JBT. 2011;22(Suppl):S46.
Spaethling JM, Na Y-J, Lee J, Ulyanova AV, Baltuch GH, Bell TJ, Brem S, Chen HI, Dueck H, Fisher SA. Primary cell culture of live neurosurgically resected aged adult human brain cells and single cell transcriptomics. Cell Rep. 2017;18:791–803.
Allaire J, Cheng J, Xie Y, McPherson J, Chang W, Allen J, Wickham H, Atkins A, Hyndman R. rmarkdown: Dynamic Documents for R. 2016.
VisNetwork. 2016. https://www.rdocumentation.org/packages/visNetwork/versions/2.0.1. Accessed 12 Dec 2017.
Dueck H, Khaladkar M, Kim TK, Spaethling JM, Francis C, Suresh S, Fisher SA, Seale P, Beck SG, Bartfai T. Deep sequencing reveals cell-type-specific patterns of single-cell transcriptome variation. Genome Biol. 2015;16:1–17.
Lvd M. Hinton G. Visualizing data using t-SNE. J Mach Learn Res. 2008;9:2579–605.
Witten DM, Tibshirani R. Penalized classification using Fisher's linear discriminant. Journal of the Royal Statistical Society: Series B (Statistical Methodology). 2011;73:753–72.
Pons P, Latapy M. Computing communities in large networks using random walks. In: International Symposium on Computer and Information Sciences. New York: Springer. 2005. p. 284–93.
Darmanis S, Sloan SA, Zhang Y, Enge M, Caneda C, Shuer LM, Gephart MGH, Barres BA, Quake SRA. Survey of human brain transcriptome diversity at the single cell level. Proc Natl Acad Sci. 2015;112:7285–90.
Haghverdi L, Büttner M, Wolf FA, Buettner F, Theis FJ. Diffusion pseudotime robustly reconstructs lineage branching. Nat Methods. 2016;13:845–8.
Coifman RR, Lafon S, Lee AB, Maggioni M, Nadler B, Warner F, et al. Geometric diffusions as a tool for harmonic analysis and structure definition of data: diffusion maps. Proc Natl Acad Sci. 2005;102:7426–31.
Magwene PM, Lizardi P, Kim J. Reconstructing the temporal ordering of biological samples using microarray data. Bioinformatics. 2003;19:842–50.
Rackham OJ, Firas J, Fang H, Oates ME, Holmes ML, Knaupp AS, Suzuki H, Nefzger CM, Daub CO, Shin JWA. Predictive computational framework for direct reprogramming between human cell types. Nat Genet. 2016;48(3):331–5.
Szklarczyk D, Franceschini A, Wyder S, Forslund K, Heller D, Huerta-Cepas J, Simonovic M, Roth A, Santos A, Tsafou KP. STRING v10: protein–protein interaction networks, integrated over the tree of life. Nucleic Acids Res. 2014;43(D1):D447–52.
Liu Z-P, Wu C, Miao H, Wu H. RegNetwork: an integrated database of transcriptional and post-transcriptional regulatory networks in human and mouse. Database. 2015;2015:bav095.
Lizio M, Harshbarger J, Shimoji H, Severin J, Kasukawa T, Sahin S, Abugessaisa I, Fukuda S, Hori F, Ishikawa-Kato S. Gateways to the FANTOM5 promoter level mammalian expression atlas. Genome Biol. 2015;16:1.
Huangfu D, Osafune K, Maehr R, Guo W, Eijkelenboom A, Chen S, Muhlestein W, Melton DA. Induction of pluripotent stem cells from primary human fibroblasts with only Oct4 and Sox2. Nat Biotechnol. 2008;26:1269–75.
Gplots. 2016. https://www.rdocumentation.org/packages/gplots/versions/3.0.1. Accessed 12 Dec 2017.
Heatmaply. 2017. https://www.rdocumentation.org/packages/heatmaply/versions/0.13.0. Accessed 12 Dec 2017.
Plotly. 2017. https://www.rdocumentation.org/packages/plotly/versions/4.7.1. Accessed 12 Dec 2017.
Ggbiplot. 2011. https://www.rdocumentation.org/packages/ggbiplot/versions/0.55. Accessed 12 Dec 2017.
Threejs. 2016. https://www.rdocumentation.org/packages/threejs/versions/0.3.1. Accessed 12 Dec 2017.
Csardi G, Nepusz T. The igraph software package for complex network research. Inter Journal, Complex Systems. 2006;1695:1–9.
NetworkD3. 2017. https://www.rdocumentation.org/packages/networkD3/versions/0.4. Accessed 12 Dec 2017.
ShinyAce. 2016. https://www.rdocumentation.org/packages/Rcpp/versions/0.12.14. Accessed 12 Dec 2017.
We are grateful to all members in Junhyong Kim’s lab and James Eberwine’s lab for their participation in the beta-testing of the program and their valuable feedback and suggestions. This research has been supported by NIMH U01MH098953 grant to J. Kim and J. Eberwine.
This work has been supported by NIMH grant U01MH098953 to J. Kim and J. Eberwine.
Availability of data and materials
The data used for Fig. 2 was downloaded from  with GEO accession number GSE56638. Counts tables for network analysis and trans-differentiation factor prediction were downloaded from the FANTOM5 project . We used read counts of phase 1 CAGE peaks for human samples including H9 embryonic stem cells biological replicates 2 and 3, and fibroblast (dermal) donor 1 to 6. The PIVOT package can be downloaded from http://kim.bio.upenn.edu/software/pivot.shtml.
Ethics approval and consent to participate
Consent for publication
The authors declare that they have no competing interests.
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Comparison of tools integrated/implemented in PIVOT to other similar applications. (DOCX 80 kb)