16 nf-core Pipelines
nf-core is a community-curated collection of Nextflow bioinformatics pipelines that follow standardized best practices. The BRC supports running nf-core pipelines on Hazel and maintains the official Hazel institutional profile in the nf-core/configs repository.
16.1 Available Pipelines
All 140+ existing nf-core pipelines are available on hazel through the BRC nf-core and Nextflow modules. Once these modules are loaded, any nf-core pipeline is availbe to be run:
$ module load nf-core nextflow
$ nextflow run nf-core/<pipeline> [options]The nextflow run command must be submitted from a login node. Nextflow then dispatches individual pipeline processes as SLURM jobs. Container images are pulled and converted to Singularity format automatically, and cached in /share/$GROUP/$USER/tmp so they are reused on subsequent runs.
For information on how to use BRC modules, see Loading BRC Modules.
Some common nf-core pipelines include:
| Pipeline | Description |
|---|---|
nf-core/rnaseq |
End-to-end RNA-seq analysis |
nf-core/sarek |
somatic/germline variant calling |
nf-core/scrnaseq |
single-cell RNA-seq analysis |
nf-core/atacseq |
ATAC-seq peak-calling and differential analysis |
nf-core/ampliseq |
Amplicon sequencing analysis for microbiome / 16S rRNA studies |
nf-core/mag |
Metagenome assembly, binning, and taxonomic classification |
nf-core/funscan |
Screen nucleotide seqeunces in metagenomic data for functional genes |
16.2 Hazel Configuration Profile
Hazel has an official institutional profile in the nf-core/configs repository. Activating it with -profile hazel automatically configures the SLURM executor, Singularity containers, resource ceilings, and partition routing — no additional config file needed.
16.2.1 Running a Pipeline with the Hazel Profile
$ nextflow run nf-core/<pipeline> -profile hazel16.2.2 Default Resource Limits
| Setting | Default |
|---|---|
| Max memory | 128 GB |
| Max CPUs | 24 |
| Max walltime | 120 hours |
| SLURM partition | compute |
| Queue size | 16 concurrent jobs |
Processes labeled process_gpu are automatically routed to the gpu partition and allocated one H100 GPU by default.
16.2.3 Overriding Defaults at Runtime
Common overrides can be passed directly to nextflow run:
# Use a different partition
$ nextflow run nf-core/<pipeline> -profile hazel --partition <PARTITION_NAME>
# Raise the memory ceiling
$ nextflow run nf-core/<pipeline> -profile hazel --max_memory 256.GB
# Request a different GPU type or multiple GPUs
$ nextflow run nf-core/<pipeline> -profile hazel --hazel_gpu 'gpu:a100:2'
# Override the GPU partition
$ nextflow run nf-core/<pipeline> -profile hazel --gpu_partition <PARTITION_NAME>For changes you want to apply consistently across runs, save them in a local config file and pass it with -c:
$ nextflow run nf-core/<pipeline> -profile hazel -c my_overrides.config