| Literature DB >> 35782729 |
Jingcheng Yang1,2, Yaqing Liu1, Jun Shang1, Yechao Huang1, Ying Yu1, Zhihui Li1, Leming Shi1, Zihan Ran3,4.
Abstract
Interactive visualization is an effective way to promote the reproducibility of results presented in biomedical publications and to facilitate additional exploration of the reported data. However, there is a lack of convenient tools that balance reproducibility with ease of use. To address this problem, we develop BioVisReport, a lightweight solution for the rapid generation of an interactive website based on a user-defined Markdown file, which acts as a text markup language without requiring users to master complex syntax and allows them to preview the results in real-time. Interactive websites generated by the tool can help readers conveniently reproduce research findings and perform further in-depth analyses beyond those reported in the original peer-reviewed publications. Currently, BioVisReport offers 17 basic types of plots for visualizing published data. In addition, the extensibility of BioVisReport supports flexible integration of user-developed Python plugins with multiple programming languages. BioVisReport is freely available at https://biovis.report/.Entities:
Keywords: Interactive visualization; Peer-reviewed publications; Reproducibility; Website builder
Year: 2022 PMID: 35782729 PMCID: PMC9233186 DOI: 10.1016/j.csbj.2022.06.009
Source DB: PubMed Journal: Comput Struct Biotechnol J ISSN: 2001-0370 Impact factor: 6.155
Fig. 1The architecture of BioVisReport. The Website Generator can recognize the syntax of the Markdown file and divide the commands into two categories: (1) for the Markdown general syntax, it will be converted into elements of the website, i.e., html, js and css; (2) for the commands invocating plugins, a special parser is designed for generating js and css elements, which will be passed to the Markdown converter to participate in generating the final website. In addition, the Plugin System provides plugins capable of making interactive plots.
Summary of interactive plot plugins currently available within BioVisReport.
| No. | Interactive Plugin | Usage |
|---|---|---|
| 1 | Data table based on DataTables | @datatable-js (dataUrl) |
| 2 | Pivot table based on WebDataRocks and Highcharts | @pivot-table-js (dataUrl, enableLocal) |
| 3 | Pie chart based on Echarts | @pie-chart-js (dataUrl, group, subgroup, value, title, radius, chartName, legendOrient, legendPosition, selectedMode) |
| 4 | Table based on Tabulator | @tabulator-js (dataUrl) |
| 5 | Bar plot from a Shiny app | @barplot-r (dataFile, dataType, title, xAxis, xTitle, yAxis, yTitle, colorAttr, shapeAttr, xLog10, enableSE, showpanel, subtitle, text, queryURL) |
| 6 | Box plot from a Shiny app | @boxplot-r (dataFile, dataType, title, xAxis, xTitle, xAngle, yAxis, yTitle, colorAttr) |
| 7 | Correlation plot from a Shiny app | @corrplot-r (dataFile, dataType, corrVars, title, xTitle, xAngle, yTitle, corrMethod, corrType, hcOrder, hcMethod, showLab, showPanel) |
| 8 | Density plot from a Shiny app | @density-plot-r (dataFile, dataType, title, xAxis, xTitle, colorAttr, subtitle, text, fillEnable) |
| 9 | Group-box plot from a Shiny app | @grouped-boxplot-r (dataFile, dataType, title, xAxis, xTitle, yAxis, yTitle, colorAttr, labelAttr, legendTitle, subtitle, text) |
| 10 | Heatmap from a Shiny app | @heatmap-d3-r (dataFile, dataType, rowv, colv, distfun, hclustfun, showpanel, scale, labRow, labCol, colNameLst) |
| 11 | Line plot from a Shiny app | @lineplot-r (dataFile, dataType, title, xAxis, xTitle, yAxis, yTitle, colorAttr, shapeAttr, xLog10, enableSE, showpanel, subtitle, text, queryURL) |
| 12 | Rocket plot from a Shiny app | @rocket-plot-r (dataFile, dataType, title, subtitle, xAxis, xTitle, yAxis, yTitle, xAngle, labelAttr, method, pointAlpha, pointSize, text) |
| 13 | Scatter plot from a Shiny app | @scatter-plot-r (dataFile, dataType, xAxis, yAxis, sizeAttr, nameAttr, colorAttr, labelAttr, showpanel) |
| 14 | Stack bar plot from a Shiny app | @stack-barplot-r (dataFile, dataType, title, xAxis, xTitle, yAxis, yTitle, xAngle, labelAttr, subtitle, text, barPos, smartColor) |
| 15 | Upset plot from a Shiny app | @upset-r (dataFile, dataType, title, showEmptyInterSec, showBarNumbers, setSort, nIntersects, assignmentType, subtitle, text, showpanel) |
| 16 | Violin plot from a Shiny app | @violin-plot-r (dataFile, dataType, title, xAxis, xTitle, yAxis, yTitle, xAngle, colorAttr, subtitle, text) |
| 17 | MultiQC | @multiqc-py (analysisDir) |
Fig. 2Development and production modes of BioVisReport. (A) In development mode, users prepare the data and Markdown files, and then develop the report in a live-reload state of biovis-report. (B) In production mode, the interactive reports can be published and deployed to the server, or can be reproduced with the original data using biovis-report-viewer.
Fig. 3The “Genomic Alternations” interface shows the variants through data table and bar chart by mRNA subtype, variant classification and gene symbol. The commands to invoke plugins in the Markdown file and the final outcome are shown by the arrows.
Fig. 4The “Gene Expression” interface displays data in the form of heatmap and box plot. The commands to invoke plugins in the Markdown file and the final outcome are shown by the arrows.
Fig. 5The “Meta Data and Clinical Information” interface integrates data table, pivot table and scatter plot which allows users to view relationships across clinical variables. The commands to invoke plugins in the Markdown file and the final outcome are shown by the arrows.