Skip to content

Commit 5c21bf5

Browse files
authored
Merge pull request nf-core#571 from MaxUlysse/QCTools
Only one container for all QC tools
2 parents 6d325ae + 24f91de commit 5c21bf5

11 files changed

Lines changed: 33 additions & 108 deletions

File tree

buildContainers.nf

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -178,21 +178,18 @@ def grabRevision() {
178178
def defineContainersList(){
179179
// Return list of authorized containers
180180
return [
181-
'fastqc',
182181
'freebayes',
183182
'gatk',
184183
'igvtools',
185-
'multiqc',
186184
'mutect1',
187185
'picard',
188-
'qualimap',
186+
'qctools',
189187
'r-base',
190188
'runallelecount',
191189
'sarek',
192190
'snpeff',
193191
'snpeffgrch37',
194192
'snpeffgrch38',
195-
'vcftools',
196193
'vepgrch37',
197194
'vepgrch38'
198195
]
@@ -211,9 +208,9 @@ def helpMessage() {
211208
log.info " --containers: Choose which containers to build"
212209
log.info " Default: all"
213210
log.info " Possible values:"
214-
log.info " all, fastqc, freebayes, gatk, igvtools, multiqc, mutect1"
215-
log.info " picard, qualimap, r-base, runallelecount, sarek, snpeff"
216-
log.info " snpeffgrch37, snpeffgrch38, vcftools, vepgrch37, vepgrch38"
211+
log.info " all, freebayes, gatk, igvtools, mutect1, picard, qctools"
212+
log.info " r-base, runallelecount, sarek, snpeff"
213+
log.info " snpeffgrch37, snpeffgrch38, vepgrch37, vepgrch38"
217214
log.info " --docker: Build containers using Docker"
218215
log.info " --help"
219216
log.info " you're reading it"

configuration/containers.config

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@ process {
2222
$RecalibrateBam.container = "${params.repository}/gatk:${params.tag}"
2323
$RunAlleleCount.container = "${params.repository}/runallelecount:${params.tag}"
2424
$RunAscat.container = "${params.repository}/r-base:${params.tag}"
25-
$RunBamQC.container = "${params.repository}/qualimap:${params.tag}"
25+
$RunBamQC.container = "${params.repository}/qctools:${params.tag}"
2626
$RunBcftoolsStats.container = "${params.repository}/sarek:${params.tag}"
2727
$RunConvertAlleleCounts.container = "${params.repository}/r-base:${params.tag}"
28-
$RunFastQC.container = "${params.repository}/fastqc:${params.tag}"
28+
$RunFastQC.container = "${params.repository}/qctools:${params.tag}"
2929
$RunFreeBayes.container = "${params.repository}/freebayes:${params.tag}"
3030
$RunGenotypeGVCFs.container = "${params.repository}/gatk:${params.tag}"
3131
$RunHaplotypecaller.container = "${params.repository}/gatk:${params.tag}"
3232
$RunManta.container = "${params.repository}/sarek:${params.tag}"
33-
$RunMultiQC.container = "${params.repository}/multiqc:${params.tag}"
33+
$RunMultiQC.container = "${params.repository}/qctools:${params.tag}"
3434
$RunMutect1.container = "${params.repository}/mutect1:${params.tag}"
3535
$RunMutect2.container = "${params.repository}/gatk:${params.tag}"
3636
$RunSamtoolsStats.container = "${params.repository}/sarek:${params.tag}"
@@ -39,6 +39,6 @@ process {
3939
$RunSnpeff.container = {params.genome == 'GRCh38' ? "${params.repository}/snpeffgrch38:${params.tag}" : "${params.repository}/snpeffgrch37:${params.tag}"}
4040
$RunStrelka.container = "${params.repository}/sarek:${params.tag}"
4141
$RunStrelkaBP.container = "${params.repository}/sarek:${params.tag}"
42-
$RunVcftools.container = "${params.repository}/vcftools:${params.tag}"
42+
$RunVcftools.container = "${params.repository}/qctools:${params.tag}"
4343
$RunVEP.container = {params.genome == 'GRCh38' ? "${params.repository}/vepgrch38:${params.tag}" : "${params.repository}/vepgrch37:${params.tag}"}
4444
}

configuration/singularity-path.config

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ process {
1919
$BuildVCFIndex.container = "${params.containerPath}/igvtools-${params.tag}.img"
2020
$ConcatVCF.container = "${params.containerPath}/sarek-${params.tag}.img"
2121
$CreateRecalibrationTable.container = "${params.containerPath}/gatk-${params.tag}.img"
22-
$GenerateMultiQCconfig.container = "${params.containerPath}/multiqc-${params.tag}.img"
22+
$GenerateMultiQCconfig.container = "${params.containerPath}/qctools-${params.tag}.img"
2323
$IndelRealigner.container = "${params.containerPath}/gatk-${params.tag}.img"
2424
$MapReads.container = "${params.containerPath}/sarek-${params.tag}.img"
2525
$MarkDuplicates.container = "${params.containerPath}/picard-${params.tag}.img"
@@ -28,15 +28,15 @@ process {
2828
$RecalibrateBam.container = "${params.containerPath}/gatk-${params.tag}.img"
2929
$RunAlleleCount.container = "${params.containerPath}/runallelecount-${params.tag}.img"
3030
$RunAscat.container = "${params.containerPath}/r-base-${params.tag}.img"
31-
$RunBamQC.container = "${params.containerPath}/qualimap-${params.tag}.img"
31+
$RunBamQC.container = "${params.containerPath}/qctools-${params.tag}.img"
3232
$RunBcftoolsStats.container = "${params.containerPath}/sarek-${params.tag}.img"
3333
$RunConvertAlleleCounts.container = "${params.containerPath}/r-base-${params.tag}.img"
34-
$RunFastQC.container = "${params.containerPath}/fastqc-${params.tag}.img"
34+
$RunFastQC.container = "${params.containerPath}/qctools-${params.tag}.img"
3535
$RunFreeBayes.container = "${params.containerPath}/freebayes-${params.tag}.img"
3636
$RunGenotypeGVCFs.container = "${params.containerPath}/gatk-${params.tag}.img"
3737
$RunHaplotypecaller.container = "${params.containerPath}/gatk-${params.tag}.img"
3838
$RunManta.container = "${params.containerPath}/sarek-${params.tag}.img"
39-
$RunMultiQC.container = "${params.containerPath}/multiqc-${params.tag}.img"
39+
$RunMultiQC.container = "${params.containerPath}/qctools-${params.tag}.img"
4040
$RunMutect1.container = "${params.containerPath}/mutect1-${params.tag}.img"
4141
$RunMutect2.container = "${params.containerPath}/gatk-${params.tag}.img"
4242
$RunSamtoolsStats.container = "${params.containerPath}/sarek-${params.tag}.img"
@@ -45,6 +45,6 @@ process {
4545
$RunSnpeff.container = {params.genome == 'GRCh38' ? "${params.containerPath}/snpeffgrch38-${params.tag}.img" : "${params.containerPath}/snpeffgrch37-${params.tag}.img"}
4646
$RunStrelka.container = "${params.containerPath}/sarek-${params.tag}.img"
4747
$RunStrelkaBP.container = "${params.containerPath}/sarek-${params.tag}.img"
48-
$RunVcftools.container = "${params.containerPath}/vcftools-${params.tag}.img"
48+
$RunVcftools.container = "${params.containerPath}/qctools-${params.tag}.img"
4949
$RunVEP.container = {params.genome == 'GRCh38' ? "${params.containerPath}/vepgrch38-${params.tag}.img" : "${params.containerPath}/vepgrch37-${params.tag}.img"}
5050
}

containers/fastqc/Dockerfile

Lines changed: 0 additions & 24 deletions
This file was deleted.

containers/multiqc/Dockerfile

Lines changed: 0 additions & 6 deletions
This file was deleted.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ FROM nfcore/base:latest
22

33
LABEL \
44
author="Maxime Garcia" \
5-
description="vcftools image used in Sarek 2.0" \
5+
description="Image with QC tools used in Sarek" \
66
maintainer="maxime.garcia@scilifelab.se"
77

88
COPY environment.yml /
@@ -12,4 +12,4 @@ RUN \
1212
conda clean -a
1313

1414
# Export PATH
15-
ENV PATH /opt/conda/envs/sarek-vcftools-2.0/bin:$PATH
15+
ENV PATH /opt/conda/envs/sarek-qctools-2.0/bin:$PATH
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
# You can use this file to create a conda environment:
22
# conda env create -f environment.yml
3-
name: sarek-vcftools-2.0
3+
name: sarek-qctools-2.0
44
channels:
5-
- defaults
6-
- conda-forge
75
- bioconda
6+
- conda-forge
7+
- defaults
88
dependencies:
9-
- vcftools=0.1.15
9+
- conda-forge::openjdk=8.0.144
10+
- fastqc=0.11.7
11+
- multiqc=1.5
12+
- qualimap=2.2.2a
13+
- vcftools=0.1.15

containers/qualimap/Dockerfile

Lines changed: 0 additions & 25 deletions
This file was deleted.

doc/CONTAINERS.md

Lines changed: 7 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,18 @@
33
Subsets of all containers can be dowloaded:
44

55
For processing + germline variant calling + Reports:
6-
- [fastqc](#fastqc-)
76
- [gatk](#gatk-)
8-
- [multiqc](#multiqc-)
97
- [picard](#picard-)
10-
- [qualimap](#qualimap-)
118
- [sarek](#sarek-)
12-
- [vcftools](#vcftools-)
139

1410
For processing + somatic variant calling + Reports:
15-
- [fastqc](#fastqc-)
1611
- [freebayes](#freebayes-)
1712
- [gatk](#gatk-)
18-
- [multiqc](#multiqc-)
1913
- [mutect1](#mutect1-)
2014
- [picard](#picard-)
21-
- [qualimap](#qualimap-)
2215
- [r-base](#r-base-)
2316
- [runallelecount](#runallelecount-)
2417
- [sarek](#sarek-)
25-
- [vcftools](#vcftools-)
2618

2719
For annotation for GRCh37, you will need:
2820
- [snpeffgrch37](#snpeffgrch37-)
@@ -34,11 +26,6 @@ For annotation for GRCh38, you will need:
3426

3527
A container named after the process is made for each process. If a container can be reused, it will be named after the tool used.
3628

37-
## fastqc [![fastqc-docker status][fastqc-docker-badge]][fastqc-docker-link]
38-
39-
- Based on `openjdk:8`
40-
- Contain **[FastQC][fastqc-link]** 0.11.5
41-
4229
## freebayes [![freebayes-docker status][freebayes-docker-badge]][freebayes-docker-link]
4330

4431
- Based on `debian:8.6`
@@ -54,11 +41,6 @@ A container named after the process is made for each process. If a container can
5441
- Based on `openjdk:8-slim`
5542
- Contain **[IGVTools][igvtools-link]** 2.3.98
5643

57-
## multiqc [![multiqc-docker status][multiqc-docker-badge]][multiqc-docker-link]
58-
59-
- Based on `ewels/multiqc:v1.4`
60-
- Contain **[MultiQC][multiqc-link]** 143
61-
6244
## mutect1 [![mutect1-docker status][mutect1-docker-badge]][mutect1-docker-link]
6345

6446
- Based on `openjdk:7-slim`
@@ -69,10 +51,13 @@ A container named after the process is made for each process. If a container can
6951
- Based on `openjdk:8-slim`
7052
- Contain **[Picard][picard-link]** 2.0.1
7153

72-
## qualimap [![qualimap-docker status][qualimap-docker-badge]][qualimap-docker-link]
54+
## qctools [![qctools-docker status][qctools-docker-badge]][qctools-docker-link]
7355

74-
- Based on `openjdk:8`
56+
- Based on `nfcore/base:latest`
57+
- Contain **[FastQC][fastqc-link]** 0.11.7
58+
- Contain **[MultiQC][multiqc-link]** 1.5
7559
- Contain **[qualimap][qualimap-link]** 2.2.1
60+
- Contain **[vcftools][vcftools-link]** 0.1.15
7661

7762
## runallelecount [![runallelecount-docker status][runallelecount-docker-badge]][runallelecount-docker-link]
7863

@@ -106,12 +91,6 @@ A container named after the process is made for each process. If a container can
10691
- Contain **[snpEff][snpeff-link]** 4.3i
10792
- Contain GRCh38.86
10893

109-
## vcftools [![vcftools-docker status][vcftools-docker-badge]][vcftools-docker-link]
110-
111-
- Based on `nfcore/base:latest`
112-
- Contain **[vcftools][vcftools-link]** 0.1.15
113-
114-
11594
## vepgrch37 [![vepgrch37-docker status][vepgrch37-docker-badge]][vepgrch37-docker-link]
11695

11796
- Based on `willmclaren/ensembl-vep:release_90.6`
@@ -157,8 +136,8 @@ A container named after the process is made for each process. If a container can
157136
[picard-docker-badge]: https://img.shields.io/docker/automated/maxulysse/picard.svg
158137
[picard-docker-link]: https://hub.docker.com/r/maxulysse/picard
159138
[picard-link]: https://github.com/broadinstitute/picard
160-
[qualimap-docker-badge]: https://img.shields.io/docker/automated/maxulysse/qualimap.svg
161-
[qualimap-docker-link]: https://hub.docker.com/r/maxulysse/qualimap
139+
[qctools-docker-badge]: https://img.shields.io/docker/automated/maxulysse/qctools.svg
140+
[qctools-docker-link]: https://hub.docker.com/r/maxulysse/qctools
162141
[qualimap-link]: http://qualimap.bioinfo.cipf.es
163142
[rcolorbrewer-link]: https://CRAN.R-project.org/package=RColorBrewer
164143
[runallelecount-docker-badge]: https://img.shields.io/docker/automated/maxulysse/runallelecount.svg

scripts/do_all.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ function toLower() {
5757

5858
if [[ $TOOL = docker ]] && [[ GRCh37,GRCh38 =~ $GENOME ]]
5959
then
60-
nextflow run buildContainers.nf -profile ${PROFILE} --verbose --docker ${PUSH} --repository ${REPOSITORY} --tag ${TAG} --containers fastqc,freebayes,gatk,igvtools,multiqc,mutect1,picard,qualimap,r-base,runallelecount,sarek,snpeff,vcftools
60+
nextflow run buildContainers.nf -profile ${PROFILE} --verbose --docker ${PUSH} --repository ${REPOSITORY} --tag ${TAG} --containers freebayes,gatk,igvtools,mutect1,picard,qctools,r-base,runallelecount,sarek,snpeff
6161
nextflow run buildContainers.nf -profile ${PROFILE} --verbose --docker ${PUSH} --repository ${REPOSITORY} --tag ${TAG} --containers snpeff$(toLower ${GENOME}),vep$(toLower ${GENOME})
6262
else
63-
nextflow run buildContainers.nf -profile ${PROFILE} --verbose --singularity --repository ${REPOSITORY} --tag ${TAG} --containerPath containers/ --containers fastqc,freebayes,gatk,igvtools,multiqc,mutect1,picard,qualimap,r-base,runallelecount,sarek,snpeff$(toLower ${GENOME}),vcftools,vep$(toLower ${GENOME})
63+
nextflow run buildContainers.nf -profile ${PROFILE} --verbose --singularity --repository ${REPOSITORY} --tag ${TAG} --containerPath containers/ --containers freebayes,gatk,igvtools,mutect1,picard,qctools,r-base,runallelecount,sarek,snpeff$(toLower ${GENOME}),vep$(toLower ${GENOME})
6464
fi

0 commit comments

Comments
 (0)