GithubHelp home page GithubHelp logo

jd2112 / methylr Goto Github PK

View Code? Open in Web Editor NEW
9.0 1.0 1.0 127.24 MB

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

Home Page: https://methylr.serve.scilifelab.se

License: GNU General Public License v3.0

R 0.14% Shell 0.37% Python 0.04% TeX 18.05% HTML 71.78% JavaScript 9.62%
r shiny-apps dna-methylation docker-container documentation illumina testdata web-server

methylr's Introduction

image Docker Image CI Binder methylr manual Download methylr Download methylr

IMPORTANT: MethylR web-server moved from methylr.research.liu.se to https://methylr.serve.scilifelab.se/

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:[email protected]).

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

methylr's People

Contributors

jd2112 avatar pyrevo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

asigdel

methylr's Issues

ChAMP analysis results in server disconnect for apptainer/singularity

Describe the bug
I used apptainer to start the container started up. I used ChAMP pipeline on default parameters to analyze the recommended test data set. The pipeline successfully decompressed the zip file. About 40sec into running the ChAMP pipeline, the webpage greys out and I get the "Disconnected from the server." message and asking me to reload.
Reloading will wipe everything and bring me back to the front page. Re-running the ChAMP pipelin will result in the same server disconnect.
Nothing in the /tmp/shiny-server.xxxx/logs folder so no more information I can provide on exactly where the error is occurring.

I used docker to boot the container on my remote server and I have no issues with running the ChAMP analysis pipeline.

To Reproduce
This is tested to reproduce on fedora37 running apptainer 1.1.7 and CentOS8 stream running apptainer 1.1.9.
Assuming you have the testData.zip file

  1. Boot up the container as per instructions for apptainer/singularity and load up methylR webpage
  2. click on ChAMP analysis tab
  3. click "Browse" button and upload the "testData.zip" file
  4. Unzipping the file will be successful
  5. At ~40 sec into the ChAMP analysis, the webpage will grey out and the "Disconnected from the server" message will show. The time to fail is very consistent across two different OS with very different hardware.

Expected behavior
The analysis should complete and The "Methylation Analysis Result - ChAMP pipeline" section should be populated with graphs and tables for "QC result", "Normalized data table" and "DMC table" sub-tabs.

Desktop (please complete the following information):

  • OS: fedora37 6.4.6-100, CentOS8 stream 4.18.0-500
  • Container app: apptainer 1.1.7-1 .fc37, apptainer 1.1.9-1.el8, Docker 24.0.5 build ced0996
  • Browser Firefox
  • Version 115.0.2

Fix app issue with zip file

WHAT TO DO

Change directory to zip file format. User needs to upload from their computers.

HOW TO DO

Change app code for zip files.

CLOSE WHEN

Run successfully.

run it without docker

Hi!

I work on a remote server where neither Docker nor an internet connection is available. I want to use methylr with singularity.

I created a singularity image on my local linux machine running:

singularity build --bind /tmp/shiny-server.dvmaGo/logs:/var/log/shiny --bind /tmp/shiny-server.dvmaGo/lib:/var/lib/shiny-server --bind shiny-server.conf:/etc/shiny-server/shiny-server.con methylr.simg docker://jd21/methylr:latest

And then I imported the image methylr.simg to the remote server.

I executed the image running:

singularity run --bind /tmp/shiny-server.dvmaGo/logs:/var/log/shiny --bind /tmp/shiny-server.dvmaGo/lib:/var/lib/shiny-server --bind shiny-server.conf:/etc/shiny-server/shiny-server.con methylr.simg

When I open localhost:IP I read:

An error has occurred
The application failed to start.
The application exited during initialization.

In the terminal I can read the following:

[INFO] shiny-server - Error getting worker: Error: The application exited during initialization.

Is there any workaround?

Irantzu

DNA methylation analysis - ChAMP pipeline

Describe the bug
"I am encountering an error in the DNA methylation analysis - ChAMP pipeline. I have attached the folder entered in Browse and the error code below."

Screenshots
[Overall Image]
スクリーンショット 2024-04-09 163958

[folder]
スクリーンショット 2024-04-09 162603
スクリーンショット 2024-04-09 162628
スクリーンショット 2024-04-09 162649
スクリーンショット 2024-04-09 162709
スクリーンショット 2024-04-09 163031

[error code]
スクリーンショット 2024-04-09 160945

Desktop (please complete the following information):

  • windows
  • chrome
  • Version 107

Infinium Mouse Methylation BeadChip

Hello,

Thanks a lot for this super nice tool, it's amazing.
I'm currently working with DNA methylation samples from mice (from Infinium Mouse Methylation BeadChip). Could you set up the possibility of analyzing these data?

Thanks a lot
Lucie

Unable to start methylr using apptainer

Describe the bug
Unable to start container using apptainer.
Starting container using Docker working as expected and can access via Firefox

