Getting Started
Dependencies
VAPER is built using Nextflow. Nextflow simplifies the development and execution of complex, scalable data analysis workflows by enabling reproducibility, portability across computing environments, and seamless integration with container technologies like Docker and Singularity.
The following are required to run VAPER:
- Nextflow (version 23.04.0 or higher)
- One of the following container engines:
- Podman (recommended)
- Docker
- Apptainer
- Singularity.
VAPER does not support Conda / Mamba. Please submit a feature request if this is essential for your lab.
Nextflow Basics
Below are some general pointers for how to run Nextflow workflows.
Specifying the workflow version
There are two general ways you can specify which version of VAPER you want to run:
-
Tell Nextflow which version you want to use
nextflow run doh-jdj0303/vaper \ -r v1.0 \ -profile docker \ --input samplesheet.csv \ --outdir results -
Clone the workflow version manually
git clone https://github.com/doh-jdj0303/vaper.git -b v1.0nextflow run vaper/main.nf \ -profile docker \ --input samplesheet.csv \ --outdir results
Nextflow caches repos in ~/.nextflow/assets/ by default. Removing this cache can be helpful when running into version-related issues.
Specifying resource limits
We recommend adjusting the maximum resource limits that Nextflow can use. Setting these limits too high will cause the workflow to fail. This can be accomplished in the config file supplied via the -c paramater (see below).
Nextflow no longer allows resource limits to be specified from command line (e.g., --max_cpus or --max_memory).
custom.config
process {
resourceLimits = [
cpus: 8,
memory: 14.GB
]
}
nextflow run doh-jdj0303/vaper \
-r v2.0 \
-c custom.config \
-profile docker \
--input samplesheet.csv \
--outdir results
Resuming a run
Nextflow can resume a run. This comes in handy when a workflow fails or when you need to make small parameter adjustments. Below is an example of how you can resume a workflow run:
nextflow run doh-jdj0303/vaper \
-r v2.0 \
-profile docker \
--input samplesheet.csv \
--outdir results \
-resume
Testing VAPER
Verify that VAPER is running properly using the command below. Update -profile to your preferred container engine.
nextflow run doh-jdj0303/vaper \
-r v2.0 \
-profile (docker|podman|apptainer|singularity),test \
--outdir vaper_test
You can learn more about how the test configuration here
Basic Usage
In-depth overviews of inputs and outputs are available. All other questions / issues should be submitted via the VAPER GitHub issues page or by email.