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-1:
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 `__