Prerequisites (Non-NCSU Attendees)
This page outlines what you should set up and review before the Nextflow workshop begins if you do not have an NCSU Hazel HPC account. You’ll need access to your own HPC or compute environment with Nextflow installed and the workshop’s tools available, either as pre-installed software/modules or as containers.
1 Install Nextflow on Your HPC
$ java -versionIf it isn’t, load or install it (e.g. module avail java on many HPC systems) before installing Nextflow.
$ module avail nextflowIf it is, you can simply module load nextflow and skip the manual install below.
$ curl -s https://get.nextflow.io | bashThis creates a nextflow executable in your current directory. Move it into a directory on your $PATH (e.g. ~/bin) so it can be run from anywhere:
$ mkdir -p ~/bin
$ mv nextflow ~/bin/
$ export PATH="$PATH:$HOME/bin"Add the export PATH line to your ~/.bashrc (or equivalent) so it persists across logins.
$ nextflow -version2 Access to the Workshop’s Tools
The workshop’s exercises run a small number of common bioinformatics tools (e.g. FastQC and Trimmomatic) inside Nextflow processes. On Hazel, these are provided by the BRC as pre-built modules/containers (see Loading BRC Modules) — outside NCSU, you’ll need to provide equivalent access on your own system, using one of the following options.
2.1 Option A: Pre-installed software or environment modules
$ module avail fastqc
$ module avail trimmomaticIf they’re available, note the module load command (or install path) for each — you’ll substitute it for the BRC module directives used in the workshop’s example pipelines.
2.2 Option B: Containers via Singularity/Apptainer and BioContainers
If the tools aren’t available as modules, you can run them from containers instead. BioContainers publishes ready-made container images for most common bioinformatics tools, built directly from their Bioconda packages.
$ singularity --version
# or
$ apptainer --version(Apptainer is the actively maintained successor to Singularity; the commands are interchangeable for our purposes.) If neither is installed, ask your HPC administrators — most institutional HPC systems provide one or the other as a module.
$ singularity pull fastqc.sif docker://quay.io/biocontainers/fastqc:0.12.1--hdfd78af_0
$ singularity pull trimmomatic.sif docker://quay.io/biocontainers/trimmomatic:0.39--hdfd78af_1The workshop’s example pipeline scripts request tools with a module directive, e.g. module 'fastqc/0.12.1', which points Nextflow at a Hazel/BRC module. Outside Hazel, replace this with a container directive pointing at your .sif file (or the docker:// image URI directly), and enable Singularity in your nextflow.config:
singularity.enabled = true
process {
withName: fastqc {
container = '/path/to/fastqc.sif'
}
withName: trim {
container = '/path/to/trimmomatic.sif'
}
}You don’t have to pre-pull images by hand — if singularity.enabled = true and a process’s container directive points at a docker:// URI, Nextflow will pull and cache the image automatically the first time that process runs.