Nextflow run with docker

Bioworkflow: Collection of bio process and workflows implemented using Nexflow and Groovy.

Authors

  • Ravin Poudel

Installation

Bioworkflow can be installed from::

The Github repository: https://github.com/ravinpoudel/Bioworkflow

Bioworkflow tree structure

πŸ™ tree
── LICENSE
β”œβ”€β”€ README.md
β”œβ”€β”€ data
β”‚Β Β  β”œβ”€β”€ metagenome
β”‚Β Β  └── rnaseq
β”œβ”€β”€ docker
β”‚Β Β  └── Dockerfile
β”œβ”€β”€ main.nf
β”œβ”€β”€ modules
β”‚Β Β  β”œβ”€β”€ process
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ bbtools
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ decontam.nf
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ interleave.nf
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── trim.nf
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ fastqc
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── fastqc.nf
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ multiqc
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── multiqc.nf
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ salmon
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ index.nf
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── quant.nf
β”‚Β Β  β”‚Β Β  └── spades
β”‚Β Β  β”‚Β Β      └── spades_ec.nf
β”‚Β Β  └── workflow
β”‚Β Β      β”œβ”€β”€ metagenome-flow.nf
β”‚Β Β      └── rnaseq-flow.nf
β”œβ”€β”€ nextflow.config
β”œβ”€β”€ nf_functions
β”‚Β Β  β”œβ”€β”€ examples.nf
β”‚Β Β  β”œβ”€β”€ help.nf
β”‚Β Β  β”œβ”€β”€ logMessages.nf
β”‚Β Β  β”œβ”€β”€ paramsCheck.nf
β”‚Β Β  └── processHelp.nf
└── process_config
    β”œβ”€β”€ metagenome-flow.config
    └── rnaseq-flow.config

Dependencies

Dependencies are managed with docker container. Dockerfile

Usage

(base) πŸ™ nextflow run main.nf --help
N E X T F L O W  ~  version 21.04.1
Launching `main.nf` [crazy_miescher] - revision: e413f1e302


 Bioworkflow: Collection of bio process and workflows implemented using Nexflow and Groovy.

Usage:
nextflow run main.nf [--help] [OPTIONS]



OPTIONS:

         # General Parameters -- Mandatory

 --workflow                                 Name of the workfow [RNASEQFLOW, METAGENOMEFLOW]

 --outdir <string>                              Output directory name

 --threads <int>                                Number of threads to use

 --read <string>                                String Pattern to find short reads. Example: SRR6307304_{1,2}.fastq



         # Parameters for running RNASEQ workflow

 --transcript <string>                          Mapping tanscriptome file. Example: transcriptome.fa

 # TASKS RUN:
   --> index
   --> quantification
   --> fastqc
   --> multiqc



         # Parameters for running METAGENOME workflow


 --workflow                                 Name of the workfow [METAGENOMEFLOW]


 # TASKS RUN:
   --> fastqc
   --> multiqc
   --> interleave
   --> decontamination
   --> trimming
   --> cleanqc
   --> cleanmultiqc
   --> spadesEC
   
   # TASKS RUN:
   --> fastqc
   --> multiqc
   --> KneadData
   --> cleanqc
   --> cleanmultiqc
   --> MetaPhlAn2
   --> HUMAnN2


Examples

(base) πŸ™ nextflow run main.nf --examples
N E X T F L O W  ~  version 21.04.1
Launching `main.nf` [suspicious_gilbert] - revision: e413f1e302


Example Usages:

# Running RNASEQ workflow
nextflow run main.nf   --workflow RNASEQFLOW   --outdir results   --threads 4   --reads "/Users/admin/Documents/Bioworkflow/data/rnaseq/gut_{1,2}.fq"   --transcript "/Users/admin/Documents/Bioworkflow/data/ggal/transcriptome.fa"   -with-docker ravin/bioworkflow


# Running METAGENOME workflow
nextflow run main.nf   --workflow METAGENOMEFLOW   --outdir results   --threads 4   --reads "/Users/admin/Documents/Bioworkflow/data/metagenome/F*_R{1,2}.fastq.gz"   -with-docker ravin/bioworkflow


Running RNASEQ workflow

# Running RNASEQ workflow
nextflow run main.nf \
  --workflow RNASEQFLOW \
  --outdir results \
  --threads 4 \
  --reads "/Users/admin/Documents/Bioworkflow/data/rnaseq/gut_{1,2}.fq" \
  --transcript "/Users/admin/Documents/Bioworkflow/data/rnaseq/transcriptome.fa" \
  -with-docker ravin/bioworkflow

Running METAGENOME workflow

# Running METAGENOME workflow
nextflow run main.nf \
  --workflow METAGENOMEFLOW \
  --outdir results \
  --threads 4 \
  --reads "/Users/admin/Documents/Bioworkflow/data/metagenome/F*_R{1,2}.fastq.gz" \
  -with-docker ravin/bioworkflow
  

Getting tools specific help

Bioworkflow allows to pull the offical –help manual for the tools.

# Getting tools specific help
πŸ™ nextflow run main.nf --fastqc_help
πŸ™ nextflow run main.nf --multiqc_help
πŸ™ nextflow run main.nf --bbtools_help