Installation Guide¶
Requirements¶
System Requirements¶
Nextflow >= v23.04.2
One of the following dependency management systems:
Conda
A Nextflow supported Container Runtime:
Apptainer
Singularity CE
Docker
Podman
Sarus
DRAM databases (preformatted and downloaded via Globus)
On many HPC systems, Nextflow, Conda, and some container runtime (usually Singularity or Apptainer) are already installed. If you are using a local system, you will need to install Nextflow and Conda or a container runtime. On an HPC system, these tools are often loaded with modules. Refer to your HPC system’s documentation for instructions on how to load modules.
Installation Steps¶
1. Install Nextflow¶
If you do not have Nextflow installed, you have two options:
Option A: Direct Installation¶
Follow the instructions from the Nextflow documentation page.
Option B: Conda Installation (Recommended)¶
Install Nextflow within a conda environment to ensure all dependencies (including Java) are properly installed:
conda create --name env_nf nextflow -c bioconda
conda activate env_nf
2. Install Container Runtime (Optional)¶
If you choose to use a container runtime, make sure you have it installed, working, and available in your PATH. You can verify the installation by running:
# For Apptainer
apptainer --version
# For Singularity
singularity --version
# For Docker
docker --version
# For Podman
podman --version
# For Sarus
sarus --version
If you do not have a container runtime installed, see the nf-core documentation for installation instructions.
3. Setup DRAM¶
Create a DRAM directory:
mkdir DRAM
cd DRAM
Download the DRAM databases:
You only need to download the databases you plan to use
Access the databases through Globus (UUID: 97ed64b9-dea0-4eb5-a7e0-0b50ac94e889)
You will need a Globus account to access and download the data
Two options for downloading:
Using Globus Web UI: Download databases individually
Using Globus Connect Personal: Transfer whole folders at once (recommended for bulk transfers)
The disk space required depends on which databases you choose to download
The download consists of a database folder containing all preformatted databases with the description database
Configure DRAM:
Download the default configuration file:
curl -o nextflow.config https://raw.githubusercontent.com/WrightonLabCSU/DRAM/refs/heads/dev/nextflow.config
This file can be customized to change:
Database locations
Container runtime settings
SLURM options
Other profile options
4. Install and Update DRAM¶
Initial Installation¶
Install DRAM using Nextflow:
nextflow pull WrightonLabCSU/DRAM -r dev
Note: Once DRAM v2 is out of development, the -r dev flag will be removed and the command will be simply:
nextflow pull WrightonLabCSU/DRAM
Updating DRAM¶
To update DRAM, rerun the pull command:
nextflow pull WrightonLabCSU/DRAM
To pull a specific branch or version tag:
nextflow pull WrightonLabCSU/DRAM -r <branch_or_tag>
Note: Only version tags >= 2 are supported. Pre-version 2 releases were before Nextflow was used.
Dependency Management¶
DRAM uses Nextflow to handle all dependency management automatically. When you first run DRAM, it will:
Download all required dependencies based on your chosen profile (conda, singularity, docker, etc.)
Cache these dependencies for future use
No additional Python packages or environment setup is needed
Important Notes¶
Installation Location¶
Nextflow installs all pipeline scripts by default in $HOME/.nextflow/assets/WrightonLabCSU/DRAM. If you’re running DRAM on a shared system, you may want to install it in a shared directory.
Custom Installation Location¶
To install DRAM in a custom location:
Clone the DRAM repository to your desired location
Run the pipeline by specifying the path:
nextflow run <path/to/DRAM> <options>
Custom Configuration¶
To use a custom nextflow.config file:
nextflow run <path/to/DRAM>/main.nf -c <path/to/custom/nextflow.config> <options>
Verification¶
To verify your installation, you can run a test command:
nextflow run DRAM --help
This should display the help message with all available options.