Skip to content

A web app to visualise, interpret and prioritise genomic/transcriptomic structural variations (SVs) of multiple samples.

License

Notifications You must be signed in to change notification settings

senzhaocode/FuSViz

Repository files navigation

FuSviz_overview

Build Status

Overview

A shiny app to visualise, interpret and prioritise genomic/transcriptomic structural variations (SVs) of multiple samples. It provides multiple solutions and an interactive user interface to investigate the prevalence and recurrence of SVs and their relevant genes in a cohort of cases. The tool is designed for combining SVs called from DNA-seq (e.g. whole genome or target exome) and RNA-seq to illustrate a biological implication of SVs to the host genes and interested genomic regions in context of various annotations, and it can also integrate a mutation profile (SNVs/Indels) to reveal a connection between small variants and complex genomic aberrations.


Getting a quick start

Deploy with docker

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

Run docker pull senzhao/fusviz_shiny_app:1.7.0, then check the image by typing docker images

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

Launch FuSViz app

Run docker run --rm -p 4000:3838 senzhao/fusviz_shiny_app:1.7.0; then open web browser and input address 127.0.0.1:4000

NOTE: FuSViz docker image is built under amd64 platform, which may show a poor and slow performance in Apple M1 machine (arm64 platform). Before pulling and running the image, we recommend enable the feature of Use Rosetta for x86/amd64 emulation on Apple Silicon for Docker Desktop - Navigate to Settings in Docker Desktop and check Use Rosetta for x86/amd64 emulation on Apple Silicon in the General tab.

Deploy with singularity for Linux users

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

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

Deploy without container

Prerequisite
  • 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.
  • System requirement with a recommendation: >=4 GB physical memory.
Installation
options(timeout=600)
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
      
    • 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
      
    • 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
      
    • 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
      
    • Install R package png: install.packages("png")

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

    • Need for Debian or Ubuntu: sudo apt install libcurl4-openssl-dev
  6. If users have a problem to install the dependency R package stringi (the latest release) for CentOS or RHEL automatically before FuSViz setup,

    • Download the latest release stringi in *.tar.gz format locally, and run R CMD INSTALL *.tar.gz
    • OR users could install an earlier release (e.g. v1.5.3): install.packages("https://cran.r-project.org/src/contrib/Archive/stringi/stringi_1.5.3.tar.gz", repos=NULL, type="source")
Launch FuSViz App
source(file.path(system.file("app", package = "FuSViz"), "global.R"), local = TRUE, chdir = TRUE)
FuSViz_app()

Usage & manual

A full description of FuSViz documentation is available:    Documentation Status

Contact

t.cytotoxic AT gmail.com