Mana (at University of Hawaii at Manoa) Configuration

To use, run the pipeline with -profile mana. It will use the following parameters for Mana (UHM HPCC):

  • Load singularity and use it as default container technology
  • Setup a container cache directory in your home (~/.singularity_images_cache)
  • Select appropriate queues (currently: shared,exclusive,kill-shared,kill-exclusive)
  • Set the maximum available resources (available in 09/02/2022):
    • CPUs: 96
    • Memory: 400.GB
    • Time: 72.h

Pre-requisites

In order to run a nf-core pipeline on Mana, you will need to setup nextflow in your environment. At the moment, nextflow is not available as a module (but might be in the future).

Install nextflow in a conda environment

Before we start, we will need to work on an interactive node (currently, mana doesn’t let you execute any program in the login node):

# Request an interactive sandbox node for 30 min
srun --pty -t 30 -p sandbox /bin/bash

To setup nextflow on your account, follow these steps.

# Load the latest anaconda3 module
module load lang/Anaconda3/2022.05
 
# Initialize environment
. $(conda info --base)/etc/profile.d/conda.sh
 
# Install nextflow (here in base environment, but you can create a new one if you'd like)
conda install -c bioconda nextflow

If you want these settings to be persistent, you can add the first 2 commands in your .bash_profile file like this:

echo "module load lang/Anaconda3/2022.05" >> ~/.bash_profile
echo "$(conda info --base)/etc/profile.d/conda.sh" >> ~/.bash_profile

Config file

See config file on GitHub

mana.config
params {
    config_profile_description = 'University of Hawaii at Manoa'
    config_profile_url         = 'http://www.hawaii.edu/its/ci/'
    config_profile_contact     = 'Cedric Arisdakessian'
 
    max_memory                 = 400.GB
    max_cpus                   = 96
    max_time                   = 72.h
}
 
process {
    resourceLimits = [
        memory: 400.GB,
        cpus: 96,
        time: 72.h
    ]
    executor = 'slurm'
    queue    = 'shared,exclusive,kill-shared,kill-exclusive'
    module   = 'tools/Singularity'
}
 
singularity {
    enabled    = true
    cacheDir   = "${HOME}/.singularity_images_cache"
    autoMounts = true
}