Sign inSign up

loosolab/wilson

By loosolab

•Updated about 4 years ago

R Shiny Server including WIlsON application for interactive visualization of High-Throughput data

Image
0

10K+

loosolab/wilson repository overview

⁠Quick reference

⁠What is WIlsON?

High-Throughput (HT) studies of complex biological systems generate a massive amount of so called 'omics' data which are typically summarized using spreadsheet-like data formats. Visualization of this data is a key aspect for the analysis and understanding of biological systems under investigation. WIlsON employs the R Shiny and Plotly web-based frameworks using a client-server based approach comprising a range of interface and plotting modules for various plot types (e.g. bar, box, line, scatter, heat). For more information on using WIlsON please try the official documentation⁠.

⁠CLARION input format

CLARION: generiC fiLe formAt foR quantItative cOmparsions of high throughput screeNs

CLARION is a data format especially developed to be used with WIlsON, which relies on a tab-delimited table with a metadata header to describe the following columns. It is based on the Summarized Experiment format and supports all types of data which can be reduced to features and their annotation (e.g. genes, transcripts, proteins, probes) with assigned numerical values (e.g. count, score, log2foldchange, z-score, p-value). Most result tables derived from RNA-Seq, ChIP/ATAC-Seq, Proteomics, Microarrays, and many other analyses can thus be easily reformatted to become compatible without having to modify the code of WIlsON for each specific experiment.

Please check the following link for details considering the CLARION format⁠.

⁠How can I run the DEMO?

First you have to install a Linux Docker Server⁠. Then you have to create a local WIlsON container using the "docker run ..." command.

$ docker run \
-d \
-p <HOST-PORT>:3838 \
loosolab/wilson:demo

HOST-PORT: Here you can use a port of your choice (e.g. 333). The internal port (3838) may not be changed!

  • If you run a local installation of Docker on your PC, you can reach WIlsON in your browser under http://localhost:HOSTPORT⁠

  • If you want to access WIlsON from outside your Docker installation, don't forget to open port 333 in your firewall where your Docker container is running.

⁠Example: You have a local installation of Docker and a local installation of a browser and want to try the DEMO:
$ docker run \
-d \
-p 333:3838 \
loosolab/wilson:demo

⁠How can I mount my own dataset externally (outside the container)?

To mount your local dataset-folder into the container, you have to use the -v parameter of Docker to mount a host directory into the container. Inside the container, WIlsON looks for external datasets in /srv/shiny-server/external_data. So if you want to place your data sets into local folder /home/test/wilson, you would add parameter "-v '/home/test/wilson':'/srv/shiny-server/external_data'". This does not necessitate a rebuild of the container. It is also possible to change the files in /home/test/wilson while the container is running since it automatically detects changes.

$ docker run \
-d \
-p <HOST-PORT>:3838 \
-v '<local-wilson-data-folder>':'/srv/shiny-server/external_data' \
loosolab/wilson:1.5.3

All files inside with the suffix .se or .clarion are expected to be input files in CLARION format. Please see the documentation for details.

To additionally get persistent logging please add further -v parameters:

$ docker run \
-d \
-p <HOST-PORT>:3838 \
-v '<local-wilson-data-folder>':'/srv/shiny-server/external_data' \
-v '<local-wilson-log-folder>/shiny-server.log':'/var/log/shiny-server.log' \
-v '<local-wilson-log-folder>/wilson-sessions':'/var/log/shiny-server/' \
-v '<local-wilson-log-folder>/wilson-app':'/srv/shiny-server/logs/' \
loosolab/wilson:1.5.3

⁠How can I mount my own dataset internally (inside the container) to seal data, software and dependencies?

It is also possible to directly include custom data files inside the container itself. This requires a rebuild of the container.

**Any files inside the build folder with suffices .se or .clarion will be included in the container.

Workflow: find the current version of Dockerfile and entrypoint.sh script on GitHub⁠ and download to a local folder (=build folder). Also copy all desired CLARION files here.

e.g. /home/test/wilson_build:
	Dockerfile
	entrypoint.sh
	test1.clarion
	test2.clarion
	...

Enter this folder and type the following.

$ docker build \
--no-cache \
--force-rm \
-t loosolab/wilson:1.5.3 \
.

Run the container.

$ docker run \
-d \
-p <HOST-PORT>:3838 \
loosolab/wilson:1.5.3

To additionally get persistent logging please add further -v parameters:

$ docker run \
-d \
-p <HOST-PORT>:3838 \
-v '<local-wilson-log-folder>/shiny-server.log':'/var/log/shiny-server.log' \
-v '<local-wilson-log-folder>/wilson-sessions':'/var/log/shiny-server/' \
-v '<local-wilson-log-folder>/wilson-app':'/srv/shiny-server/logs/' \
loosolab/wilson:1.5.3

⁠How can I mount multiple Wilson containers concurrently on the same Docker server including persistent logging?

This necessitates the use of further run parameters to include:

  • a unique port for each Wilson container; e.g. 60000
  • a unique key to add to the url of each container to obfuscate access and to serve as a recognizable container name; e.g. projectX_d4mdPEMNDbc-49wb
docker run \
--name="projectX_d4mdPEMNDbc-49wb" \
-e CONTAINERKEY=projectX_d4mdPEMNDbc-49wb \
-d \
-p 60000:3838 \
-v '<local-wilson-data-folder>':'/srv/shiny-server/external_data' \
-v '<local-wilson-log-folder>/shiny-server.log':'/var/log/shiny-server.log' \
-v '<local-wilson-log-folder>/wilson-sessions':'/var/log/shiny-server/' \
-v '<local-wilson-log-folder>/wilson-app':'/srv/shiny-server/logs/' \
loosolab/wilson:1.5.3

This Wilson container will now be accessible under url: http://xyz:60000/projectX_d4mdPEMNDbc-49wb⁠

⁠Short starter on Docker management

Show all containers: sudo docker container ls

Start container: sudo docker start <id>

Stop container: sudo docker stop <id>

Remove container: sudo docker rm <id>

Tag summary

Content type

Image

Digest

Size

819.1 MB

Last updated

about 4 years ago

docker pull loosolab/wilson