FungiExpresZ: an intuitive package for fungal gene expression data analysis, visualization and discovery
For a reference and citation for FungiExpresZ
:
Chirag Parsania, Ruiwen Chen, Pooja Sethiya, Zhengqiang Miao, LiguoDong, Koon Ho Wong. "FungiExpresZ: an intuitive package for fungal gene expression data analysis, visualization and discovery". Briefings in Bioinformatics (2023) doi: 10.1093/bib/bbad051
FungiExpresZ is a browser based user interface (developed in R-shiny) to analyse and visualize gene expression data. It allows users to visualize their own gene expression data as well as more than 16,000 pre processed SRA fungal gene expression data. Users can even merge their data with SRA data to perform combined analysis and visualizations. Just uploading gene expression matrix (.txt file where rows are genes and column are samples), users can generate 12 different exploratory visualizations and 6 different GO visualizations. Optionally, users can even upload multiple gene groups and sample groups to compare between them. GO analysis and GO visualizations can be performed for more than 100 different fungal species. Users can select set of genes directly from one of the scatter plot, line plot or heatmap and pass them for GO analysis and GO visualizations.
1.1 About 16,000 NCBI-SRA data from 18 different fungal species.
FungiExpresZ provides normalized gene expression values (FPKM) for more than 13,000 SRA samples. User can select one more data for visualizations. Data can be searched based on species, genotype, strain or free text which will be matched against several SRA columns.
Species | SRA sample counts |
---|---|
Aspergillus flavus NRRL3357 | 348 |
Aspergillus fumigatus Af293 | 242 |
Aspergillus nidulans FGSC A4 | 151 |
Aspergillus niger CBS 513.88 | 253 |
Botrytis cineria B05.10 | 142 |
Candida albicans SC5314 | 639 |
Candida auris B8 441 | 46 |
Candida glabrata CBS 138 | 126 |
Cryptococcus gattii NT-10 | 11 |
Cryptococcus neoformans var. neoformans JEC21 | 385 |
Fusarium fujikuroi IMI 58289 | 74 |
Fusarium graminearum PH-1 | 344 |
Fusarium oxysporum Fo47 | 131 |
Fusarium proliferatum ET1 | 4 |
Fusarium verticillioides 7600 | 179 |
Saccharomyces cerevisiae | 11872 |
Talaromyces marneffei ATCC 18224 | 26 |
Ustilago maydis 521 | 71 |
NOTE: We are continuously processing fungal SRA data. This table will be updated as we add new data.
Users can analyze and visualize their own data by uploading .txt/.csv file (columns are samples and rows are genes). Optionally, user data can be integrated with selected SRA data for combined analysis and visualization.
Optionally, user can upload sample groups (e.g. replicates, control vs treatment, wild type vs deletion etc.) and gene groups to compare between them. Group information can be used across several plots against fill and facet plot attributes.
FungiExpresZ provides browser based user friendly interface, which allows users to generate ggplot2 based 12 different publication-ready elegant visualizations. Users are allowed to adjust several common plot attributes such as plot title, axis title, font size, plot theme, legend size, legend position etc. and several other plot specific attributes. Available plot options are …
- Scatter Plot
- Multi-Scatter Plot
- Corr Heat Box
- Density Plot
- Histogram
- Joy Plot
- Box Plot
- Violin Plot
- Bar Plot
- PCA Plot
- Line Plot
- Heatmap
1.5 Supports Gene Ontology (GO) enrichment and visualizations for more than 100 different fungal species
FungiExpresZ allows users to define gene-set(s) directly from plot (Scatter plot, Line plot and Heatmap) to perform gene ontology enrichment and visualizations. Available GO visualizations are …
- Emap plot
- Cnet plot
- Dot plot
- Bar plot
- Heat plot
- Upset plot
There are three ways in which you can access FungiExpresZ.
FungiExpresZ has been hoisted on shinyapps.io and can be accessed through the link https://cparsania.shinyapps.io/FungiExpresZ/. This is one of the quickest way to access the FungiExpresZ. However, due to limited computational resources, We recommend using this approach only when the size of the data is comparatively small (< 10 MB) and/or you are in a need of quick figure out of the data. Current setup allows approx. 30 concurrent users to access FungiExpresZ online. Additional traffic may disconnect random users’ session and you may end up loosing all analysis performed. Even without access traffic idle session timeout is 30 minutes, and therefore you may loose your analysis if you have thought to continue later. For stable, robust and to have long lasting session it is recommended to use one of the following two approaches.
This approach is highly recommended for local run as it saves users from worrying about any dependency related issues.
Follow the instructions given below to install docker desktop on …
Once the docker desktop is installed, next step is to pull the FungiExpresZ’s docker image. Before you pull the image make sure your docker desktop is running. Next, to pull the image, open the terminal and enter the below command.
docker pull cparsania/fungiexpresz:<tagName>
Replace <tagName>
with the version you want to download. For example,
command below will download the version 1.3.0
docker pull cparsania/fungiexpresz:1.3.0
Possible values for <tagName>
can be obtained from
here. It is
recommended to pull latest available tag.
After getting the image on local computer, it can be run as a container.
The command below will open the port given as <port_number>
on local
computer and launch the application on same.
docker run -p <port_number>:80 cparsania/fungiexpresz:<tagName>
You can give valid TCP <port_number>
which is not occupied by your
system (e.g. 3232, 3233, 5434, … etc.).
Successful launch will print standard R
welcome message on terminal
with the final the line http://0.0.0.0:80
.
After launch, hitting one of these URLs
http://localhost:<port_number
or
http://127.0.0.1:<port_number>
or http://<your_ip_address:<port_number>
should launch the application on your browser.
Congrats!! 🎉🎉🎉🎉 .Your application will keep running until you stop the container explicitly.
Depending upon size of the data you are analyzing, you may need to
assign more computational resources to docker than the default which is
2 GB of memory and 4 CPUs on a mac with 32GB memory and 8 CPUs. Default
behavior can be changed from Docker -> Preferences -> Advanced
We recommend users to allocate at least 4 GB of memory to docker before running the FungiExpresZ docker image.
Container will be active until it is explicitly stopped. You can stop container using below command on a new terminal window.
#Get container id
docker ps
#stop container
docker stop <CONTAINER ID>
FungiExpresZ can be installed as an R package on a local computer or a server. To do so basic skills of R programming is required.
R version (>= 3.6.1)
Installation of FungiExpresZ as an R package is different than usual. To protect potential breakdown of various utilities of FungiExpresZ , it is recommended that FungiExpresZ uses same versions of dependancy R packages as development. Steps below will install the required versions of dependency packages without affecting already installed packages in your computer.
To keep already installed R packages unaffected in lthe ocal computer, FungiExpresZ will be installed in a separate directory.
-
Create an installation directory (
e.g. FungiExpresZ_R_pkg
). -
Download
renv.lock
👉 here.
renv.lock
file contains information required to install specific
version of dependency packages.
-
Move
renv.lock
file into the installation directory created in step-1. -
Download an appropriate package bundle. 👉 Download package bundle here
NOTE: It is highly recommended that you download the latest available version.
-
Mac : FungiExpresZ_<version>.tgz
-
Windows: FungiExpresZ_<version>.tar.gz
-
Move package bundle to installation directory created in step-1.
-
Install an R pacakge
renv
from the terminal.
NOTE: Open terminal to type below commands
cd <path/to/installation/directory>
R -e "install.packages('remotes', repos = c(CRAN = 'https://cloud.r-project.org'))"
R -e "remotes::install_github('rstudio/renv@0.9.2')" # 0.9.2 denotes the renv package version.
- Initiate the project in a current directory.
R -e 'renv::init()'
- Install required versions of dependency packages.
R -e 'renv::consent(provided = TRUE)'
R -e 'renv::restore()'
NOTE: To run above commands renv.lock
file must be in the same
directory.
- Install R package
devtools
R -e 'install.packages("devtools")'
- Install FungiExpresZ.
R -e 'devtools::install_local("FungiExpresZ_1.3.0.tar.gz" , dependencies=FALSE, build = FALSE)'
NOTE: In above command
FungiExpresZ_1.3.0.tar.gz
is the path to bundle file downloaded in the step-4.
- Run FungiExpresZ through installed R package.
R -e 'library(shinyBS);FungiExpresZ::run_app()'
- Access through browser
Hit the URL printed on the console to browser and you are ready to go 🎉🎉🎉🎉.