ShinyÉPICo is a web interface based on Shiny that makes it easy to do differentially methylated CpGs analysis from Illumina EPIC or 450k DNA methylation arrays. This program allows following a standard pipeline of normalization (with minfi package), model creation and statistical analysis (with limma package), with different options in each step and plots to be able to choose properly. Moreover, you can select different options in the final heatmap and download an RMarkdown report with all the steps chosen.
ShinyÉPICo can run in GNU/Linux, Windows or macOS. The package dependencies are automatically tried to install when you install the package.
R 4.3 or higher with updated packages is required.
Since the application allows to follow interactively all the analysis process, many objects have to be stored in RAM memory. Therefore, the application can be quite memory demanding, especially when trying to analyze a large number of samples. We recommend at least 12GB of RAM for a smooth use of the application, but depending on the number of samples analyzed and whether they are EPIC or 450k, the needs may be lower or higher.
Our package is now included in the latest Release of Bioconductor.
To install the package through Bioconductor you have to first install R 4.3 and enter:
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("shinyepico")
To run the package:
library("shinyepico")
run_shinyepico()
You can also install the development version of shinyepico through GitHub
library("remotes")
install_github("omorante/shinyepico")
The latest development version of shinyepico (still not uploaded to Bioconductor) includes the possibility of manually select the array annotation to use. This is useful when minfi is not able to autodetect the array (for array designs more recent than 450k and EPIC such as EPIC v2 and Mouse). You will need to manually install the manifest and annotation package and select it in the first shinyepico tab. Please, note that this feature is still in development and some features of shinyepico could not work with custom annotations.
Some useful custom annotations can be find below and installed following the instructions:
In addition to the shinyÉPICo package, now an official shinyÉPICo container is available in Docker. This is very useful to run shinyÉPICo in a webserver. Shinyproxy is an excellent option to provide ShinyApps to several users from a private or public server.
The recommended way to run shinyÉPIco locally is through Bioconductor, as previously explained. However, if you would like to configure a Shiny Server with shinyÉPICo and Docker/Shinyproxy is not an option, it is possible to use shinyÉPICo as a shinyApp. It can be downloaded from the shiny_app branch. However, the Shiny Server should be properly configured, including all the packages needed for shinyÉPIco. An easy way to do that is install the shinyepico package from Bioconductor.
The function run_shinyepico has 4 parameters that can be modified:
The first step in the shinyÉPICo workflow is prepare the data in the properly format. iDAT files should be compressed in a .zip file. The name of the files should follow the standard convention: XXXXXXXXXXXX_YYYYYY_ZZZ.idat being XXXXXXXXXXXX the Sentrix_ID, YYYYYY the Sentrix_Position and ZZZ Grn or Red (corresponding, respectively, to the Red and Green signal file).
Moreover, a CSV (comma-separated) file with the annotation of the experiment should be included. It is mandatory to include the Sentrix_ID and Sentrix_Position columns that allows the software to find their respective iDAT files. Moreover, other columns should be added to reflect the different variables (e.g. sample name, health/disease, treatment/control, age, sex, hybridization day, etc.). Usually, iDATs and sample sheet are obtained meeting these features by default, and no additional work is required.
You can find an example of the final .zip to upload to the application in the example_data folder of the doc branch.
The package includes a detailed vignette explaining the steps and options of the application. In addition, you can access the updated version of the vignette in pdf at this link