nf-core/configs: vsc_ugent
Configuration profile for execution of Nextflow pipelines on the VSC UGhent HPC.
University of Ghent High Performance Computing Infrastructure (VSC)
Setup
[!IMPORTANT] You will need an account to use the HPC cluster to run the pipeline.
Regarding environment variables in ~/.bashrc
, make sure you have a setup similar to the one below. If you’re already part of a VO, ask for one or use VSC_DATA_USER
instead of VSC_DATA_VO_USER
.
First you should go to the cluster you want to run the pipeline on. You can check what clusters have the most free space on this link. Use the following commands to easily switch between clusters:
Before running the pipeline you will need to create a PBS script to submit as a job.
All of the intermediate files required to run the pipeline will be stored in the work/
directory. It is recommended to delete this directory after the pipeline has finished successfully because it can get quite large, and all of the main output files will be saved in the results/
directory anyway.
The config contains a cleanup
command that removes the work/
directory automatically once the pipeline has completed successfully. If the run does not complete successfully then the work/
dir should be removed manually to save storage space.
You can also add several TORQUE options to the PBS script. More about this on this link.
To submit your job to the cluster by using the following command:
[!NOTE] The profile only works for the clusters
shinx
,skitty
,kirlia
,doduo
and all tier1 clusters.
[!NOTE] The default directory where the
work/
andsingularity/
(cache directory for images) is located in$VSC_SCRATCH_VO_USER
(when you are part of a VO) or$VSC_SCRATCH
(when you are not part of a VO) for tier2 clusters and$VSC_SCRATCH_PROJECTS_BASE/<tier1_project_name>
for tier1 clusters.
Use Apptainer containers
The VSC does not support Apptainer containers provided via a URL (e.g., shub://… or docker://…). One solution is to download all the containers beforehand, like in this pipeline.
First get the containers.json file from the pipeline you want to run:
Then run a build script (script appended below) to build all the containers. This can take a long time and a lot of space, but it is a one-time cost. For many large images, consider running this as a job.
build_all_containers.sh
Use GPUs for your pipelines
Overwrite the container in your nextflow.config
. If you need GPU support, also apply the label ‘use_gpu’: