NOTICE: FULL O2 Cluster Outage, January 3 - January 10th
O2 will be completely offline for a planned HMS IT data center relocation from Friday, Jan 3, 6:00 PM, through Friday, Jan 10
- on Jan 3 (5:30-6:00 PM): O2 login access will be turned off.
- on Jan 3 (6:00 PM): O2 systems will start being powered off.
This project will relocate existing services, consolidate servers, reduce power consumption, and decommission outdated hardware to improve efficiency, enhance resiliency, and lower costs.
Specifically:
- The O2 Cluster will be completely offline, including O2 Portal.
- All data on O2 will be inaccessible.
- Any jobs still pending when the outage begins will need to be resubmitted after O2 is back online.
- Websites on O2 will be completely offline, including all web content.
More details at: https://harvardmed.atlassian.net/l/cp/1BVpyGqm & https://it.hms.harvard.edu/news/upcoming-data-center-relocation
Personal R Packages
We encourage users to maintain their own R packages. This ensures that the user has no discontinuity in their workflow waiting for packages to be installed and packages work with the user’s chosen, loaded R module. R packages are built specifically to a version of R and may not work properly if a different version of R is loaded. O2’s LMOD “module” feature allows users to quickly and easily switch between R versions.
Table of Contents
- 1 General Commands
- 2 Setting up a Personal R Library
- 3 Starting R Interactively
- 4 Installing Packages Using Bioconductor
- 5 Installing Packages Using CRAN
- 6 Installing Packages from GitHub using Devtools
- 7 Installing Packages from a Local File
- 8 Installing Packages with Special Requirements
- 9 Loading R packages
General Commands
Command | Meaning |
---|---|
| shows the version of R installed on O2 |
| shows if other module(s) needs to be loaded to use R (e.g., |
| loads an individual module (i.e., |
| unloads an individual module (i.e., |
| shows the current version of R loaded |
| From R, show a list of all installed R packages |
Setting up a Personal R Library
This sets up an environment to store R packages locally. From R, all packages will be installed and saved to this R Personal Library by default. It is recommended to use a separate R library for each version of R selected (e.g., 3.6.1, 4.1.1, etc.). Multiple members of a group can share an R library saved in a group-accessible location by following the echo ...
and export ...
commands.
In O2 bash (hardcoded):
This approach is ideal for researchers using mainly a single R version and sharing the R Personal Library with other lab members.
mkdir -p ~/R-<version_selected>/library
echo 'R_LIBS_USER="~/R-<version_selected>/library"' > $HOME/.Renviron
export R_LIBS_USER="~/R-<version_selected>"
In O2 bash (non-hardcoded alternative):
This alternative approach is ideal for researchers working concurrently with more than one R version or switching often among R versions. In this approach, the R Personal Library is automatically set based on the R module loaded.
echo 'R_LIBS_USER="~/R/%p-library/%V"' > $HOME/.Renviron
Note: %V
expands to Major.Minor.PatchLevel, while %p
expands to the platform for which R was built. We recommend using %V
to account for the PatchLevel and avoid issues with different gcc versions.
Starting R Interactively
R must be run in a compute node rather than a login node. To start an interactive session in a compute node, you need to specify the resources (i.e., walltime, cpus, and memory) via the $ srun
command and specify interactive
as the partition. For example:
# 1. Start an interactive job (resources: 1 hour, 5GB of memory, and 1 cpu)
mfk8@login01:~$ srun --pty -p interactive -t 0-1:00 --mem 5G -c 1 bash
# 2. Load R/4.1.2
mfk8@compute-a-16-163:~$ module load gcc/9.2.0 R/4.1.2
# 3. Start R
mfk8@compute-a-16-163:~$ R
> #notice how the prompt changes.
R does not implicitly use multiple core unless the code is parallelized. For researchers using the R package doParallel
, please check Over Efficient Jobs | R package doParallel
Installing Packages Using Bioconductor
The Bioconductor repository host a wide range of bio-related packages. To install Bioconductor, please check the installation page on the Bioconductor website in case the method described below changes in the future.
Installing Packages Using CRAN
The command install.packages()
searches CRAN by default and ask you to select a mirror, but a repository can be specified using this command:
User example:
A list of CRAN available packages is available at CRAN: Contributed Packages
Installing Packages from GitHub using Devtools
The R package devtools
allow researchers to install software from GitHub repositories. First, you need to install devtools
from the CRAN repo. Second, you need to load the R package using the library
command. Lastly, you use the install_github()
command to install R packages from GitHub. For example:
Installing Packages from a Local File
To install a package manually, place the compressed R package (usually is compressed as a tarball or zip file) inside your R Personal Library (e.g., ~/R-<version_selected>/library
) and run the following command:
You can also install an R package via R CMD INSTALL <path-to-tarball>
. However, this assumes all dependencies are already installed in your R Personal Library. For example:
Installing Packages with Special Requirements
We’ve created a Confluence page with step-by-step instructions to install some commonly used R packages (e.g., SF, monocle3, etc.) requiring a few [non-common] extra steps - Installing Other R packages on O2. Often, the extra steps involve installing a system library. To simplify the process, we have installed those system libraries as modules on O2.
Loading R packages
Once the package is installed, the library(<pkg_name>)
can be used to load a package; for example: