shinyBN is an R/Shiny application for interactive construction, inference and visualization of Bayesian Network, which provide friendly GUI for users lacking of programming skills. It's mainly based on five R packages: bnlearn for structure learning, parameter training, gRain for network inference, and visNetwork for network visualization, pROC and rmda for receiver operating characteristic (ROC) curve and decision curves analysis (DCA) , respectively, which was further wrapped by Shiny, a framework to build interactive web application straight by R.

Get Start

Run APP in R:

Install dependencies: ```{r,eval = FALSE} install.packages("devtools") library(devtools)

Packages on CRAN


Packages on Bioconductor

source("") biocLite(c("gRain","igraph","AnnotationDbi","EBImage"))

Packages on Github


Install *shinyBN* from Github:
```{r,eval = FALSE}

Launch the APP in R: {r,eval = FALSE} shinyBN::run_shinyBN()

Lauch the APP through browser:

Please visit:

Main Page

How to use

Step 1: Input your Network!

Here, we provide Four type of data input:

Step 2: Render your Network!

Once your BN is inputed, the plot would present automatically with default parameters. If you are not satisfied with your graphic appearance, you can render your plot with corresponding settings. Additionally, network layout and legend can be set flexibly. Finally, shinyBN provides high-quality images download in HTML output and Network information in Excel.Because the network plot is based on canvas, it's difficult to get SVG. You can get the high-resolution figure by the following step:


Step 3: Inference!

One of the major functions of Bayesian network is outcome prediction. You can query the probability of interested nodes given the values of a set of instantiated nodes. shinyBN allowed users to set multiple instantiated nodes and both marginal probability and joint probability are supported, the prediction results will be displayed in bar plot or probabilistic table. Users can set different color representing different threshold to distinguish different levels of outcome probability. In addition, you can download the result through a PDF output interface for High-quality images.


shinyBN also allowed user to upload a validation set for batch prediction. If your validation set contains outcome information, you can get the receiver operating characteristic (ROC) curve plot and decision curves analysis (DCA) plot. The same, both the plot in high-resolution images and batch prediction result in tables are supported.



shinyBN: An online application for interactive Bayesian network inference and visualization

Source code

shinyBN is an open source project, and the source code and its manual is freely available at

Contact us

If you have any problem or other inquiries you can also email us at [email protected] .

JiajinChen/shinyBN documentation built on May 13, 2019, 11:52 p.m.