shiny在生物信息中广泛被使用做建立一些交互式数据处理、可视化的生信软件,你几乎不需要了解复杂的HTML、CSS、JS等语言,也无需了解复杂的建站环境,只有一点了解R shiny即可。

从网上汇总了常用的shiny资源,让你创建的Web server更加美观和方便。

1)主题类

themes
dashboard
  • shinydashboard – Shiny dashboarding framework based on AdminLTE 2.
  • shinydashboardPlus – Additional AdminLTE 2 components for shinydashboard.
  • gentelellaShiny – Bootstrap 3 Gentelella theme for Shiny dashboards.
  • semantic.dashboard – Semantic UI for Shiny dashboards.
  • bs4Dash – Bootstrap 4 Shiny dashboards using AdminLTE 3.
  • argonDash – Bootstrap 4 Argon template for Shiny dashboards.
  • tablerDash – Tabler dashboard template for Shiny with Bootstrap 4.

2)UI的一些组件

Bootstrap
  • ShinyWidgets – Bootstrap 3 custom widgets for Shiny (switches, checkboxes, sweet alerts, slider text, knob inputs, select pickers, search bar, dropdown buttons).
  • bsplus – Bootstrap 3 addons for Shiny and R Markdown (collapsible elements, accordion panels, accordion-sidebar sets, tooltips, popovers, modals, carousels).
  • shinyBS – Bootstrap 3 components for Shiny (alerts, tooltips, popovers, modals, collapsible panels, button upgrades).
  • slickR – Carousels for Shiny apps using slick.js.
  • shinyLP – Bootstrap 3 landing pages for Shiny apps.
File Input
  • shinyFiles – A server-side file system viewer for Shiny.
  • directoryInput – Shiny input widget for selecting directories.
Special Input
  • shinyTime – A timeInput widget for Shiny.
  • shinyDatetimePickers – Datetime pickers for Shiny
  • shinyCleave – Customized text inputs (phone number, ZIP code, currency, credit card) based on Cleave.js.
  • regexSelect – Enable regular expression searches within a Shiny selectize object.
  • ShinyRatingInput – Star rating inputs for Shiny based on bootstrap-rating.
  • algo – Implements the Algolia Places address search auto completion menu on shiny text inputs.
  • shinyChakraSlider – Combined slider and number input for Shiny.
  • shinyMultiActionButton – A multi-action button for Shiny.
Loader
  • shinycssloaders – CSS loader animations for Shiny outputs.
  • shinycustomloader – Custom css/html or gif/image loaders for Shiny outputs.
  • shinybusy – Minimal busy indicator for Shiny apps.
  • waiter – Splash loading screens for Shiny.
  • sever – Customize Shiny’s disconnected screen.
Feedback / Alert / Notification
  • shinyFeedback – Display user feedback next to Shiny inputs.
  • shinyalert – Create pretty popup messages (modals) in Shiny apps.
  • shinytoastr – Notifications for Shiny apps, via toastr.
  • shinypop – Collection of notifications, confirm dialogs, and alerts for Shiny apps based on noty, notie, push.js, and notiflix.
Walkthrough / Tooltip / Help
  • rintrojs – Wrapper for Intro.js to create step-by-step introductions and clickable hints.
  • tippy – Wrapper for Tippy.js to add tooltips to R Markdown documents or Shiny apps.
  • cicerone – Create guided tours for Shiny apps using driver.js.
  • shinyhelper – Add Markdown help files to Shiny app elements.
  • scrollrevealR – Animate shiny elements when they scroll into view using the scrollrevealjs library.
  • faq – Accordion-based FAQ component with expand/collapse control.
  • flashCard – htmlwidget for creating flippable flash cards.
Clipboard
  • rclipboard – Wrapper for clipboard.js to create copy-to-clipboard buttons for Shiny apps.
Color Picker
  • colourpicker – A colour picker tool for Shiny.
  • gradientPickerD3 – Interactive color gradient picker based on jquery-gradient-picker.
  • gradientInput – Another approach at gradient colour picker, implemented using the colourpicker package.
