Usage
Usage
Display Help Message
The help
parameter displays the available options and commands.
nextflow run main_AMR++.nf --help
Parameter selection
AMR++ comes with a default selection of parameters to perform a demonstration using example data provided in the "data/" directory. The example command below uses two types of parameters.
nextflow run main_AMR++.nf -profile singularity --pipeline demo
The -profile
parameter only has a single dash (-
), meaning it corresponds to a nextflow-speific parameter and the --pipeline
. Examples of parameters with one dash include -profile
, -resume
, and -config
. Further details on using the profile parameter, which determines how AMR++ runs on a computing cluster, can be found in the configuration document. Below, we'll see how to change the pipeline-specific parameters which are denoted using two dashes (--
), such as --pipeline
and --reads
.
The AMR++ pipeline pulls information from various sources to determine the correct parameters for running the pipeline. AMR++ is written in nextflow and this allows for us to change how the pipeline runs in a variety of ways. This is the order in which nextflow will prioritize parameters it receives.
-
Parameters specified on the command line (--something value)
-
Parameters provided using the -params-file option (params.config by default)
-
Config file specified using the -c my_config option (e.g. config/local.config)
-
The config file named nextflow.config in the current directory
-
The config file named nextflow.config in the workflow project directory
-
The config file $HOME/.nextflow/config
-
Values defined within the pipeline script itself (e.g. main_AMR++.nf)
File Inputs
Set custom sequence data
The reads
parameter accepts sequence files in standard fastq and gz format.
$ nextflow run main_AMR++.nf --reads "data/raw/*_R{1,2}.fastq"
Set host genome
The host
parameter accepts a fasta formatted host genome.
$ nextflow run main_AMR++.nf --host "data/host/chr21.fasta.gz"
Set MEGARes resistance database
The amr
parameter accepts a fasta formatted resistance database. AMR++ is made to work with MEGARes databases and has to have the corresponding --annotation
file in csv format.
$ nextflow run main_AMR++.nf --amr "data/amr/megares_database_v1.02.fasta"
Set MEGARes annotation database
The annotation
parameter accepts a csv formatted annotation database. Note, this must match the resistance database that was used above for the ResistomeAnalyzer and RarefactionAnalyzer steps to work correctly.
$ nextflow run main_AMR++.nf --annotation "data/amr/megares_annotations_v1.02.csv"
Set adapter file
The adapters
parameter accepts a fasta formatted adapter file.
$ nextflow run main_AMR++.nf --adapters "data/adapters/adapters.fa"
File Outputs
Set output and work directories
The --output
parameter writes the results to the specified directory. As a nextflow variable, the -work
parameter only requires one dash and determines where the temporary files will be directed. Upon completing the run, you can delete the temporary file directory.
$ nextflow run main_AMR++.nf --output "test/" -work "work_dir/"
Resume a pipeline run
If the pipeline run is cancelled or stopped for whatever reason, using the same command with the addition of the -resume
flag will attempt to pick up where the pipeline stopped. This "work" directory can take a lot of storage space and we recommend deleting it after completion of the pipeline.
$ nextflow run main_AMR++.nf --output "test/" -work "work_dir/" -resume
Trimming Options
Set custom trimming parameters for trimmomatic
$ nextflow run main_AMR++.nf \
--reads "data/raw/*_R{1,2}.fastq" \
--leading 3 \
--trailing 3 \
--minlen 36 \
--slidingwindow 4 \
--adapters "data/adapters/nextera.fa"
--output "test/"
Algorithm Options
Set custom ResistomeAnalyzer algorithm options
$ nextflow run main_AMR++.nf \
--reads "data/raw/*_R{1,2}.fastq" \
--threshold 80 \
--min 1 \
--max 100 \
--samples 5 \
--skip 5 \
--output "test/"
Set number of threads to use for each process (when possible)
$ nextflow run main_AMR++.nf --threads 8
Run AMR++ with SLURM
Adding the -bg
flag submits AMR++ to the SLURM queue and when combined with a "slurm" profile, jobs will be submitted for each individual process in the pipeline.
nextflow run main_AMR++.nf -profile local_slurm --snp Y -bg > bg-log.out