Skip to content
Snippets Groups Projects
Verified Commit a366ef20 authored by Laurent Modolo's avatar Laurent Modolo
Browse files

MultiQC: add nf, test, and fix Dockerfile

parent 47f170cd
No related branches found
No related tags found
No related merge requests found
......@@ -6,10 +6,16 @@ ENV PACKAGES build-essential=12.4* \
python3-pip=9.0.1* \
python3-setuptools=39.0.1* \
python3-dev=3.6.5* \
python3-wheel=0.30.0*
python3-wheel=0.30.0* \
locales
RUN apt-get update && \
apt-get install -y --no-install-recommends ${PACKAGES} && \
apt-get clean
RUN locale-gen en_US.UTF-8
ENV LC_ALL=en_US.utf-8
ENV LANG=en_US.utf-8
RUN pip3 install multiqc==${MULTIQC_VERSION}
profiles {
docker {
docker.temp = 'auto'
docker.enabled = true
process {
$fastqc_fastq {
container = "fastqc:0.11.5"
}
$multiqc {
container = "multiqc:1.0"
}
}
}
sge {
process{
$fastqc_fastq {
beforeScript = "module purge; module load FastQC/0.11.5"
executor = "sge"
cpus = 1
memory = "5GB"
time = "6h"
queueSize = 1000
pollInterval = '60sec'
queue = 'monointeldeb128'
}
$multiqc {
beforeScript = "module purge; module load FastQC/1.0"
executor = "sge"
cpus = 1
memory = "5GB"
time = "6h"
queueSize = 1000
pollInterval = '60sec'
queue = 'monointeldeb128'
}
}
}
}
/*
* multiqc :
* Imputs : report files
* Output : multiqc report
*/
/* MultiQC */
process multiqc {
tag "$repport.baseName"
publishDir "results/fastq/multiqc/", mode: 'copy'
cpus = 1
input:
file repport from fastqc_repport.collect()
output:
file "*multiqc_*" into multiqc_report
script:
"""
multiqc -f .
"""
}
params.fastq = "$baseDir/data/fastq/*_{1,2}.fastq"
log.info "fastq files : ${params.fastq}"
Channel
.fromFilePairs( params.fastq )
.ifEmpty { error "Cannot find any fastq files matching: ${params.fastq}" }
.set { fastq_files }
process fastqc_fastq {
tag "$pair_id"
publishDir "results/fastq/fastqc/", mode: 'copy'
input:
set pair_id, file(reads) from fastq_files
output:
file "*.{zip,html}" into fastqc_repport
script:
"""
fastqc --quiet --threads ${task.cpus} --format fastq --outdir ./ \
${reads[0]} ${reads[1]}
"""
}
process multiqc {
tag "$repport[0].baseName"
publishDir "results/fastq/multiqc/", mode: 'copy'
cpus = 1
input:
file repport from fastqc_repport.collect()
output:
file "*multiqc_*" into multiqc_report
script:
"""
multiqc -f .
"""
}
params.fastq = "$baseDir/data/fastq/*.fastq"
log.info "fastq files : ${params.fastq}"
Channel
.fromPath( params.fastq )
.ifEmpty { error "Cannot find any fastq files matching: ${params.fastq}" }
.set { fastq_files }
process fastqc_fastq {
tag "$reads.baseName"
publishDir "results/fastq/fastqc/", mode: 'copy'
cpus = 1
input:
file reads from fastq_files
output:
file "*.{zip,html}" into fastqc_repport
script:
"""
fastqc --quiet --threads ${task.cpus} --format fastq --outdir ./ ${reads}
"""
}
process multiqc {
tag "$repport[0].baseName"
publishDir "results/fastq/multiqc/", mode: 'copy'
cpus = 1
input:
file repport from fastqc_repport.collect()
output:
file "*multiqc_*" into multiqc_report
script:
"""
multiqc -f .
"""
}
nextflow src/nf_modules/MultiQC/tests/multiqc_paired.nf \
-c src/nf_modules/MultiQC/multiqc.config \
-profile docker \
--fastq "data/tiny_dataset/fastq/tiny_R{1,2}.fastq"
nextflow src/nf_modules/MultiQC/tests/multiqc_single.nf \
-c src/nf_modules/MultiQC/multiqc.config \
-profile docker \
--fastq "data/tiny_dataset/fastq/tiny_S.fastq"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment