Skip to content

Commit

Permalink
Merge pull request #42 from UMCUGenetics/develop
Browse files Browse the repository at this point in the history
v0.2.0
  • Loading branch information
rernst authored Jul 10, 2020
2 parents 5baa4a6 + 6e9a802 commit 3890843
Show file tree
Hide file tree
Showing 98 changed files with 1,423 additions and 1,200 deletions.
24 changes: 11 additions & 13 deletions BWA-Mapping/bwa-0.7.17_samtools-1.9/Mapping.nf
Original file line number Diff line number Diff line change
@@ -1,27 +1,25 @@


process BWAMapping {
tag {"BWA_Mem ${sample_id} - ${rg_id}"}
tag {"BWA Mem ${sample_id} - ${rg_id}"}
label 'BWA_0_7_17'
label 'BWA_0_7_17_Mem'
clusterOptions = workflow.profile == "sge" ? "-l h_vmem=${params.mem}" : ""
container = 'library://sawibo/default/bioinf-tools:bwa-0.7.17_samtools-1.9'

shell = ['/bin/bash', '-euo', 'pipefail']
input:
tuple sample_id, rg_id, file(fastq: "*")
tuple (sample_id, rg_id, path(fastq))

output:
tuple sample_id, rg_id, file("${rg_id}_sorted.bam"),file("${rg_id}_sorted.bai")
tuple (sample_id, rg_id, path("${rg_id}_sorted.bam"),path("${rg_id}_sorted.bai"), emit: mapped_bams)

script:
def barcode = rg_id.split('_')[1]
def bwa_readgroup = "\"@RG\\tID:${rg_id}\\tSM:${sample_id}\\tPL:ILLUMINA\\tLB:${sample_id}\\tPU:${barcode}\""

def barcode = rg_id.split('_')[1]
def bwa_readgroup = "\"@RG\\tID:${rg_id}\\tSM:${sample_id}\\tPL:ILLUMINA\\tLB:${sample_id}\\tPU:${barcode}\""

"""
set -o pipefail
bwa mem $params.optional -t ${task.cpus} -R $bwa_readgroup $params.genome_fasta $fastq | \
samtools sort > ${rg_id}_sorted.bam
samtools index ${rg_id}_sorted.bam ${rg_id}_sorted.bai
"""
"""
bwa mem $params.optional -t ${task.cpus} -R $bwa_readgroup $params.genome_fasta $fastq | \
samtools sort > ${rg_id}_sorted.bam
samtools index ${rg_id}_sorted.bam ${rg_id}_sorted.bai
"""
}
10 changes: 5 additions & 5 deletions BWA/0.7.17/BWASW.nf
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ process BWASW {
shell = ['/bin/bash', '-euo', 'pipefail']

input:
tuple sample_id, rg_id, file(fastq: "*")
tuple(sample_id, rg_id, path(fastq))

output:
tuple sample_id, rg_id, file("${fastq[0].simpleName}.sam")
tuple(sample_id, rg_id, path("${fastq[0].simpleName}.sam"), emit: sam_file)

script:
"""
bwa bwasw -t ${task.cpus} ${params.optional} ${params.genome} ${fastq} > ${fastq[0].simpleName}.sam
"""
"""
bwa bwasw -t ${task.cpus} ${params.optional} ${params.genome} ${fastq} > ${fastq[0].simpleName}.sam
"""
}
12 changes: 5 additions & 7 deletions BWA/0.7.17/Index.nf
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,14 @@ process Index {
storeDir = index_loc

input:
file(fasta)
path(fasta)

output:

file("${fasta}.{alt,amb,ann,bwt,pac,sa}")
path("${fasta}.{alt,amb,ann,bwt,pac,sa}", emit: bwa_index)


script:
"""
bwa index $params.optional $fasta
"""

"""
bwa index $params.optional $fasta
"""
}
14 changes: 7 additions & 7 deletions BWA/0.7.17/MEM.nf
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@ process MEM {
shell = ['/bin/bash', '-euo', 'pipefail']

input:
tuple sample_id, rg_id, file(fastq: "*")
tuple(sample_id, rg_id, path(fastq))

output:
tuple sample_id, rg_id, file("${fastq[0].simpleName}.sam")
tuple(sample_id, rg_id, path("${fastq[0].simpleName}.sam"), emit: sam_file)

script:
def barcode = rg_id.split('_')[1]
def readgroup = "\"@RG\\tID:${rg_id}\\tSM:${sample_id}\\tPL:ILLUMINA\\tLB:${sample_id}\\tPU:${barcode}\""
def barcode = rg_id.split('_')[1]
def readgroup = "\"@RG\\tID:${rg_id}\\tSM:${sample_id}\\tPL:ILLUMINA\\tLB:${sample_id}\\tPU:${barcode}\""

"""
bwa mem -t ${task.cpus} -R ${readgroup} ${params.optional} ${params.genome} ${fastq} > ${fastq[0].simpleName}.sam
"""
"""
bwa mem -t ${task.cpus} -R ${readgroup} ${params.optional} ${params.genome} ${fastq} > ${fastq[0].simpleName}.sam
"""
}
18 changes: 18 additions & 0 deletions ControlFREEC/11.5/AssessSignificance.nf
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
process AssessSignificance {
tag {"Control Freec AssessSignificance ${sample_id}"}
label 'ControlFreec_11_5'
label 'ControlFreec_11_5_AssessSignificance'
container = 'library://sawibo/default/bioinf-tools:freec11.5'
shell = ['/bin/bash', '-euo', 'pipefail']

input:
tuple(sample_id, path(ratio_file), path(cnv_file))

output:
tuple(sample_id, path("${cnv_file.name}.p.value.txt"), emit: cnv_pvalue)

script:
"""
cat /bin/assess_significance.R | R --slave --args ${cnv_file} ${ratio_file}
"""
}
36 changes: 36 additions & 0 deletions ControlFREEC/11.5/Freec.nf
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
process Freec {
tag {"Control Freec ${sample_id}"}
label 'ControlFreec_11_5'
label 'ControlFreec_11_5_Freec'
//TODO: upload to singularity library
container = 'library://sawibo/default/bioinf-tools:freec11.5'
shell = ['/bin/bash', '-euo', 'pipefail']

input:
tuple(sample_id, path(bam_file), path(bai_file))

output:
tuple(sample_id, path("${bam_file.name}_ratio.txt"), path("${bam_file.name}_CNVs"), emit: cnv)
tuple(sample_id, path("${bam_file.name}_sample.cpn"), path("${bam_file.name}_ratio.BedGraph"), path("${bam_file.name}_info.txt"), emit: other)

script:
def config = "${sample_id}.config"
"""
touch ${config}
echo "[general]" >> ${config}
echo "chrLenFile = ${params.chr_len_file}" >> ${config}
echo "chrFiles = ${params.chr_files}" >> ${config}
echo "gemMappabilityFile = ${params.gem_mappability_file}" >> ${config}
echo "ploidy = ${params.ploidy}" >> ${config}
echo "window = ${params.window}" >> ${config}
echo "telocentromeric = ${params.telocentromeric}" >> ${config}
echo "BedGraphOutput=TRUE" >> ${config}
echo "maxThreads=${task.cpus}" >> ${config}
echo "[sample]" >> ${config}
echo "inputFormat = BAM" >> ${config}
echo "mateFile = ${bam_file}" >> ${config}
freec -conf ${config}
"""
}
18 changes: 18 additions & 0 deletions ControlFREEC/11.5/MakeGraph.nf
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
process MakeGraph {
tag {"Control Freec MakeGraph ${sample_id}"}
label 'ControlFreec_11_5'
label 'ControlFreec_11_5_MakeGraph'
container = 'library://sawibo/default/bioinf-tools:freec11.5'
shell = ['/bin/bash', '-euo', 'pipefail']

input:
tuple(sample_id, path(ratio_file), path(cnv_file))

output:
tuple(sample_id, path("${ratio_file.name}.png"), path("${ratio_file.name}.log2.png"), emit: ratio_png)

script:
"""
cat /bin/makeGraph.R | R --slave --args ${params.ploidy} ${ratio_file}
"""
}
18 changes: 18 additions & 0 deletions ControlFREEC/11.5/MakeKaryotype.nf
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
process MakeKaryotype {
tag {"Control Freec MakeKaryotype ${sample_id}"}
label 'ControlFreec_11_5'
label 'ControlFreec_11_5_MakeKaryotype'
container = 'library://sawibo/default/bioinf-tools:freec11.5'
shell = ['/bin/bash', '-euo', 'pipefail']

input:
tuple(sample_id, path(ratio_file), path(cnv_file))

output:
tuple(sample_id, path("*_karyotype.pdf"), emit: karyotype_pdf)

script:
"""
cat /bin/makeKaryotype.R | R --slave --args ${params.ploidy} ${params.maxlevel} ${params.telocentromeric} ${ratio_file}
"""
}
12 changes: 6 additions & 6 deletions FastQC/0.11.5/FastQC.nf
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
process FastQC {
tag {"FastQC ${sample_id} - ${rg_id}"}
label 'FASTQC_0_11_5'
label 'FastQC_0_11_5'
clusterOptions = workflow.profile == "sge" ? "-l h_vmem=${params.mem}" : ""
container = 'library://sawibo/default/bioinf-tools:fastqc-0.11.5'
shell = ['/bin/bash', '-euo', 'pipefail']

input:
tuple sample_id, rg_id, file(fastq: "*")
tuple (sample_id, rg_id, path(fastq) )

output:
file "*_fastqc.{zip,html}"
path("*_fastqc.{zip,html}", emit: fastqc_reports)

script:
"""
fastqc ${params.optional} -t ${task.cpus} $fastq
"""
"""
fastqc ${params.optional} -t ${task.cpus} $fastq
"""
}
10 changes: 5 additions & 5 deletions FastQC/0.11.8/FastQC.nf
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ process FastQC {
shell = ['/bin/bash', '-euo', 'pipefail']

input:
tuple sample_id, rg_id, file(fastq: "*")
tuple(sample_id, rg_id, path(fastq))

output:
file "*_fastqc.{zip,html}"
path("*_fastqc.{zip,html}", emit: report)

script:
"""
fastqc ${params.optional} -t ${task.cpus} ${fastq}
"""
"""
fastqc ${params.optional} -t ${task.cpus} ${fastq}
"""
}
25 changes: 25 additions & 0 deletions Fastp/0.14.1/Fastp.nf
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
process Fastp {
tag {"Fastp ${sample_id} - ${rg_id}"}
label 'Fastp_0_14_1'
container = 'quay.io/biocontainers/fastp:0.14.1--0'
shell = ['/bin/bash', '-euo', 'pipefail']

input:
tuple(sample_id, rg_id, path(fastq_files))

output:
tuple(sample_id, rg_id, path("*.fastq.gz"), emit: fastqs_cleaned)
path("${sample_id}_fastp.json", emit: qc_report)

script:
//adapted from https://github.com/nf-core/eager/blob/master/LICENSE, Copyright (c) Alexander Peltzer, Stephen Clayton, James A. Fellows Yates, Maxime Borry
if (params.singleEnd) {
"""
fastp --in1 ${fastq_files[0]} --out1 "${fastq_files[0].simpleName}.trim.fastq.gz" -j ${sample_id}_fastp.json ${params.optional}
"""
} else {
"""
fastp --in1 ${fastq_files[0]} --in2 ${fastq_files[1]} --out1 "${fastq_files[0].simpleName}.trim.fastq.gz" --out2 "${fastq_files[1].simpleName}.trim.fastq.gz" -j ${sample_id}_fastp.json ${params.optional}
"""
}
}
25 changes: 25 additions & 0 deletions Fastp/0.20.1/Fastp.nf
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
process Fastp {
tag {"Fastp ${sample_id} - ${rg_id}"}
label 'Fastp_0_20_1'
container = 'quay.io/biocontainers/fastp:0.20.1--h8b12597_0'
shell = ['/bin/bash', '-euo', 'pipefail']

input:
tuple(sample_id, rg_id, path(fastq_files))

output:
tuple(sample_id, rg_id, path("*.fastq.gz"), emit: fastqs_cleaned)
path("${sample_id}_fastp.json", emit: qc_report)

script:
//adapted from https://github.com/nf-core/eager/blob/master/LICENSE, Copyright (c) Alexander Peltzer, Stephen Clayton, James A. Fellows Yates, Maxime Borry
if (params.singleEnd) {
"""
fastp --in1 ${fastq_files[0]} --out1 "${fastq_files[0].simpleName}_trim.fastq.gz" -j ${sample_id}_fastp.json ${params.optional}
"""
} else {
"""
fastp --in1 ${fastq_files[0]} --in2 ${fastq_files[1]} --out1 "${fastq_files[0].simpleName}_trim.fastq.gz" --out2 "${fastq_files[1].simpleName}_trim.fastq.gz" -j ${sample_id}_fastp.json ${params.optional}
"""
}
}
33 changes: 33 additions & 0 deletions GATK/3.8-1-0-gf15c1c3ef/BaseRecalibrator.nf
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
process BaseRecalibrator {
tag {"GATK BaseRecalibrator ${sample_id} - ${chr}"}
label 'GATK_3_8_1_0_gf15c1c3ef'
label 'GATK_3_8_1_0_gf15c1c3ef_BaseRecalibrator'
container = 'quay.io/biocontainers/gatk:3.8--py27_1'
shell = ['/bin/bash', '-euo', 'pipefail']

input:
tuple(sample_id, path(bam_file), path(bai_file), chr)

output:
tuple(sample_id, path("${bam_file.baseName}.bqsr.${chr}.bam"), path("${bam_file.baseName}.bqsr.${chr}.bai"), emit: bam_file)

script:
"""
java -Xmx${task.memory.toGiga()-4}G -jar $params.gatk_path -T BaseRecalibrator \
--num_cpu_threads_per_data_thread ${task.cpus} \
--reference_sequence ${params.genome} \
--input_file ${bam_file} \
--intervals ${chr} \
--out ${bam_file.baseName}.bqsr.${chr}.table \
${params.optional_bqsr}
java -Xmx${task.memory.toGiga()-4}G -jar ${params.gatk_path} -T PrintReads \
--num_cpu_threads_per_data_thread ${task.cpus} \
--reference_sequence ${params.genome} \
--input_file ${bam_file} \
--BQSR ${bam_file.baseName}.bqsr.${chr}.table \
--intervals ${chr} \
--out ${bam_file.baseName}.bqsr.${chr}.bam \
${params.optional_pr}
"""
}
19 changes: 19 additions & 0 deletions GATK/3.8-1-0-gf15c1c3ef/CatVariants.nf
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
process CatVariantsGVCF {
tag {"GATK CatVariantsGVCF ${sample_id}"}
label 'GATK_3_8_1_0_gf15c1c3ef'
label 'GATK_3_8_1_0_gf15c1c3ef_CatVariantsGVCF'
container = 'quay.io/biocontainers/gatk:3.8--py27_1'
shell = ['/bin/bash', '-euo', 'pipefail']

input:
tuple(sample_id, path(gvcf_files), path(gvcf_idx_files))

output:
tuple(sample_id, path("${sample_id}.g.vcf.gz"), path("${sample_id}.g.vcf.gz.tbi"), emit:vcf_file)

script:
def input_files = gvcf_files.collect{"$it"}.join(" -V ")
"""
java -Xmx${task.memory.toGiga()-4}G -cp ${params.gatk_path} org.broadinstitute.gatk.tools.CatVariants --reference ${params.genome} -V ${input_files} --outputFile ${sample_id}.g.vcf.gz ${params.optional}
"""
}
32 changes: 26 additions & 6 deletions GATK/3.8-1-0-gf15c1c3ef/CombineVariants.nf
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,34 @@ process CombineVariants {
shell = ['/bin/bash', '-euo', 'pipefail']

input:
tuple val(analysis_id), file(vcf_files), file(vcf_idx_files)
tuple(analysis_id, path(vcf_files), path(vcf_idx_files))

output:
tuple val(analysis_id), file("${analysis_id}.vcf"), file("${analysis_id}.vcf.idx")
tuple(analysis_id, path("${analysis_id}.vcf"), path("${analysis_id}.vcf.idx"), emit:vcf_file)

script:
def input_files = vcf_files.collect{"$it"}.join(" -V ")
"""
java -Xmx${task.memory.toGiga()-4}G -jar ${params.gatk_path} -T CombineVariants --reference_sequence ${params.genome} -V ${input_files} --out ${analysis_id}.vcf ${params.optional}
"""
def input_files = vcf_files.collect{"$it"}.join(" -V ")
"""
java -Xmx${task.memory.toGiga()-4}G -jar ${params.gatk_path} -T CombineVariants --reference_sequence ${params.genome} -V ${input_files} --out ${analysis_id}.vcf ${params.optional}
"""
}

process CombineVariantsGVCF {
tag {"GATK CombineVariantsGVCF ${sample_id}"}
label 'GATK_3_8_1_0_gf15c1c3ef'
label 'GATK_3_8_1_0_gf15c1c3ef_CombineVariantsGVCF'
container = 'quay.io/biocontainers/gatk:3.8--py27_1'
shell = ['/bin/bash', '-euo', 'pipefail']

input:
tuple(sample_id, path(vcf_files), path(vcf_idx_files))

output:
tuple(sample_id, path("${sample_id}.g.vcf"), path("${sample_id}.g.vcf.idx"), emit:vcf_file)

script:
def input_files = vcf_files.collect{"$it"}.join(" -V ")
"""
java -Xmx${task.memory.toGiga()-4}G -jar ${params.gatk_path} -T CombineVariants --reference_sequence ${params.genome} -V ${input_files} --out ${sample_id}.g.vcf ${params.optional}
"""
}
Loading

0 comments on commit 3890843

Please sign in to comment.