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¶
Install Docker on Linux
Install Docker on MacOS
Install Docker on Windows (NOTE: We have not yet done enough testing on the Windows platform, so we would like to recieve more feedback on it)
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:
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-develIf 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")
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-develIf 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")
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-develIf 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")
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-develIf 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")
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