Skip to content
This repository has been archived by the owner on Jan 27, 2020. It is now read-only.

Commit

Permalink
Merge pull request #571 from MaxUlysse/QCTools
Browse files Browse the repository at this point in the history
Only one container for all QC tools
  • Loading branch information
maxulysse committed Apr 23, 2018
2 parents 62d696c + 86f9d3e commit 635e102
Show file tree
Hide file tree
Showing 11 changed files with 33 additions and 108 deletions.
11 changes: 4 additions & 7 deletions buildContainers.nf
Original file line number Diff line number Diff line change
Expand Up @@ -178,21 +178,18 @@ def grabRevision() {
def defineContainersList(){
// Return list of authorized containers
return [
'fastqc',
'freebayes',
'gatk',
'igvtools',
'multiqc',
'mutect1',
'picard',
'qualimap',
'qctools',
'r-base',
'runallelecount',
'sarek',
'snpeff',
'snpeffgrch37',
'snpeffgrch38',
'vcftools',
'vepgrch37',
'vepgrch38'
]
Expand All @@ -211,9 +208,9 @@ def helpMessage() {
log.info " --containers: Choose which containers to build"
log.info " Default: all"
log.info " Possible values:"
log.info " all, fastqc, freebayes, gatk, igvtools, multiqc, mutect1"
log.info " picard, qualimap, r-base, runallelecount, sarek, snpeff"
log.info " snpeffgrch37, snpeffgrch38, vcftools, vepgrch37, vepgrch38"
log.info " all, freebayes, gatk, igvtools, mutect1, picard, qctools"
log.info " r-base, runallelecount, sarek, snpeff"
log.info " snpeffgrch37, snpeffgrch38, vepgrch37, vepgrch38"
log.info " --docker: Build containers using Docker"
log.info " --help"
log.info " you're reading it"
Expand Down
8 changes: 4 additions & 4 deletions configuration/containers.config
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@ process {
$RecalibrateBam.container = "${params.repository}/gatk:${params.tag}"
$RunAlleleCount.container = "${params.repository}/runallelecount:${params.tag}"
$RunAscat.container = "${params.repository}/r-base:${params.tag}"
$RunBamQC.container = "${params.repository}/qualimap:${params.tag}"
$RunBamQC.container = "${params.repository}/qctools:${params.tag}"
$RunBcftoolsStats.container = "${params.repository}/sarek:${params.tag}"
$RunConvertAlleleCounts.container = "${params.repository}/r-base:${params.tag}"
$RunFastQC.container = "${params.repository}/fastqc:${params.tag}"
$RunFastQC.container = "${params.repository}/qctools:${params.tag}"
$RunFreeBayes.container = "${params.repository}/freebayes:${params.tag}"
$RunGenotypeGVCFs.container = "${params.repository}/gatk:${params.tag}"
$RunHaplotypecaller.container = "${params.repository}/gatk:${params.tag}"
$RunManta.container = "${params.repository}/sarek:${params.tag}"
$RunMultiQC.container = "${params.repository}/multiqc:${params.tag}"
$RunMultiQC.container = "${params.repository}/qctools:${params.tag}"
$RunMutect1.container = "${params.repository}/mutect1:${params.tag}"
$RunMutect2.container = "${params.repository}/gatk:${params.tag}"
$RunSamtoolsStats.container = "${params.repository}/sarek:${params.tag}"
Expand All @@ -39,6 +39,6 @@ process {
$RunSnpeff.container = {params.genome == 'GRCh38' ? "${params.repository}/snpeffgrch38:${params.tag}" : "${params.repository}/snpeffgrch37:${params.tag}"}
$RunStrelka.container = "${params.repository}/sarek:${params.tag}"
$RunStrelkaBP.container = "${params.repository}/sarek:${params.tag}"
$RunVcftools.container = "${params.repository}/vcftools:${params.tag}"
$RunVcftools.container = "${params.repository}/qctools:${params.tag}"
$RunVEP.container = {params.genome == 'GRCh38' ? "${params.repository}/vepgrch38:${params.tag}" : "${params.repository}/vepgrch37:${params.tag}"}
}
10 changes: 5 additions & 5 deletions configuration/singularity-path.config
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ process {
$BuildVCFIndex.container = "${params.containerPath}/igvtools-${params.tag}.img"
$ConcatVCF.container = "${params.containerPath}/sarek-${params.tag}.img"
$CreateRecalibrationTable.container = "${params.containerPath}/gatk-${params.tag}.img"
$GenerateMultiQCconfig.container = "${params.containerPath}/multiqc-${params.tag}.img"
$GenerateMultiQCconfig.container = "${params.containerPath}/qctools-${params.tag}.img"
$IndelRealigner.container = "${params.containerPath}/gatk-${params.tag}.img"
$MapReads.container = "${params.containerPath}/sarek-${params.tag}.img"
$MarkDuplicates.container = "${params.containerPath}/picard-${params.tag}.img"
Expand All @@ -28,15 +28,15 @@ process {
$RecalibrateBam.container = "${params.containerPath}/gatk-${params.tag}.img"
$RunAlleleCount.container = "${params.containerPath}/runallelecount-${params.tag}.img"
$RunAscat.container = "${params.containerPath}/r-base-${params.tag}.img"
$RunBamQC.container = "${params.containerPath}/qualimap-${params.tag}.img"
$RunBamQC.container = "${params.containerPath}/qctools-${params.tag}.img"
$RunBcftoolsStats.container = "${params.containerPath}/sarek-${params.tag}.img"
$RunConvertAlleleCounts.container = "${params.containerPath}/r-base-${params.tag}.img"
$RunFastQC.container = "${params.containerPath}/fastqc-${params.tag}.img"
$RunFastQC.container = "${params.containerPath}/qctools-${params.tag}.img"
$RunFreeBayes.container = "${params.containerPath}/freebayes-${params.tag}.img"
$RunGenotypeGVCFs.container = "${params.containerPath}/gatk-${params.tag}.img"
$RunHaplotypecaller.container = "${params.containerPath}/gatk-${params.tag}.img"
$RunManta.container = "${params.containerPath}/sarek-${params.tag}.img"
$RunMultiQC.container = "${params.containerPath}/multiqc-${params.tag}.img"
$RunMultiQC.container = "${params.containerPath}/qctools-${params.tag}.img"
$RunMutect1.container = "${params.containerPath}/mutect1-${params.tag}.img"
$RunMutect2.container = "${params.containerPath}/gatk-${params.tag}.img"
$RunSamtoolsStats.container = "${params.containerPath}/sarek-${params.tag}.img"
Expand All @@ -45,6 +45,6 @@ process {
$RunSnpeff.container = {params.genome == 'GRCh38' ? "${params.containerPath}/snpeffgrch38-${params.tag}.img" : "${params.containerPath}/snpeffgrch37-${params.tag}.img"}
$RunStrelka.container = "${params.containerPath}/sarek-${params.tag}.img"
$RunStrelkaBP.container = "${params.containerPath}/sarek-${params.tag}.img"
$RunVcftools.container = "${params.containerPath}/vcftools-${params.tag}.img"
$RunVcftools.container = "${params.containerPath}/qctools-${params.tag}.img"
$RunVEP.container = {params.genome == 'GRCh38' ? "${params.containerPath}/vepgrch38-${params.tag}.img" : "${params.containerPath}/vepgrch37-${params.tag}.img"}
}
24 changes: 0 additions & 24 deletions containers/fastqc/Dockerfile

This file was deleted.

6 changes: 0 additions & 6 deletions containers/multiqc/Dockerfile

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ FROM nfcore/base:latest

LABEL \
author="Maxime Garcia" \
description="vcftools image used in Sarek 2.0" \
description="Image with QC tools used in Sarek" \
maintainer="maxime.garcia@scilifelab.se"

COPY environment.yml /
Expand All @@ -12,4 +12,4 @@ RUN \
conda clean -a

# Export PATH
ENV PATH /opt/conda/envs/sarek-vcftools-2.0/bin:$PATH
ENV PATH /opt/conda/envs/sarek-qctools-2.0/bin:$PATH
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
# You can use this file to create a conda environment:
# conda env create -f environment.yml
name: sarek-vcftools-2.0
name: sarek-qctools-2.0
channels:
- defaults
- conda-forge
- bioconda
- conda-forge
- defaults
dependencies:
- vcftools=0.1.15
- conda-forge::openjdk=8.0.144
- fastqc=0.11.7
- multiqc=1.5
- qualimap=2.2.2a
- vcftools=0.1.15
25 changes: 0 additions & 25 deletions containers/qualimap/Dockerfile

This file was deleted.

35 changes: 7 additions & 28 deletions doc/CONTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,18 @@
Subsets of all containers can be dowloaded:

For processing + germline variant calling + Reports:
- [fastqc](#fastqc-)
- [gatk](#gatk-)
- [multiqc](#multiqc-)
- [picard](#picard-)
- [qualimap](#qualimap-)
- [sarek](#sarek-)
- [vcftools](#vcftools-)

For processing + somatic variant calling + Reports:
- [fastqc](#fastqc-)
- [freebayes](#freebayes-)
- [gatk](#gatk-)
- [multiqc](#multiqc-)
- [mutect1](#mutect1-)
- [picard](#picard-)
- [qualimap](#qualimap-)
- [r-base](#r-base-)
- [runallelecount](#runallelecount-)
- [sarek](#sarek-)
- [vcftools](#vcftools-)

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

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.

## fastqc [![fastqc-docker status][fastqc-docker-badge]][fastqc-docker-link]

- Based on `openjdk:8`
- Contain **[FastQC][fastqc-link]** 0.11.5

## freebayes [![freebayes-docker status][freebayes-docker-badge]][freebayes-docker-link]

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

## multiqc [![multiqc-docker status][multiqc-docker-badge]][multiqc-docker-link]

- Based on `ewels/multiqc:v1.4`
- Contain **[MultiQC][multiqc-link]** 143

## mutect1 [![mutect1-docker status][mutect1-docker-badge]][mutect1-docker-link]

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

## qualimap [![qualimap-docker status][qualimap-docker-badge]][qualimap-docker-link]
## qctools [![qctools-docker status][qctools-docker-badge]][qctools-docker-link]

- Based on `openjdk:8`
- Based on `nfcore/base:latest`
- Contain **[FastQC][fastqc-link]** 0.11.7
- Contain **[MultiQC][multiqc-link]** 1.5
- Contain **[qualimap][qualimap-link]** 2.2.1
- Contain **[vcftools][vcftools-link]** 0.1.15

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

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

## vcftools [![vcftools-docker status][vcftools-docker-badge]][vcftools-docker-link]

- Based on `nfcore/base:latest`
- Contain **[vcftools][vcftools-link]** 0.1.15


## vepgrch37 [![vepgrch37-docker status][vepgrch37-docker-badge]][vepgrch37-docker-link]

- Based on `willmclaren/ensembl-vep:release_90.6`
Expand Down Expand Up @@ -157,8 +136,8 @@ A container named after the process is made for each process. If a container can
[picard-docker-badge]: https://img.shields.io/docker/automated/maxulysse/picard.svg
[picard-docker-link]: https://hub.docker.com/r/maxulysse/picard
[picard-link]: https://github.com/broadinstitute/picard
[qualimap-docker-badge]: https://img.shields.io/docker/automated/maxulysse/qualimap.svg
[qualimap-docker-link]: https://hub.docker.com/r/maxulysse/qualimap
[qctools-docker-badge]: https://img.shields.io/docker/automated/maxulysse/qctools.svg
[qctools-docker-link]: https://hub.docker.com/r/maxulysse/qctools
[qualimap-link]: http://qualimap.bioinfo.cipf.es
[rcolorbrewer-link]: https://CRAN.R-project.org/package=RColorBrewer
[runallelecount-docker-badge]: https://img.shields.io/docker/automated/maxulysse/runallelecount.svg
Expand Down
4 changes: 2 additions & 2 deletions scripts/do_all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ function toLower() {

if [[ $TOOL = docker ]] && [[ GRCh37,GRCh38 =~ $GENOME ]]
then
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
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
nextflow run buildContainers.nf -profile ${PROFILE} --verbose --docker ${PUSH} --repository ${REPOSITORY} --tag ${TAG} --containers snpeff$(toLower ${GENOME}),vep$(toLower ${GENOME})
else
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})
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})
fi
2 changes: 1 addition & 1 deletion scripts/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,6 @@ fi

if [[ ALL,BUILDCONTAINERS =~ $TEST ]] && [[ $PROFILE == docker ]]
then
nf_test buildContainers.nf --docker --containers fastqc,gatk,igvtools,multiqc,mutect1,picard,qualimap,runallelecount,r-base,snpeff,sarek
nf_test buildContainers.nf --docker --containers gatk,igvtools,mutect1,picard,qctools,runallelecount,r-base,snpeff,sarek
clean_repo
fi

0 comments on commit 635e102

Please sign in to comment.