diff --git a/README.md b/README.md index ed105a2..8551746 100755 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ Nextflow [documentation](http://www.nextflow.io/docs/latest/config.html). RNASeq-NF uses the following software components and tools: -* [Salmon](https://combine-lab.github.io/salmon/) 1.0.0 -* [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/) 0.11.5 -* [Multiqc](https://multiqc.info) 1.5 +* [Salmon](https://combine-lab.github.io/salmon/) +* [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/) +* [MultiQC](https://multiqc.info) diff --git a/conda.yml b/conda.yml index 234f88e..8ed4151 100644 --- a/conda.yml +++ b/conda.yml @@ -1,10 +1,10 @@ name: rnaseq-nf channels: - - defaults + - seqera - bioconda - conda-forge + - defaults dependencies: - # Default bismark - - salmon=1.6.0 - - fastqc=0.11.9 - - multiqc=1.11 + - salmon=1.10.2 + - fastqc=0.12.1 + - multiqc=1.15 diff --git a/docker/Dockerfile b/docker/Dockerfile index 870ccc9..04a0ced 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,9 +1,11 @@ -FROM continuumio/miniconda3:4.10.3 +FROM mambaorg/micromamba +MAINTAINER Paolo Di Tommaso -COPY conda.yml . RUN \ - conda env update -n root -f conda.yml \ -&& conda clean -a - -RUN apt-get install -y procps + micromamba install -y -n base -c defaults -c bioconda -c conda-forge \ + salmon=1.10.2 \ + fastqc=0.12.1 \ + multiqc=1.15 \ + && micromamba clean -a -y +USER root diff --git a/docker/Dockerfile-mamba b/docker/Dockerfile-mamba deleted file mode 100644 index 448ff6e..0000000 --- a/docker/Dockerfile-mamba +++ /dev/null @@ -1,10 +0,0 @@ -FROM mambaorg/micromamba -MAINTAINER Paolo Di Tommaso - -RUN \ - micromamba install -y -n base -c defaults -c bioconda -c conda-forge \ - salmon=1.5.1 \ - fastqc=0.11.9 \ - multiqc=1.10.1 \ - && micromamba clean -a -y - diff --git a/docker/Makefile b/docker/Makefile index 0710860..20e7d23 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -1,4 +1,4 @@ -version ?= v1.1 +version ?= v1.2 all: build push diff --git a/modules/fastqc/main.nf b/modules/fastqc/main.nf index c235b25..cd58cbb 100644 --- a/modules/fastqc/main.nf +++ b/modules/fastqc/main.nf @@ -2,7 +2,7 @@ params.outdir = 'results' process FASTQC { tag "FASTQC on $sample_id" - conda 'bioconda::fastqc=0.11.9' + conda 'fastqc=0.12.1' publishDir params.outdir, mode:'copy' input: diff --git a/modules/index/main.nf b/modules/index/main.nf index 2431721..de55e46 100644 --- a/modules/index/main.nf +++ b/modules/index/main.nf @@ -1,7 +1,7 @@ process INDEX { tag "$transcriptome.simpleName" - conda 'bioconda::salmon=1.6.0' + conda 'salmon=1.10.2' input: path transcriptome diff --git a/modules/multiqc/main.nf b/modules/multiqc/main.nf index 1a5934d..f84e3f0 100644 --- a/modules/multiqc/main.nf +++ b/modules/multiqc/main.nf @@ -1,7 +1,7 @@ params.outdir = 'results' process MULTIQC { - conda 'bioconda::multiqc=1.11' + conda 'multiqc=1.15' publishDir params.outdir, mode:'copy' input: diff --git a/modules/quant/main.nf b/modules/quant/main.nf index bb9fcc4..8459597 100644 --- a/modules/quant/main.nf +++ b/modules/quant/main.nf @@ -1,7 +1,7 @@ process QUANT { tag "$pair_id" - conda 'bioconda::salmon=1.6.0' + conda 'salmon=1.10.2' input: path index diff --git a/nextflow.config b/nextflow.config index 6841ce7..af0a879 100755 --- a/nextflow.config +++ b/nextflow.config @@ -13,17 +13,17 @@ manifest { description = 'Proof of concept of a RNA-seq pipeline implemented with Nextflow' author = 'Paolo Di Tommaso' - nextflowVersion = '>=22.10.0' + nextflowVersion = '>=23.04.0' } /* * default params */ -params.reads = "$baseDir/data/ggal/ggal_gut_{1,2}.fq" -params.transcriptome = "$baseDir/data/ggal/ggal_1_48850000_49020000.Ggal71.500bpflank.fa" params.outdir = "results" -params.multiqc = "$baseDir/multiqc" +params.reads = "${projectDir}/data/ggal/ggal_gut_{1,2}.fq" +params.transcriptome = "${projectDir}/data/ggal/ggal_1_48850000_49020000.Ggal71.500bpflank.fa" +params.multiqc = "${projectDir}/multiqc" /* * defines execution profiles for different environments @@ -31,16 +31,33 @@ params.multiqc = "$baseDir/multiqc" profiles { standard { - process.container = 'quay.io/nextflow/rnaseq-nf:v1.1' + process.container = 'quay.io/nextflow/rnaseq-nf:v1.2' } - + + wave { + wave.enabled = true + docker.enabled = true + conda.channels = 'seqera,bioconda,conda-forge,defaults' + } + docker { - process.container = 'quay.io/nextflow/rnaseq-nf:v1.1' + process.container = 'quay.io/nextflow/rnaseq-nf:v1.2' docker.enabled = true } + + singularity { + process.container = 'quay.io/nextflow/rnaseq-nf:v1.2' + singularity.enabled = true + singularity.autoMounts = true + } + + conda { + conda.enabled = true + conda.channels = 'seqera,bioconda,conda-forge,defaults' + } slurm { - process.container = 'quay.io/nextflow/rnaseq-nf:v1.1' + process.container = 'quay.io/nextflow/rnaseq-nf:v1.2' process.executor = 'slurm' singularity.enabled = true } @@ -48,7 +65,7 @@ profiles { batch { params.reads = 's3://rnaseq-nf/data/ggal/lung_{1,2}.fq' params.transcriptome = 's3://rnaseq-nf/data/ggal/transcript.fa' - process.container = 'quay.io/nextflow/rnaseq-nf:v1.1' + process.container = 'quay.io/nextflow/rnaseq-nf:v1.2' process.executor = 'awsbatch' process.queue = 'nextflow-ci' workDir = 's3://nextflow-ci/work' @@ -57,7 +74,7 @@ profiles { } 's3-data' { - process.container = 'quay.io/nextflow/rnaseq-nf:v1.1' + process.container = 'quay.io/nextflow/rnaseq-nf:v1.2' params.reads = 's3://rnaseq-nf/data/ggal/lung_{1,2}.fq' params.transcriptome = 's3://rnaseq-nf/data/ggal/transcript.fa' } @@ -67,7 +84,7 @@ profiles { params.reads = 'gs://rnaseq-nf/data/ggal/gut_{1,2}.fq' params.multiqc = 'gs://rnaseq-nf/multiqc' process.executor = 'google-lifesciences' - process.container = 'quay.io/nextflow/rnaseq-nf:v1.1' + process.container = 'quay.io/nextflow/rnaseq-nf:v1.2' workDir = 'gs://rnaseq-nf/scratch' // <- replace with your own bucket! google.region = 'europe-west2' } @@ -77,19 +94,19 @@ profiles { params.reads = 'gs://rnaseq-nf/data/ggal/gut_{1,2}.fq' params.multiqc = 'gs://rnaseq-nf/multiqc' process.executor = 'google-batch' - process.container = 'quay.io/nextflow/rnaseq-nf:v1.1' + process.container = 'quay.io/nextflow/rnaseq-nf:v1.2' workDir = 'gs://rnaseq-nf/scratch' // <- replace with your own bucket! google.region = 'europe-west2' } 'gs-data' { - process.container = 'quay.io/nextflow/rnaseq-nf:v1.1' + process.container = 'quay.io/nextflow/rnaseq-nf:v1.2' params.transcriptome = 'gs://rnaseq-nf/data/ggal/transcript.fa' params.reads = 'gs://rnaseq-nf/data/ggal/gut_{1,2}.fq' } azb { - process.container = 'quay.io/nextflow/rnaseq-nf:v1.1' + process.container = 'quay.io/nextflow/rnaseq-nf:v1.2' workDir = 'az://nf-scratch/work' process.executor = 'azurebatch' process.queue = 'nextflow-ci' // replace with your own Azure pool name @@ -109,8 +126,4 @@ profiles { } } } - - conda { - process.conda = "$baseDir/conda.yml" - } } diff --git a/nextflow_schema.json b/nextflow_schema.json index 6f5bf8b..823417a 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -1,92 +1,46 @@ { - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "https://raw.githubusercontent.com/master/nextflow_schema.json", - "title": "Rnaseq-nf pipeline pipeline parameters", - "description": "Proof of concept of a RNA-seq pipeline implemented with Nextflow", - "type": "object", - "definitions": { - "input_output_options": { - "title": "Input/output options", - "type": "object", - "fa_icon": "fas fa-terminal", - "description": "Define where the pipeline should find input data and save output data.", - "properties": { - "transcriptome": { - "type": "string", - "description": "The input transcriptome file", - "fa_icon": "fas fa-folder-open" - }, - "reads": { - "type": "string", - "description": "The input read-pair files", - "fa_icon": "fas fa-folder-open" - }, - "outdir": { - "type": "string", - "description": "The output directory where the results will be saved.", - "default": "./results", - "fa_icon": "fas fa-folder-open" - } - } + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "https://raw.githubusercontent.com/nextflow-io/rnaseq-nf/master/nextflow_schema.json", + "title": "rnaseq-nf pipeline parameters", + "description": "Proof of concept of a RNA-seq pipeline implemented with Nextflow", + "type": "object", + "definitions": { + "input_output_options": { + "title": "Input/output options", + "type": "object", + "fa_icon": "fas fa-terminal", + "description": "Define where the pipeline should find input data and save output data.", + "properties": { + "outdir": { + "type": "string", + "format": "directory-path", + "description": "The output directory where the results will be saved. You have to use absolute paths to storage on Cloud infrastructure.", + "fa_icon": "fas fa-folder-open", + "default": "results" }, - "reference_genome_options": { - "title": "Reference genome options", - "type": "object", - "fa_icon": "fas fa-dna", - "description": "Options for the reference genome indices used to align reads.", - "properties": {} - }, - "generic_options": { - "title": "Generic options", - "type": "object", - "fa_icon": "fas fa-file-import", - "description": "Less common options for the pipeline, typically set in a config file.", - "help_text": "These options are common to all nf-core pipelines and allow you to customise some of the core preferences for how the pipeline runs.\n\nTypically these options would be set in a Nextflow config file loaded for all pipeline runs, such as `~/.nextflow/config`.", - "properties": {} - }, - "max_job_request_options": { - "title": "Max job request options", - "type": "object", - "fa_icon": "fab fa-acquisitions-incorporated", - "description": "Set the top limit for requested resources for any single job.", - "help_text": "If you are running on a smaller system, a pipeline step requesting more resources than are available may cause the Nextflow to stop the run with an error. These options allow you to cap the maximum resources requested by any single job so that the pipeline will run on your system.\n\nNote that you can not _increase_ the resources requested by any job using these options. For that you will need your own configuration file. See [the nf-core website](https://nf-co.re/usage/configuration) for details.", - "properties": {} - }, - "institutional_config_options": { - "title": "Institutional config options", - "type": "object", - "fa_icon": "fas fa-university", - "description": "Parameters used to describe centralised config profiles. These should not be edited.", - "help_text": "The centralised nf-core configuration profiles use a handful of pipeline parameters to describe themselves. This information is then printed to the Nextflow log when you run a pipeline. You should not need to change these values when you run a pipeline.", - "properties": {} - } - }, - "allOf": [ - { - "$ref": "#/definitions/input_output_options" - }, - { - "$ref": "#/definitions/reference_genome_options" - }, - { - "$ref": "#/definitions/generic_options" - }, - { - "$ref": "#/definitions/max_job_request_options" - }, - { - "$ref": "#/definitions/institutional_config_options" - } - ], - "properties": { "reads": { - "type": "string" + "type": "string", + "description": "The input read-pair files", + "fa_icon": "fas fa-folder-open", + "default": "${projectDir}/data/ggal/ggal_gut_{1,2}.fq" }, "transcriptome": { - "type": "string" + "type": "string", + "description": "The input transcriptome file", + "fa_icon": "fas fa-folder-open", + "default": "${projectDir}/data/ggal/ggal_1_48850000_49020000.Ggal71.500bpflank.fa" }, "multiqc": { - "type": "string" + "type": "string", + "fa_icon": "fas fa-folder-open", + "default": "${projectDir}/multiqc" } + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/input_output_options" } + ] }