To Reproduce
#my username on my server is gmsywss
#I ran the following command as instructed
apptainer run docker://jd21/methylr:latest
#Below is the output
Getting image source signatures
Copying blob 675920708c8b done
Copying blob 4a0b0c48a245 done
Copying blob 4d225a645112 done
Copying blob edb25e8773a2 done
Copying blob 0859082e6bfe done
Copying blob 2c7717ed42b5 done
Copying blob f98488f0b7eb done
Copying blob 68d9ec9958f4 done
Copying blob 0907d76d45d7 done
Copying blob 91c20754dfa7 done
Copying blob 1cb6359be342 done
Copying blob 039933c89bc6 done
Copying blob a998a725ad2a done
Copying blob eec5691985f6 done
Copying blob c185ae260562 done
Copying blob fb811cb38974 done
Copying blob f7fbaa592b80 done
Copying blob 1956e0ee4e98 done
Copying blob 735bdb524661 done
Copying blob 3773fe0dc9e0 done
Copying config 530d3cb5ff done
Writing manifest to image destination
Storing signatures
2023/07/27 12:59:18 info unpack layer: sha256:675920708c8bf10fbd02693dc8f43ee7dbe0a99cdfd55e06e6f1a8b43fd08e3f
2023/07/27 12:59:19 info unpack layer: sha256:edb25e8773a2cab31c156c1016c187b890fd7de13bb2459f52cbf0c0c4f5de79
2023/07/27 12:59:19 info unpack layer: sha256:4d225a645112c4132d5d731c26c93bc9ae072fb3021f87ae49d442af848a5c98
2023/07/27 12:59:25 info unpack layer: sha256:0859082e6bfee5b698c51c11833d63d99dee124a44288a0725fccb44f2c1487d
2023/07/27 12:59:25 info unpack layer: sha256:2c7717ed42b5b33850dc0257c03c6f35377571da4466743aa7187c8a939dfd8b
2023/07/27 12:59:26 info unpack layer: sha256:4a0b0c48a24567f3905d1c17f94e066a9437af2de554fcf2da1a43cf1200c39b
2023/07/27 12:59:30 info unpack layer: sha256:f98488f0b7ebc01b6f977a3520e6374645efd3dcb1572b6e64b51ed0c72b0a96
2023/07/27 12:59:37 info unpack layer: sha256:68d9ec9958f429496854b79a7423010ea58c683e56301db37cce4e928ba7d9b9
2023/07/27 12:59:38 info unpack layer: sha256:0907d76d45d75146c54e19628ae98241edebc344bc3ded4d18d005e0308ea28b
2023/07/27 12:59:38 info unpack layer: sha256:91c20754dfa7044fbd71855b31d811c4c8eac28943e1fb8c7b748cf90e49df97
2023/07/27 12:59:38 info unpack layer: sha256:1cb6359be342a58ff0cd8bfc996360ba99cf327e92da8b20ac1d7ea07e6201fd
2023/07/27 12:59:38 info unpack layer: sha256:039933c89bc61afe0dbf548830cffc8ec977c5575a844224c5eb65cd9d028a54
2023/07/27 12:59:55 warn rootless{usr/local/lib/R/site-library/Rhtslib/usrlib/libhts.so.2} ignoring (usually) harmless EPERM on setxattr "user.rootlesscontainers"
2023/07/27 13:00:16 info unpack layer: sha256:a998a725ad2ad2f049dd90ba75e4f0946565c315bfa58cab599ca609c84aeba1
2023/07/27 13:00:17 info unpack layer: sha256:eec5691985f610ea0f3784244e6e1348824bc84b2b77faa28770bdc6beab241c
2023/07/27 13:00:17 info unpack layer: sha256:c185ae260562a69c06c7975879b2cbc473c9d16a71ae95abd50ddbb245da6a3e
2023/07/27 13:00:18 info unpack layer: sha256:fb811cb389747dcb003f0eaadbacfab24befd161547b6be418bdf6fbf189f94c
2023/07/27 13:00:18 info unpack layer: sha256:f7fbaa592b80566757b72038746cd6dc901724af0246452d5356784a741d3feb
2023/07/27 13:00:20 info unpack layer: sha256:1956e0ee4e98aa08e0540cbabb02dd380bcc48a080bef1e1c801aabf3355b1f1
2023/07/27 13:00:20 info unpack layer: sha256:735bdb52466195ebf4ed80fb8f307649bc06a82512e1409b5bd66e799097d2c0
2023/07/27 13:00:23 info unpack layer: sha256:3773fe0dc9e08face6fcaddf24f871b39fac681ba30024f1fc85b74829e7d58d
INFO: Creating SIF file...
[2023-07-27T05:00:38.312] [INFO] shiny-server - Shiny Server v1.5.18.979 (Node.js v12.22.6)
[2023-07-27T05:00:38.317] [INFO] shiny-server - Using config file "/etc/shiny-server/shiny-server.conf"
[2023-07-27T05:00:38.350] [ERROR] shiny-server - Error loading config: The user 'gmsywss' does not have permissions to run applications as one of the users in 'shiny'. Please restart shiny-server as one of the users in 'shiny'. (/etc/shiny-server/shiny-server.conf:5:1)
[2023-07-27T05:00:38.351] [INFO] shiny-server - Shutting down worker processes

Expected behavior
Container should be downloaded, converted to sif format then start shiny server

Desktop (please complete the following information):

  • OS: CentOS8 Stream 4.18.0-500, CentOS7 (Core) 3.10.0-1160.92.1, debian11 (bullseye) 5.10.0-23
  • Browser Firefox
  • Version 115.0.2

Docker container - multi OS arch

WHAT TO DO

Build multiOS arch for docker container

HOW TO DO

use docker buildx

CLOSE WHEN

successfully tested on different OS.

EPICv2

Hi,
Will it ever be adapted to the new EPICV2 ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.