Editor
  • shinyAce – Ace code editor bindings for Shiny.
  • shinyMonacoEditor – The Monaco Editor in Shiny.
  • shinyMCE – TinyMCE WYSIWYG editor bindings for Shiny.
  • sqlquery – htmlwidget for writing SQL queries with autocompletion for SQL keywords and table/field names.
Table
  • DT – R interface to the DataTables library.
  • reactable – Interactive data tables for R, based on the React Table library and made with reactR.
  • kableExtra – Construct complex table with knitr::kable() and pipes.
  • formattable – Table elements formatting and styling for R Markdown documents and Shiny apps.
  • flextable – Create tables for reporting with format and layout control.
  • gt – Generate information-rich, publication-quality tables.
  • rhandsontable – Create Excel-like editable tables in Shiny apps.
  • DTedit – Editable DataTables for Shiny apps.
  • texPreview – Preview and save images of rendered snippets of LaTeX in RStudio viewer, R Markdown and Shiny.
  • basictabler – Construct rich tables for output to HTML/Excel.
  • pivottabler – Create pivot tables in R.
  • pivta – R wrapper for WebDataRocks, an interactive pivot table component for data analysis.
  • excelR – R interface to the jExcel.js library.
  • RXSpreadsheet – R wrapper for the JavaScript canvas spreadsheet library x-spreadsheet.
Drawers
  • pushbar – pushbar.js for Shiny. Create off-canvas sliding drawers for inputs, outputs, or any other content.
Drag and Drop
  • shinyDND – Create drag and drop elements in Shiny.
  • sortable – htmlwidget for SortableJS that enables drag-and-drop behavior and reorderable elements.
  • dragulaR – R interface for the dragula JavaScript library for moving around elements in Shiny apps.
  • dndselectr – Drag-and-drop Shiny select input.
  • esquisse – Drag and drop inputs and visual builder for ggplot2.
Image / Audio / Video
  • shinysense – A series of shiny modules to help Shiny sense the world around it (draw, swipe cards, record images from a webcam, record audio, capture accelerometer data).
  • pixels – htmlwidget and Shiny Gadget to render and draw pixels.
  • fabricerin – Create HTML5 canvas in Shiny and R Markdown documents based on Fabric.js.
  • heyshiny – Speech to text input.
  • vembedr – Embed videos in R Markdown documents and Shiny apps.
  • webcamR – htmlwidget wrapper around the react-webcam library.
  • pianobar – Create histograms with audible features.
PDF
  • rpdf – Mozilla pdf.js htmlwidget for R.
Icon Font
  • fontawesome – Insert FontAwesome icons into R Markdown documents and Shiny apps.
Image Comparison
  • vdiffr – Visual regression testing and graphical diffing, with toggle, slide, and diff widgets for comparing two images.
Code Diff
  • diffr – Create code diff widgets based on codediff.js.
  • diffRgit – Create an HTML git diff widget using the diff2html library.
  • jsondiff – R interface to jsondiffpatch for comparing R objects as JSONs.
Calendar
  • tuicalendr – htmlwidget to create interactive calendars with JavaScript library tui-calendar.
Notebooks
Animation Effects
  • typed – R htmlwidget for animated typing effect with typed.js.
  • countup – R htmlwidget that animates a numerical value by counting to it with CountUp.js.
  • textillate – CSS3 text animations with textillate.js.
  • shinyglide – Create carousel-like or assistant-like (wizard) UI components with Glide.js.
  • d3rain – htmlwidget bringing D3 drip to R.
i18n
  • shiny.i18n – Easy internationalization of Shiny apps.
  • shi18ny – Tools for shiny apps internationalization.
React
  • reactR – Use React in R with htmlwidget constructor templates and local JavaScript dependencies.
  • shinyReactWidgets – React widgets for Shiny apps.
