User interface
VennDiagramWeb is a graphical user interface for the venn.diagram function [13]. The application starts with a simple example loaded (Fig. 3). Users can also choose to load an example configuration using the drop-down menu in the top right area of the sidebar. Users can modify the parameters of the venn.diagram function using the sidebar, and the resultant plot is generated instantly in the center panel (Fig. 4). The parameters for venn.diagram are divided into eleven sections, allowing the user to quickly find parameters of interest. If the user is familiar with the R package VennDiagram, they can also search for a parameter by name. At the bottom of the sidebar, the user can download the plot displayed as an image. On the bottom bar, the user can choose the datasets plotted, preview the datasets and data partitions, view the R code used to generate the plot, and access proper citation information for VennDiagramWeb.
Features
VennDiagramWeb is meant to integrate seamlessly into scientific plot generation workflows. To this end we have included several key features: data file uploads, access to underlying R code, image downloads, and multiple workspaces.
Data file uploads
Users can upload up to five data files, up to 2 megabytes each, for use in generating their diagrams, which is quite large for Venn diagrams. These datasets are made available to the editor as dataframes titled data1, data2, etc. through to data5. This feature is found in the first tab on the bottom bar. The file uploading system is designed to accept tables output by R using the write.table function, but can accept any simple text table format, such as csv, tsv, and txt. Some options are available for file format customization, generally pertaining to the options of write.table. These options allow the user to specify the column separator, the presence of headers and/or row names, and whether or not values are contained in quotes. The user is able to preview the first four lines of the datasets available. As an example, we have provided sample data for the reader to upload (Additional file 1) and visualize (Additional file 2) [14].
R code access
As VennDiagramWeb is a graphic overlay for the R package VennDiagram, the user can access the generated R code to reproduce the plot as it appears on screen. This is useful because it allows the user to rapidly prototype the appearance of their desired Venn diagram, and then download the corresponding code for integration into their own pipelines. It is also a necessary feature because though a web application is user-friendly, many users may wish to avoid uploading their data to an external website, or may be restricted from doing so by privacy laws [15]. For this reason, users can experiment with VennDiagramWeb for diagram formatting and customization on toy datasets, and then download the resulting code for use with their real data.
Image downloads
VennDiagramWeb allows users to download publication-quality images of the Venn diagram displayed on screen. Users can choose the image format as tiff, png or svg, as well as resolution and physical size in inches.
Multiple workspaces
The web application has an interface for creating and switching between tabs. This allows users to create several different plots simultaneously. Each workspace tab is distinct and does not share data or parameters to avoid unintentional effects on diagrams which are being generated concurrently.