Skip to content

Nextflow Configuration File

Sam Minot edited this page Apr 20, 2021 · 2 revisions

The argument ~/nextflow.config refers to the Nextflow configuration file which is typically created when first installing and setting up Nextflow. This is the file that you will use to set up execution on AWS, for example.

We have provided an example configuration file in the geneshot repository, which you can use as-is, or more likely modify to match your best configuration.

Most importantly, look to the withLabel sections to specify the cpus and memory which you would like to request for each of the different types of jobs.

Specifying CPU/RAM

The most common need for modifying the Nextflow configuration file is to specify how much computational resources are needed for each individual process. In geneshot, each process is given a label (either io_limited, io_net, mem_medium, or mem_veryhigh). Based on which label a process has, the configuration file is used to specify the number of CPUs and the amount of memory (RAM) which will be provided to each process.

The balance of CPU/RAM provided by default for geneshot is appropriate for many types of HPC services, but it is still very common for users to customize their configuration to maximize the efficiency of the execution on their own systems.

To set the CPU/RAM for your own system:

  1. Copy the example configuration file to your computer
  2. Modify the cpu and/or memory fields to reflect the resources which are available on your system 2a. By default, the entries in the default profile will be used. To use the testing profile (or any other that you create), use the -profile flag when invoking the workflow.
  3. To use your customized configuration file while running geneshot, specify it with the -c flag (e.g. nextflow run -c <PATH TO CONFIG> Golob-Minot/geneshot ...