Vue.js
  • vuer – Use Vue components and build Vue apps in R.
  • vueR – Use Vue.js in R with htmlwidget constructor templates and local JavaScript dependencies.
Advanced Interactivity
  • htmlwidgets – A framework for creating R bindings to JavaScript libraries.
  • crosstalk – Inter-widget interactivity (for example, linked brushing and filtering) for htmlwidgets.
  • shinyjs – Perform common JavaScript operations in Shiny apps.
  • shinyjqui – Add jQuery UI interactions and effects (e.g. draggable, resizable, sortable elements) to Shiny apps.
  • shiny.collections – Google Docs-like live collaboration in Shiny with RethinkDB.
  • shinyCanvas – Create and customize an interactive canvas using the D3 JavaScript library and the htmlwidgets package.
  • shinyscroll – Scroll to an element in Shiny.
  • shinymeta – Record and expose Shiny app logic using metaprogramming.

3)可视化组件

General-Purpose
  • plotly – Interactive web graphics via plotly.js. Has special support for linking/highlighting/filtering views.
  • highcharter – R wrapper for the highcharts JavaScript charting library.
  • rbokeh – R interface for Bokeh.
  • echarts4r – Interactive graphs with Echarts v4.
  • r2d3 – R interface to D3 visualizations.
  • vegalite – R ggplot2 bindings for Vega-Lite.
  • vegawidget – htmlwidget renderer for Vega and Vega-Lite.
  • ggiraph – htmlwidget that makes ggplot2 graphics interactive. Select graphical elements, add tooltips, animations, and JavaScript actions to the graphics.
  • rfrappe – htmlwidget for the Frappe Charts JavaScript library.
  • tuichartr – htmlwidget for tui-chart.
  • billboarder – htmlwidget for billboard.js.
  • apexcharter – htmlwidget for ApexCharts.js.
  • taucharts – htmlwidget for Taucharts.
  • googleVis – R interface to Google Charts.
  • rroughviz – R warpper for roughViz.js, a JavaScript library for creating sketchy/hand-drawn styled charts.
  • rAmCharts4 – R interface to amCharts 4.
Scatterplot
  • scatterD3 – R scatterplot htmlwidget based on D3.js.
  • pairsD3 – D3 scatterplot matrices.
  • rthreejs – Interactive 3D scatterplots, networks, and globes based on three.js.
  • graph3d – R wrapper of the JavaScript library vis-graph3d.
  • hpackedbubble – Split packed bubble charts with highcharts.
Parallel Coordinates
  • parcoords – htmlwidget for D3 parallel coordinates chart.
Time Series
  • dygraphs – R interface to the dygraphs JavaScript charting library.
  • metricsgraphics – An htmlwidget interface to the MetricsGraphics.js D3-based charting library.
  • timevis – Interactive timeline visualizations based on vis.js.
  • timelineschart – R interface to timelines-chart.
  • streamgraph – htmlwidget for creating streamgraph visualizations in R.
  • eventdropR – htmlwidget for EventDrops, time based and event series interactive visualization using D3.
Tree and Hierarchical Data
  • D3partitionR – D3-based interactive visualization of nested and hierarchical data (sunburst, treemap, circle treemap, icicle, and partition chart) for Shiny.
  • d3Tree – D3-based collapsible trees for Shiny.
  • collapsibleTree – D3-based interactive collapsible tree diagrams.
  • jsTree – R htmlwidget for inspecting heirachal structures with the jQuery jsTree plugin.
  • shinyTree – jsTree bindings for creating interactive trees in Shiny.
  • jsTreeR – A wrapper of the JavaScript library jsTree.
  • shinyCheckboxTree – Checkbox tree widget for Shiny. Wrapper of the JavaScript library react-checkbox-tree.
  • listviewer – View and modify lists interactively, based on jsoneditor and react-json-view.
  • trelliscopejs – Create interactive Trelliscope displays based on trelliscopejs-lib.
  • gwordtree – Render a word tree with Google Charts.
  • Rmarkmap – Create interactive mind maps with the markmap JavaScript library.
