Installing Other R packages on O2
Please make sure to setup an R Personal Library on O2 to install packages locally.
Here you can find valuable information on how to install R packages requiring some external dependencies.
R package - beachmat and glmGamPoi
# Load modules
module purge
module load gcc/9.2.0 R/4.3.3
# Launch R
R
# Install packages
install.packages('BiocManager')
BiocManager::install('beachmat')
BiocManager::install("glmGamPoi")
The beachmat and glmGamPoi packages do not work with recent R versions. To install them on O2, you can load the R/4.3.3 module, which is an older R version compatible with both packages.
R package - curl
# Load modules
module purge
module load gcc/9.2.0 curl/8.12.1 R/4.4.0
R
install.packages('curl')
The curl
package is needed to install popular R packages such as devtools
, rtracklayer
and Seurat
(v5). To install the curl
R package, you will need to load the curl/8.12.1
module.
Important: The curl/8.12.1 module is a temporary workaround and only needed until the OS for O2 is updated from CentOS to Red Hat 9.
R package - igraph
# Load Modules
module purge
module load gcc/9.2.0 R/4.3.1 glpk/5.0
# Create ~/.R/Makevars
mkdir ~/.R
echo "CFLAGS+=-I/n/app/glpk/5.0-gcc-9.2.0/include" >> ~/.R/Makevars
echo "CPPFLAGS+=-I/n/app/glpk/5.0-gcc-9.2.0/include" >> ~/.R/Makevars
echo "LDFLAGS+=-L/n/app/glpk/5.0-gcc-9.2.0/lib" >> ~/.R/Makevars
echo "CPATH+=/n/app/glpk/5.0-gcc-9.2.0/include" >> ~/.R/Makevars
# Start R
R
# Install package
install.packages('igraph')
R package - nloptr
You must use an R version compiled against GCC v9.2.0 and load the CMake module. For example:
# Load modules
module purge
module load gcc/9.2.0 R/4.2.1 cmake/3.22.2
# Start R
R
# Install package
install.package('nloptr')
R package - Devtools
Load the git2 module if using an older R version (e.g., 4.0.1):
# Load modules
module purge
module load gcc/6.2.0 R/4.0.1 git2/1.1.0
# Start R
R
# Install pkg
install.packages('devtools')
If using the R>=4.2.1 module, then it is not required to load the git2 module.
R package - Seurat
# Load Modules
module purge
module load gcc/9.2.0 curl/8.12.1 R/4.4.0
# Start R
R
# Install pkg
install.packages('Seurat')
R packages - SF and Monocle3
# Load Modules
module purge
module load gcc/9.2.0
module load cmake/3.22.2
module load R/4.3.1
module load gdal/3.1.4
module load udunits/2.2.28
module load geos/3.10.2
# Export udunits variables
export UDUNITS2_INCLUDE=/n/app/udunits/2.2.28-gcc-9.2.0/include
export UDUNITS2_LIBS=/n/app/udunits/2.2.28-gcc-9.2.0/lib
# Start R
R
# Install sf
install.packages('sf', configure.args = "--with-geos-config=/n/app/geos/3.10.2-gcc-9.2.0/bin/geos-config")
# Install Bioconductor
install.packages("BiocManager")
# Install Bioconductor pkgs
BiocManager::install(c('BiocGenerics', 'DelayedArray', 'DelayedMatrixStats',
'limma', 'S4Vectors', 'SingleCellExperiment',
'SummarizedExperiment', 'batchelor', 'Matrix.utils'))
# Install monocle3
devtools::install_github('cole-trapnell-lab/leidenbase')
devtools::install_github('cole-trapnell-lab/monocle3')
R package - ACTIONet
The R package has not been maintained for the last few years; currently it is only possible to use through a singularity container.
# Start a singularity shell
singularity shell /n/app/singularity/containers/shared/actionet-r-release.sif
# Initiate R from within the container
R
# Load R package
library("ACTIONet")
R package - InferCNV
## Install JAGS
# Setup Working Directory
cd $HOME
mkdir build_jags && cd build_jags
# Download & Decompress JAGS
wget -O JAGS-4.3.1.tgz https://sourceforge.net/projects/mcmc-jags/files/JAGS/4.x/Source/JAGS-4.3.1.tar.gz/download
tar xzvf JAGS-4.3.1.tgz && cd JAGS-4.3.1
# Load modules
module load gcc/9.2.0 R/4.2.1
# Export Variables
export PKG_CONFIG_PATH=/n/app/openblas/0.3.19-gcc-9.2.0/lib/pkgconfig/:$PKG_CONFIG_PATH
export LDFLAGS="-L/n/app/openblas/0.3.19-gcc-9.2.0/lib/"
# Install JAGS
mkdir $HOME/JAGS
./configure --prefix=$HOME/JAGS
make -j 4
make install
# Clean up; build_jags directory is no longer needed
rm -r $HOME/build_jags
# Add JAGS path to variables
export LD_LIBRARY_PATH=$HOME/JAGS/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/JAGS/lib/pkgconfig
# Launch R
R
# Install R package
install.packages("BiocManager")
BiocManager::install("infercnv")
R package - Rmpi
The package must be installed using an sbatch job. For example:
1. Create an sbatch script with the following content
$ cat install-rmpi.slurm
#!/bin/bash
#SBATCH -p short
#SBATCH -t 0-00:10
#SBATCH -c 1
#SBATCH --mem=1G
# load modules
module load gcc/9.2.0 R/4.2.1 openmpi/4.1.1
# install R package
R -e "install.packages('Rmpi',repos='http://cran.us.r-project.org', configure.args = '--with-mpi=/n/app/openmpi/4.1.1')"
2. Submit script via the sbatch command
$ sbatch install-rmpi.slurm