Installation

Prerequisite for FuSViz running

A minimum of 4GB physical memory is required for running FuSViz in user’s machine (we recommend physical memory >= 8GB). NOTE: insufficient memory allocation can result in a slow response, the screen hanging on, or even a software crash.

Deploy with docker/podman

Install Docker/Podman engine in your OS platform

Pull pre-built FuSViz image (release version) from docker hub

Run docker pull --platform=linux/amd64 senzhao/fusviz_shiny_app:1.8.0, then check the image by typing docker images

Optional: if user would like to build image (developmental version), download soruce code and change to directory cd ~/FuSViz-master; run docker build --platform=linux/amd64 --rm -t senzhao/fusviz_shiny_app:latest -f Dockerfile ..

Launch FuSViz app

Run docker run --platform=linux/amd64 --rm -p 4000:3838 senzhao/fusviz_shiny_app:1.8.0; then open web browser and input address 127.0.0.1:4000. If TCP port 4000 on 127.0.0.1 of the host is occupied, users can use other port values to bind port 3838 of the container.

NOTE: the following browsers have been tested and are supported well

  • Safari (version >= 14.0)

  • Mozilla Firefox (version >= 83.0)

  • Google Chrome (version >= 87.0.4280.67 official build x86_64)

  • Microsoft Edge (version >= 90)

Deploy with singularity/apptainer for linux distribution

A apptainer/singularity container of FuSViz is available for dowload, and we recommend run it using singularity version (>= 3.7.3):

singularity run fusviz_v1.8.0.sif 4000, then open web browser and input address.

NOTE: the FuSViz apptainer/singularity container is specific for running under Linux OS (e.g. Debian, Ubuntu, Redhat and CentOS), which is incompatible with Apple M1/M2 machine. Users have to use the Docker/Podman container to run FuSViz under Mac OS.

Deploy without container

Requirement

FuSViz is a shiny app and requires R working environment:

  • R (>=4.0.0): https://www.r-project.org/; RStudio is recommended but not mandatory.

  • For windows users, if an earlier version of R (< 4.0) is present in the system, please uninstall it firstly and make sure only R >=4.0 is available.

Installation

if (! require('remotes')) install.packages('remotes')
remotes::install_github('senzhaocode/FuSViz')

IMPORTANT NOTE for Linux OS

Some libraries need to be installed properly before setup FuSViz:

  1. Install software library OpenSSL - a dependency of R package openssl

    • For Debian or Ubuntu: sudo apt-get install -y libssl-dev; For Fedora, CentOS or RHEL: sudo yum install openssl-devel

    • If root privillege is not available, users have to download source code and install at $HOME directory. For example,

      ./Configure --prefix=/OpenSSL_path --openssldir=/OpenSSL_path/ssl
      make && make install
      C_INCLUDE_PATH=/OpenSSL_path/include
      export C_INCLUDE_PATH
      LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/OpenSSL_path/lib
      export LD_LIBRARY_PATH
      LIBRARY_PATH=$LIBRARY_PATH:/OpenSSL_path/lib
      export LD_LIBRARY_PATH
      
    • Install R package openssl: install.packages("openssl")

  2. Install software library libxml2 - a dependency of R package xml2

    • For Debian or Ubuntu: sudo apt-get install libxml2-dev; For Fedora, CentOS or RHEL: sudo yum install libxml2-devel

    • If root privillege is not available, users have to download source code and install at $HOME directory. For example,

      ./configure --prefix=/libxml2_path
      # if ./configure file does not exist, please run ./autogen.sh --prefix=/libxml2_path instead.
      make && make install
      C_INCLUDE_PATH=/libxml2_path/include
      export C_INCLUDE_PATH
      CPLUS_INCLUDE_PATH=/libxml2_path/include
      export CPLUS_INCLUDE_PATH
      LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/libxml2_path/lib
      export LD_LIBRARY_PATH
      LIBRARY_PATH=$LIBRARY_PATH:/libxml2_path/lib
      export LD_LIBRARY_PATH
      
    • Install R package xml2: install.packages("xml2")

  3. Install software library libjpeg - a dependency of R package jpeg

    • For Debian or Ubuntu: sudo apt-get install libjpeg-dev; For Fedora, CentOS or RHEL: sudo yum install libjpeg-turbo-devel

    • If root privillege is not available, users have to download source code and install at $HOME directory. For example,

      ./Configure --prefix=/libjpeg_path --libdir=/libjpeg_path/lib --includedir=/libjpeg_path/include
      make && make install
      C_INCLUDE_PATH=/libjpeg_path/include
      export C_INCLUDE_PATH
      LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/libjpeg_path/lib
      export LD_LIBRARY_PATH
      LIBRARY_PATH=$LIBRARY_PATH:/libjpeg_path/lib
      export LD_LIBRARY_PATH
      
    • Install R package jpeg: install.packages("jpeg")

  4. Install software library libpng - a dependency of R package png

    • For Debian or Ubuntu: sudo apt-get install libpng-dev; For Fedora, CentOS or RHEL: sudo yum install libpng-devel

    • If root privillege is not available, users have to download source code and install at $HOME directory. For example,

      ./Configure --prefix=/libpng_path
      make && make install
      C_INCLUDE_PATH=/libpng_path/include
      export C_INCLUDE_PATH
      LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/libpng_path/lib
      export LD_LIBRARY_PATH
      LIBRARY_PATH=$LIBRARY_PATH:/libpng_path/lib
      export LD_LIBRARY_PATH
      
    • Install R package png: install.packages("png")

  5. Install software library libcurl - a dependency of R package RCurl

    • For Debian or Ubuntu: sudo apt install libcurl4-openssl-dev

Launch FuSViz app via localhost

source(file.path(system.file("app", package = "FuSViz"), "global.R"), local = TRUE, chdir = TRUE)
FuSViz_app()

Host FuSViz on a single server

Users is able to host FuSViz Shiny application at server end (only linux OS distributions are supported) using Shiny Server. Please follow the installation and adminstration of Shiny Server