Network and Graph Data
  • networkD3 – Create D3 network, tree, dendrogram, and Sankey diagram from R.
  • visNetwork – Network visualization using vis.js.
  • sigmajs – Interface to the sigma.js graph visualization library, including animations, plugins, and Shiny widgets.
  • sigmaNet – Render igraph networks using sigma.js.
  • chorddiag – R interface to D3 interactive chord diagrams.
  • chordViz – Create interactive chord diagrams in R.
  • edgebundleR – Circular layout plots with bundled edges based on D3.
  • hiveD3 – D3-based hive plots. Tutorial for recreating the package.
  • arcDiagramR – Create arc diagrams with htmlwidgets.
  • grapher – An R integration of ngraph to create 3D and 2D interactive graphs.
Diagrams
  • DiagrammeR – Diagram, graph, and network visualization based on D3.js, viz.js, and mermaid.js.
  • nomnoml – R interface to nomnoml, a tool for drawing sassy UML diagrams based on syntax with customizable styling.
  • bpmn – R interface to the bpmn-js library.
Heatmap
  • d3heatmap – D3-based interactive heatmaps (highlight rows/columns, zoom in/out, clustering, dendrograms).
  • heatmaply – Interactive heatmaps using plotly.
  • rChartsCalmap – An htmlwidgets binding for calendar heatmaps using D3.
  • calheatmapR – R interface for the cal-heatmap JavaScript charting library to create calendar heatmaps.
  • nivocal – htmlwidget for drawing calendar heatmaps based on nivo.
  • nivowaffle – htmlwidget for drawing waffle diagrams based on nivo.
  • supercaliheatmapwidget – Supercalifragilistic HTML calendar heatmaps.
Maps and Spatial Data
  • leaflet – R interface to the Leaflet JavaScript library to create interactive maps.
  • leaflet.extras – Extra functionality for the leaflet package.
  • leaflet.minicharts – Add and modify small charts on the interactive map created with the leaflet package.
  • leaflet.esri – ESRI bindings for the leaflet package.
  • leaflet.opacity – Opacity controls for Leaflet maps.
  • leaftime – Leaflet-timeline plugin for Leaflet to show changing geospatial data over time.
  • leafletCN – China and geojson choropleth maps for Leaflet.
  • leafletGeocoderRshiny – Leaflet + Pelias geocoding for Shiny.
  • mapdeck – Interactive maps using Mapbox GL and Deck.gl.
  • deckgl – R Interface to Deck.gl.
  • r2deck – R interface to Deck.gl and Mapbox GL visualizations.
  • h3r – Uber’s H3 geographical indexing library bindings for R.
  • googleway – Access Google Maps API to retrieve data and draw maps.
  • mapview – Interactive viewing of spatial data.
  • mapedit – Interactive editing of spatial data.
  • tmap – Create thematic maps, such as choropleths and bubble maps.
  • datamaps – Create interactive choropleth maps with the JavaScript library Datamaps, add arcs and bubbles, change choropleth values, and change labels.
  • topogram – Cartogram htmlwidget for visualizing geographical data by distorting a TopoJSON topology using cartogram-chart.
  • rsquaire – R interface for squaire.js, a JavaScript library for making responsive equal-area square maps using D3.
  • hchinamap – Mapping China and its provinces with highcharts.
  • mapbrew – Mapping China with amCharts.
  • planetary – htmlwidget for the planetary.js library for creating interactive globes.
  • gior – htmlwidget for gio.js for declarative 3D globe data visualization.
  • quickglobe – View country data via a 3D D3 globe.
Sparkline
Word Cloud
  • wordcloud2 – Word cloud visualization based on wordcloud2.js.
  • hwordcloud – Render word clouds with highcharts.
  • d3wordcloud – htmlwidget for D3.js word cloud layout.
