MetaboAnalyst is a great tool for analysis of metabolomics data. Here are some tips how to install MetaboAnalyst locally on a linux workstation. Such installation could be tailored to meet individual requirements (default setting, fonts, etc.).
Starting point is a runnig installation of Ubuntu 18.04.3 LTS.
Update your system and install additional packages. Set the workstation to be visible only within the local network so security won't be an issue.
# Add repository for R 3.6 in Ubuntu 18.04 sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/' sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 sudo apt-get update sudo apt-get upgrade sudo apt-get install software-properties-common wget unzip libnetcdf-dev graphviz libxml2-dev libcairo2-dev default-jdk r-base-dev libssl-dev # lib-ssl is needed for R-serve download sudo apt-get install r-cran-rserve
Install all R-packages via Bioconductor
# Run R as user R
if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager") BiocManager::install() BiocManager::install(c("Rserve", "ellipse", "scatterplot3d", "Cairo", "randomForest", "caTools", "e1071", "som", "impute", "pcaMethods", "RJSONIO", "ROCR", "globaltest", "GlobalAncova", "Rgraphviz", "preprocessCore", "genefilter", "pheatmap", "SSPA", "sva", "Rcpp", "pROC", "data.table", "limma", "car", "fitdistrplus", "lars", "Hmisc", "magrittr", "methods", "xtable", "pls", "caret", "lattice", "igraph", "gplots", "KEGGgraph", "reshape", "RColorBrewer", "tibble", "siggenes", "plotly", "xcms", "CAMERA", "fgsea", "MSnbase", "BiocParallel", "metap", "reshape2", "scales"))
Update all installed packages, if needed, using parallel processes.
setRepositories() options(Ncpus = 8) install.packages( lib = lib <- .libPaths()[1], pkgs = as.data.frame(installed.packages(lib), stringsAsFactors=FALSE)$Package, type = 'source' )
MetaboAnalyst works well with Java 8.
sudo apt update sudo apt install openjdk-8-jdk openjdk-8-jre java -version
If needed, select the appropriate one.
sudo update-alternatives --config java There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode * 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode Pressto keep the current choice[*], or type selection number:
# Set Java environment JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java PATH=$PATH:$HOME/bin:$JAVA_HOME/bin export JAVA_HOME export JRE_HOME export PATH
Create a dedicated account for the GlassFish server.
#Add a new user called glassfish sudo adduser --home /home/glassfish --system --shell /bin/bash glassfish #add a new group for glassfish administration sudo groupadd glassfishadm #add your users that shall be Glassfish adminstrators sudo usermod -a -G glassfishadm $myAdminUser #in case you want to delete a group some time later (ignore warnings): #delgroup glassfishadm
Get the latest GlassFish from Eclipse foundation. Or older one from Oracle.
cd /home/glassfish/ wget https://www.eclipse.org/downloads/download.php?file=/glassfish/glassfish-5.1.0.zip # sudo wget http://download.oracle.com/glassfish/5.0.1/nightly/latest-glassfish.zip unzip glassfish-5.1.0.zip -d /home/glassfish
Fix GUI deploy error (optional)
# update jar file # jar uf jar-file input-file(s) in console-common.jar!applications/uploadFrame.jsf change <sun:form id="form"> to <sun:form id="form" enctype="multipart/form-data">
Set the GlassFish Service
sudo nano /etc/systemd/system/glassfish.service
[Unit] Description = GlassFish Server v5.1 local MetaboAnalyst After = syslog.target network.target [Service] ExecStart=/home/glassfish/glassfish5/bin/asadmin start-domain ExecReload=/home/glassfish/glassfish5/bin/asadmin restart-domain ExecStop=/home/glassfish/glassfish5/bin/asadmin stop-domain Type = forking [Install] WantedBy = multi-user.target
# Reload services sudo systemctl daemon-reload # Start GlassFish sudo systemctl start glassfish # Get service status sudo systemctl status glassfish # Add to path export PATH=/home/glassfish/glassfish5/bin:$PATH # Secure GlassFish console and GUI, set password asadmin change-admin-password # Enable the feature asadmin enable-secure-admin # Restart Glassfish sudo systemctl restart glassfish
Webserver address: http://<server-ip-address>:8080
GUI admin console address: http://<server-ip-address>:4848
cd /home/glassfish # https://www.metaboanalyst.ca/MetaboAnalyst/faces/docs/Resources.xhtml wget https://www.dropbox.com/s/9xo4yy3gzqsvyj9/MetaboAnalyst-4.93.war?dl=1 cd /home/glassfish/glassfish5/bin asadmin deploy /home/glassfish/MetaboAnalyst-4.93.war # or use web GUI # Run R-serve as glassfish user R CMD Rserve
MetaboAnalyst will be running at http://<server-ip-address>:8080/MetaboAnalyst-4.93/. Change the path using GUI if needed.