nf-core/configs: SAGA-Sigma2 Configuration (Unofficial)

[!WARNING] This is an unofficial project and is not supported by National e-infrastructure services. Please do not contact the NRIS team for support with this config.

This document describes how to use the profile saga_sigma2 on the Saga HPC system hosted by Sigma2 AS.

To use this profile, run the pipeline with -profile saga_sigma2. This will download and launch the saga_sigma2.config file, which has been pre-configured with settings suitable for the Saga HPC cluster. This profile only supports the normal job type. If you want to use another partition, modify the config file accordingly.

Module Requirements

This configuration file assumes you are running the Nextflow pipeline as a Slurm job and extracts the necessary environment variables from the Slurm environment. To run any Nextflow pipeline with this configuration file, use the following Slurm script template:

#!/bin/bash
#SBATCH --job-name=nextflow
#SBATCH --output=%x_%j.out
#SBATCH --error=%x_%j.err
#SBATCH --account=nn****k
#SBATCH --time=01:00:00
#SBATCH --mem=16G
#SBATCH --cpus-per-task=4


# Load required modules
module purge
module load Nextflow/26.04.6

# NF JVM options
export NXF_OPTS="-Xms4g -Xmx16g"

# Pipeline command
nextflow run nf-core/rnaseq \
        -r 3.26.0 \
        -profile saga_sigma2 \
        -params-file rnaseq_params.json

RNA-seq params file example:

{
  "input": "samplesheet.csv",
  "outdir": "./rnaseq_results",

  "fasta": "reference.fa",
  "gtf": "reference.gtf",

  "aligner": "star_salmon",
  "skip_qc": false,
  "email": "ola.nordmann@example.com"
}

Additional information

The SAGA HPC system offers the option to use $LOCALSCRATCH instead of $SCRATCH for temporary files. For more details, see the job work directory documentation.

Config file

See config file on GitHub

conf/saga_sigma2
params {
config_profile_name = "SAGA-Sigma2 (Unofficial)"
config_profile_description = "SAGA HPC (hosted by Sigma2.no) unofficial configuration profile provided by nf-core/configs"
config_profile_contact = "Arup Ghosh (@arupgsh)"
config_profile_url = "https://documentation.sigma2.no"
}
//NF Work directory
workDir = "${System.getenv('USERWORK')}/nf_work/${System.getenv('SLURM_JOB_ID')}"
// Executor params
executor {
name = "slurm"
queueSize = 40
submitRateLimit = "10/1min"
}
process {
executor = "slurm"
// To use devel set --qos=devel inside cluster options
clusterOptions = "--account=${System.getenv('SLURM_JOB_ACCOUNT')} --gres=localscratch:300G"
resourceLimits = [
cpus: 64,
memory: 6040.GB,
time: 14.d
]
queue = {
def mem = task.memory ?: 4.GB
def cpu = task.cpus ?: 1
if (mem > 3021.GB) {
return 'hugemem'
}
if (mem > 178.GB || (mem.toGiga() / cpu) > 8) {
return 'bigmem'
}
return 'normal'
}
scratch = true
scratch = '$LOCALSCRATCH'
stageInMode = "symlink"
stageOutMode = "rsync"
cache = "lenient"
}
apptainer {
enabled = true
autoMounts = true
envWhitelist = 'HTTPS_PROXY,HTTP_PROXY,http_proxy,https_proxy'
cacheDir = "${System.getenv('USERWORK')}/apptainer_cache"
}
timeline {
enabled = true
overwrite = true
file = "${params.outdir}/pipeline_info/execution_timeline.html"
}
report {
enabled = true
overwrite = true
file = "${params.outdir}/pipeline_info/execution_report.html"
}
dag {
enabled = true
overwrite = true
file = "${params.outdir}/pipeline_info/pipeline_dag.html"
}
cleanup = true