Biological Data
  • igvR – R package providing interactive connections to igv.js running in a web browser.
  • igvShiny – htmlwidget for igv.js, a JavaScript library for embeddable genomic visualization.
  • cyjShiny – htmlwidget for Cytoscape.js, a JavaScript library for graph/network visualization. The API is based on RCyjs (and thus RCy3).
  • nglShiny – NGL Viewer as an htmlwidget for molecular visualization.
  • msaR – BioJS-based MSA (multiple sequence alignment) viewer.
  • TnT – Track-based visulizations based on the TnT JavaScript libraries. Useful for displaying genomic features as a simple genome browser.
  • mutsneedle – Interactive mutation lollipop diagrams.
  • g3viz – D3-based interactive lollipop plots.
  • BioCircos.R – Interactive circular visualization of genomic data using htmlwidgets and BioCircos.js.
  • chromoMap – Interactive visualization and mapping of human chromosomes.
  • ideogRam – htmlwidget for chromosome visualization with ideogram.js.
  • flowDashboard – Shiny Modules for visualizing flow cytometry data.
  • qtlcharts – Interactive graphics for QTL experiments.
  • phylocanvas – Interactive phylogenetic trees using the Phylocanvas JavaScript library.
  • phylowidget – Interactive phylogenetic trees based on phylotree.js.
Chemical Data
  • chemdoodle – htmlwidget for visualizing and drawing molecules.
WebGL
  • rgl – Render WebGL scenes created with the rgl package (vignette).
  • rayshader – Create and visualize hillshaded maps from elevation matrices.
  • rayrender – Build and raytrace 3D scenes.
  • rayfocus – Render depth of field for images.
Augmented and Virtual Reality
  • shinyaframe – WebVR data visualizations with Shiny and Mozilla A-Frame.
  • arframer – Augmented Reality in R based on AR.js.

4)后端组件

Database
  • db.rstudio.com – Packages and tutorials for connecting R and Shiny apps to databases.
  • pool – Database connection pooling in R.
  • elastic – R client for the Elasticsearch HTTP API.
  • sergeant – Transform and query data with Apache Drill.
URL Routing
  • shiny.router – Minimalistic URL router for Shiny apps.
  • shinyURL – Save and restore the state of a Shiny app by encoding the values of user inputs and active tab panels in the app’s URL query string.
Authentication
  • shinymanager – Simple and secure authentification mechanism for single Shiny apps.
  • googleAuthR – Shiny compatible Google API client for authentication with OAuth2.
  • auth0 – Authentication in Shiny apps using Auth0.
  • shinyauthr – Server-side authentication using shiny modules.
  • firebase – Authenticate Shiny users with Google Firebase.
  • otp – One-Time Password generation and verification.
  • backendlessr – R wrapper for Backendless API to manage users.
Job Scheduling
  • cronR – R package for managing cron jobs.
Web APIs Integration
  • glouton – Handle browser cookies in shiny, built on top of js-cookie.
  • geoloc – Use the Geolocation API to get the location of the user (with user’s permission).
  • shinyStore – Use the Web Storage API to store persistent, synchronized data in the user’s browser.
Notification Integration
  • slackr – Send messages, images, R objects, and files to Slack channels/users.
  • sendgridr – Send emails with SendGrid mail API (v3).
  • twilio – R interface to the Twilio API.
  • blastula – Easily send HTML email messages from R.
  • mjml – Create responsive emails with R and MJML.
  • mailtoR – Creates a friendly user interface for emails sending in Shiny.
Cloud Integration
  • cloudyr – R packages for integrating with AWS, Azure, and Google Cloud.
G Suite Integration
  • googlesheets4 – R interface to Google Sheets via the Sheets API v4.
  • googlesheets – R interface to Google Spreadsheets API (no longer under active development).
  • googledrive – R API client for Google Drive.
  • gmailr – Access the Gmail RESTful API from R.

参考资料:

1.https://awesomeopensource.com/project/nanxstats/awesome-shiny-extensions#generic-theming