Skip to content
PlotTwist - a web app for plotting and annotating time-series data
R HTML
Branch: master
Clone or download
Latest commit 986feb0 Oct 14, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
RhoGTPase-S1P Set range_x by URL Aug 30, 2019
rsconnect/shinyapps.io/goedhart Added option for Log10 scale Sep 5, 2019
www Added/improved several features Aug 22, 2019
.Rapp.history Improved support for Pasting data Oct 18, 2018
.Rhistory Improvements & new features Oct 14, 2019
.gitignore Some improvements Aug 30, 2019
Data_tidy_example_time_multi.csv -changed condition labels of the csv file Jun 21, 2019
Data_wide_example_time_single.csv Changed labels for conditions Aug 31, 2019
Fig7_RhoA_S1P-RGS.csv Update that accepts tidy data Sep 12, 2018
Fig7_RhoA_S1P-control.csv Update that accepts tidy data Sep 12, 2018
PlotTwist_normalized_tidy.csv
README.md Updated ReadMe Oct 14, 2019
Spectra_example1.png Reduced image size Aug 27, 2018
Test-data_Sergei.csv Improved annotation Jun 4, 2019
Timeseries_example1.png Reduced image size Aug 27, 2018
Timeseries_example2.png
Timeseries_heatmap.png Added Timeseries_heatmap Sep 3, 2019
about.html
app.R Improvements & new features Oct 14, 2019
df-tidy-time-2-conditions.csv Update that accepts tidy data Sep 12, 2018
mTurquoise2_SYFP2_spectra.csv Spectral data added Aug 27, 2018

README.md

PlotTwist

A Shiny App for plotting continuous data

About PlotTwist

PlotTwist (Plotting data from Time-lapse experiments With Indicators of conditions at Set Times) is an app for visualizing the data and statistics of continuous data, with a focus on time-dependent measurements. The philosophy of the approach is that plotting the raw data (instead of a summary) improves transparency and interpretation. To facilitate the visualization of individual measurements, the data can be shown as 'small mutliples' or in 'heatmap-style'. To further facilitate the comparison, the mean and 95% CI can be added. The user has full control over the visibility of the raw data and statistics by adjustment of the transparency (alpha). Several color blind friendly palettes are available to label the data. The comparison of multiple conditions is enabled by multiple file upload (csv or xls format), where each file represents a condition.

The app accepts both wide (spreadsheet-style) data and tidy data. Deselection of user-defined columns or conditions is possible. Several methods for normalizing the data are implemented. There are several options for annotating the plot, e.g. to indicate the time and nature of a perturbation. This will overlay a transparant grey box, add a bar on top of the graph or both.

An option for clustering of the data is available on a separate tab. Several basic clustering algorithms are implemented. The result of the clustering is displayed as plots for each of the clusters. The data can be downloaded in tidy CSV format. To evaluate the optimal number of clusters, a number of Cluster Validation Indices are available.

For more information on the underlying code and #dataViz styles see these blogs:

Visualizing data with R/ggplot2 - It's about time

Visualizing data with R/ggplot2 - One more time

Normalization methods

Visualizing heterogeneity

Running the App

The web-tool runs from a shiny server, and can be accessed at: https://huygens.science.uva.nl/PlotTwist/

Alternatively, the app can run from R/Rstudio.

Preparations

Note that the app depends on several R packages that need to be installed (shiny, ggplot2, dplyr, tidyr, readr, readxl, magrittr, ggrepel, DT, dtw, NbClust, gridExtra). Run this command in R/Rstudio to download and install all the packages (only needs to be done once):

install.packages("shiny", "ggplot2", "dplyr", "tidyr", "readr", "readxl", "magrittr", "ggrepel", "DT", "dtw", "NbClust", "gridExtra")

o The first option is running it directly from Github. In the command line (in R or Rstudio) type:

shiny::runGitHub('PlotTwist', 'JoachimGoedhart')

o The second option is download the app and to use it offline:

-download the app.R and csv files (Data_wide_example_time_single.csv and Data_tidy_example_time_multi.csv) with example data.

-Run RStudio and load app.R

-Select 'Run All' (shortcut is command-option-R on a Mac) or click on "Run App" (upper right button on the window)

This should launch a web browser with the Shiny app.

Credits

The code for the shiny app is partially derived from ggplotGUI by Gert Stulp
The colorblind safe palettes were developed by Paul Tol and Okabe and Ito.

PlotTwist is created and maintained by Joachim Goedhart (@joachimgoedhart)and Marten Postma

Example output

Data from a single file with stimulation indicated by a grey box:

alt text

Data in a heatmap presentation with annotation of the different perturbations:

alt text

Data from multiple files, means (and 95% CI) of each condition have different colors:

alt text

The data for the x-axis does not need to be time. Also other continuous data can be visualized. This is an example with spectral data (shaded region indicates a region of 460-500 nm, a possible CFP emission filter):

alt text

You can’t perform that action at this time.