From cbd23ab657eb28ecb515824d97fadf5144eed196 Mon Sep 17 00:00:00 2001 From: Laurent Modolo <laurent.modolo@ens-lyon.fr> Date: Fri, 1 Mar 2019 17:19:09 +0100 Subject: [PATCH] Bowtie2: add singularity to nf files --- src/nf_modules/Bowtie2/indexing.config | 18 +++++++++-- src/nf_modules/Bowtie2/indexing.nf | 1 - src/nf_modules/Bowtie2/mapping_paired.config | 11 +++++++ src/nf_modules/Bowtie2/mapping_paired.nf | 1 - src/nf_modules/Bowtie2/mapping_single.config | 11 +++++++ src/nf_modules/Bowtie2/mapping_single.nf | 1 - src/nf_modules/Bowtie2/tests.sh | 30 +++++++++++++++++-- .../Bowtie2/2.3.4.1/Bowtie2.def | 23 ++++++++++++++ .../Bowtie2/2.3.4.1/build.sh | 3 ++ 9 files changed, 90 insertions(+), 9 deletions(-) create mode 100644 src/singularity_modules/Bowtie2/2.3.4.1/Bowtie2.def create mode 100755 src/singularity_modules/Bowtie2/2.3.4.1/build.sh diff --git a/src/nf_modules/Bowtie2/indexing.config b/src/nf_modules/Bowtie2/indexing.config index 434889bc..c53d855a 100644 --- a/src/nf_modules/Bowtie2/indexing.config +++ b/src/nf_modules/Bowtie2/indexing.config @@ -3,21 +3,33 @@ profiles { docker.temp = 'auto' docker.enabled = true process { - withName: mapping_fastq { + withName: index_fasta { container = "bowtie2:2.3.4.1" + cpus = 4 + } + } + } + singularity { + singularity.enabled = true + process { + withName: index_fasta { + container = "file://bin/bowtie2:2.3.4.1.sif" + cpus = 4 } } } psmn { process{ - withName: mapping_fastq { + withName: index_fasta { beforeScript = "source /usr/share/lmod/lmod/init/bash; module use ~/privatemodules" module = "Bowtie2/2.3.4.1" executor = "sge" clusterOptions = "-m e -cwd -V" + cpus = 16 memory = "20GB" time = "12h" - queue = 'monointeldeb128' + queue = 'E5-2670deb128A,E5-2670deb128B,E5-2670deb128C,E5-2670deb128D,E5-2670deb128E,E5-2670deb128F' + penv = 'openmp16' } } } diff --git a/src/nf_modules/Bowtie2/indexing.nf b/src/nf_modules/Bowtie2/indexing.nf index 4f3cde5e..45318049 100644 --- a/src/nf_modules/Bowtie2/indexing.nf +++ b/src/nf_modules/Bowtie2/indexing.nf @@ -9,7 +9,6 @@ Channel process index_fasta { tag "$fasta.baseName" - cpus 4 publishDir "results/mapping/index/", mode: 'copy' input: diff --git a/src/nf_modules/Bowtie2/mapping_paired.config b/src/nf_modules/Bowtie2/mapping_paired.config index 30150ff9..27933c3b 100644 --- a/src/nf_modules/Bowtie2/mapping_paired.config +++ b/src/nf_modules/Bowtie2/mapping_paired.config @@ -5,6 +5,16 @@ profiles { process { withName: mapping_fastq { container = "bowtie2:2.3.4.1" + cpus = 4 + } + } + } + singularity { + singularity.enabled = true + process { + withName: mapping_fastq { + container = "file://bin/bowtie2:2.3.4.1.sif" + cpus = 4 } } } @@ -15,6 +25,7 @@ profiles { module = "Bowtie2/2.3.4.1:SAMtools/1.7" executor = "sge" clusterOptions = "-m e -cwd -V" + cpus = 16 memory = "30GB" time = "24h" queue = 'E5-2670deb128A,E5-2670deb128B,E5-2670deb128C,E5-2670deb128D,E5-2670deb128E,E5-2670deb128F' diff --git a/src/nf_modules/Bowtie2/mapping_paired.nf b/src/nf_modules/Bowtie2/mapping_paired.nf index 7422b143..dc466740 100644 --- a/src/nf_modules/Bowtie2/mapping_paired.nf +++ b/src/nf_modules/Bowtie2/mapping_paired.nf @@ -15,7 +15,6 @@ Channel process mapping_fastq { tag "$pair_id" - cpus 4 publishDir "results/mapping/bams/", mode: 'copy' input: diff --git a/src/nf_modules/Bowtie2/mapping_single.config b/src/nf_modules/Bowtie2/mapping_single.config index 30150ff9..27933c3b 100644 --- a/src/nf_modules/Bowtie2/mapping_single.config +++ b/src/nf_modules/Bowtie2/mapping_single.config @@ -5,6 +5,16 @@ profiles { process { withName: mapping_fastq { container = "bowtie2:2.3.4.1" + cpus = 4 + } + } + } + singularity { + singularity.enabled = true + process { + withName: mapping_fastq { + container = "file://bin/bowtie2:2.3.4.1.sif" + cpus = 4 } } } @@ -15,6 +25,7 @@ profiles { module = "Bowtie2/2.3.4.1:SAMtools/1.7" executor = "sge" clusterOptions = "-m e -cwd -V" + cpus = 16 memory = "30GB" time = "24h" queue = 'E5-2670deb128A,E5-2670deb128B,E5-2670deb128C,E5-2670deb128D,E5-2670deb128E,E5-2670deb128F' diff --git a/src/nf_modules/Bowtie2/mapping_single.nf b/src/nf_modules/Bowtie2/mapping_single.nf index 66676991..1b7954ec 100644 --- a/src/nf_modules/Bowtie2/mapping_single.nf +++ b/src/nf_modules/Bowtie2/mapping_single.nf @@ -15,7 +15,6 @@ Channel process mapping_fastq { tag "$file_id" - cpus 4 publishDir "results/mapping/bams/", mode: 'copy' input: diff --git a/src/nf_modules/Bowtie2/tests.sh b/src/nf_modules/Bowtie2/tests.sh index ab148382..01e349a7 100755 --- a/src/nf_modules/Bowtie2/tests.sh +++ b/src/nf_modules/Bowtie2/tests.sh @@ -1,17 +1,41 @@ ./nextflow src/nf_modules/Bowtie2/indexing.nf \ -c src/nf_modules/Bowtie2/indexing.config \ -profile docker \ - --fasta "data/tiny_dataset/fasta/tiny_v2.fasta" + --fasta "data/tiny_dataset/fasta/tiny_v2.fasta" \ + -resume ./nextflow src/nf_modules/Bowtie2/mapping_single.nf \ -c src/nf_modules/Bowtie2/mapping_single.config \ -profile docker \ --index "data/tiny_dataset/fasta/*.bt2" \ - --fastq "data/tiny_dataset/fastq/tiny*_S.fastq" + --fastq "data/tiny_dataset/fastq/tiny*_S.fastq" \ + -resume ./nextflow src/nf_modules/Bowtie2/mapping_paired.nf \ -c src/nf_modules/Bowtie2/mapping_paired.config \ -profile docker \ --index "data/tiny_dataset/fasta/*.bt2" \ - --fastq "data/tiny_dataset/fastq/tiny*_R{1,2}.fastq" + --fastq "data/tiny_dataset/fastq/tiny*_R{1,2}.fastq" \ + -resume +if [ -x "$(command -v singularity)" ]; then +./nextflow src/nf_modules/Bowtie2/indexing.nf \ + -c src/nf_modules/Bowtie2/indexing.config \ + -profile singularity \ + --fasta "data/tiny_dataset/fasta/tiny_v2.fasta" \ + -resume + +./nextflow src/nf_modules/Bowtie2/mapping_single.nf \ + -c src/nf_modules/Bowtie2/mapping_single.config \ + -profile singularity \ + --index "data/tiny_dataset/fasta/*.bt2" \ + --fastq "data/tiny_dataset/fastq/tiny*_S.fastq" \ + -resume + +./nextflow src/nf_modules/Bowtie2/mapping_paired.nf \ + -c src/nf_modules/Bowtie2/mapping_paired.config \ + -profile singularity \ + --index "data/tiny_dataset/fasta/*.bt2" \ + --fastq "data/tiny_dataset/fastq/tiny*_R{1,2}.fastq" \ + -resume +fi diff --git a/src/singularity_modules/Bowtie2/2.3.4.1/Bowtie2.def b/src/singularity_modules/Bowtie2/2.3.4.1/Bowtie2.def new file mode 100644 index 00000000..73a177e4 --- /dev/null +++ b/src/singularity_modules/Bowtie2/2.3.4.1/Bowtie2.def @@ -0,0 +1,23 @@ +Bootstrap: docker +From: ubuntu:18.04 + +%labels +MAINTAINER Laurent Modolo + +%post +BOWTIE2_VERSION=2.3.4.1 +SAMTOOLS_VERSION=1.7 +PACKAGES="bowtie2=${BOWTIE2_VERSION}* \ +samtools=${SAMTOOLS_VERSION}* \ +perl=5.26.1*" + +apt-get update && \ +apt-get install -y --no-install-recommends ${PACKAGES} && \ +apt-get clean + +%environment +export BOWTIE2_VERSION=2.3.4.1 +export SAMTOOLS_VERSION=1.7 + +%runscript +exec /bin/bash "$@" diff --git a/src/singularity_modules/Bowtie2/2.3.4.1/build.sh b/src/singularity_modules/Bowtie2/2.3.4.1/build.sh new file mode 100755 index 00000000..398fb1c7 --- /dev/null +++ b/src/singularity_modules/Bowtie2/2.3.4.1/build.sh @@ -0,0 +1,3 @@ +#/bin/sh +sudo singularity build --force bin/bowtie2:2.3.4.1.sif src/singularity_modules/Bowtie2/2.3.4.1/Bowtie2.def +singularity sign bin/bowtie2:2.3.4.1.sif -- GitLab