Skip to content

JD2112/methylr

Repository files navigation

image Docker Image CI Binder methylr manual Download methylr Download methylr

methylr: a single shiny solution from sequencer data to pathway analysis

Description

For non-commercial Academic and Research purpose only!
Here we introduce methylR, a complete pipeline for the analysis of both 450K and EPIC Illumina arrays which not only offers data visualization and normalization but also provide additional features such as the annotation of the genomic features resulting from the analysis, pairwise comparisons of DMCs with different graphical representation plus functional and pathway enrichment as downstream analysis, all packed in a minimal, elegant and intuitive graphical user interface which brings the analysis of array DNA methylation data.

Diagram

Quick start

Test data

  1. All required test data except DNA methylation raw files, can be found here
    i. testDataFile1 - differentially methylated data file, can be used for gene features, Volcano plot, chromosome map, gene ontology and pathway enrichment analysis modules.
    ii. testDataFile2 - normalized beta value data table, can be used for MDS, PCA plots. PCA plot requires additional group data information, 'groupData'.
    iii. heatmapMatrix - heatmap matrix test data file added in the testdata directory.

  2. DNA methylation test data can be found here

Local use:

We provide Docker container for local use. Please note, the docker container was built on AMD64 OS architecture to get the full functional capabilities of Shiny/R.

Computational requirements/compatibility (AMD64 only)

  • LinuxOS - (AMD64)
    • Ubuntu 20.04LTS
    • Docker (version 20.10.18)
    • web-browser: Firefox (version 105)
  • MacOS - (Intel, AMD64 only)
    • Monterey (version 12.5.1)
    • Docker (version 20.10.17)
    • Docker Desktop (version 4.12.0)
    • web-browsers:
      • Google Chrome (version 106),
      • Firefox (version 106),
      • Apple Safari (version 15.6.1)
  • WindowsOS - (AMD64)
    • Windows 10 (version 21H2)
    • Docker (version 20.10.20)
    • Docker Desktop (version 4.13.0)
    • WSL2 - (Ubuntu 20.04LTS)
    • web-browsers:
      • Firefox (version 106),
      • Google Chrome (version 107),
      • Microsoft Edge (version 106).

PLEASE NOTE: the ARM64 chipset architecture is actually not supported by methylR.

Run the app

Linux AMD64 OS architecture

Step:1 - from terminal
# with docker container
docker run --rm -p 3838:3838 jd21/methylr:latest
Step:2 - web-browser

Open the web-browser (check above for your OS), and type:

http://localhost:3838

For Singularity container Thanks to WiilieYu (#3), we found a problem on running Singularity/Apptainer container on methylR and using a script from sigularity-shiny, we solved the issue. Please run the commands below for Singularity container (tested with Singularity v3.8.6) -

  1. To run the Singularity or Apptainer, please use the following commandlines -
# Copy prepare_template.sh to <YOUR_LOCAL_PATH> and run
/bin/bash prepare_template.sh start

The above command run will generate an script on the terminal and command to run on the server,

$ /bin/bash prepare_template.sh start
Generating shiny configuration...
port: 15910 # PLEASE NOTE THIS WILL BE CHANGED IN YOUR COMPUTER
logs: /tmp/shiny-server.ie3djR
base: /srv/shiny-server
run_as: jyotirmoy #<YOUR_USER_NAME>
Server logging will be in /tmp/shiny-server.ie3djR

To run your server:
    
    singularity run --bind /tmp/shiny-server.ie3djR/logs:/var/log/shiny \
    --bind /tmp/shiny-server.ie3djR/lib:/var/lib/shiny-server \
    --bind shiny-server.conf:/etc/shiny-server/shiny-server.conf <CONTAINER>

    ---------------------------------------------------------------------------
    For custom applications, also add --bind /srv/shiny-server:/srv/shiny-server
    To see your applications, open your browser to http://127.0.0.1:15910 or
    open a ssh connection from your computer to your cluster.
  1. Run the following command on your server
singularity run --bind /tmp/shiny-server.ie3djR/logs:/var/log/shiny \
    --bind /tmp/shiny-server.ie3djR/lib:/var/lib/shiny-server \
    --bind shiny-server.conf:/etc/shiny-server/shiny-server.conf docker://jd21/methylr:latest
  1. The terminal will prompt likes
INFO:    Using cached SIF image
INFO:    Converting SIF file to temporary sandbox...
[2023-07-31T06:44:52.258] [INFO] shiny-server - Shiny Server v1.5.18.979 (Node.js v12.22.6)
[2023-07-31T06:44:52.259] [INFO] shiny-server - Using config file "/etc/shiny-server/shiny-server.conf"
[2023-07-31T06:44:52.285] [INFO] shiny-server - Starting listener on http://[::]:15910

+click or run localhost:15910 on the browser.

MacOS (Intel) and Windows AMD64 OS architecture

Please follow the manual.

Step-by-step guide

Check the manual for more details. You can also find a complete PDF manual here.

Workflow summaries

Prepare your input data for methylation analysis

MethylR module mythylysis requires a zipped file as the input dataset that contains Illumina IDAT files and a Sample_sheet as CSV format (See details in the manual). To ease the task for the user, we provided a bash script ('createInputZip.sh') to make the input zip file with IDAT and sample_sheet files (See details in the manual).

Input test dataset

A test dataset from a previously published result (GSE207426) with RAW IDAT files for Illumina EPIC array can be found at https://sourceforge.net/projects/methylr/. The test dataset contains three samples in each group and the samples collected from solid tissue (will not work for 'Cell type heterogeneity'). More about the dataset can be found on the Methylome analysis for prediction of long and short-term survival in glioblastoma patients from the Nordic trial (Lysiak, M et al; 2022).

Component tools

  1. methylysis: ChAMP; minfi
  2. multi-D analysis: MDS; PCA
  3. gene feature analysis: plotly; piechart
  4. heatmap analysis: heatmap.2; d3heatmap
  5. volcano plot: plotly
  6. chromosome map: chromPlot
  7. gene ontology: clusterProfiler
  8. pathway analysis: clusterProfiler
  9. venn analysis: Vennerable; intervene
  10. upset analysis: UpSetR; intervene

Additional notes

We provided an additional python script, ChAMP2bed.py for advanced users who want to visualize their DNA methylation results (from ChAMP workflow result) with additional annotation in Integrative Genomics Viewer (IGV). Please check the manual for more details.

HELP/FAQ/Troubleshooting

Please check the manual for details.

For additional problems, check the google group or contact the developer(mailto:methylr@googlegroups.com).

Please create issues on github.

License(s)

GNU-3 public license - click to read details.

Acknowledgement

We would like to acknowledge the Core Facility, Faculty of Medicine and Health Sciences, Linköping University, Linköping, Sweden and Clinical Genomics Linköping, Science for Life Laboratory, Sweden for their support.

Citation

Massimiliano Volpe, Jyotirmoy Das, methylR: a graphical interface for comprehensive DNA methylation array data analysis, Bioinformatics, Volume 39, Issue 4, April 2023, btad184, https://doi.org/10.1093/bioinformatics/btad184

View the article

Credits

Massimiliano Volpe, Jyotirmoy Das