Skip to content
Merged
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
4b19e5f
mosdepth trial run
FriederikeHanssen Jun 17, 2022
35cfd33
use fastp for splitting
FriederikeHanssen Jun 18, 2022
b71bb54
dropin replace deepcoverage/qualimap with mosdepth
FriederikeHanssen Jun 18, 2022
fd7b144
rubberducking
FriederikeHanssen Jun 19, 2022
b3f0d70
fix issues with prefix resolution
FriederikeHanssen Jun 19, 2022
08590f1
Code clean up [skip actions]
FriederikeHanssen Jun 19, 2022
1296969
clean up tests
FriederikeHanssen Jun 19, 2022
fd56814
Remove unused modules
FriederikeHanssen Jun 19, 2022
d1955e8
More code clean up and results folder organisation
FriederikeHanssen Jun 19, 2022
9086b9c
remove deeptools from tests
FriederikeHanssen Jun 19, 2022
c21d070
dabble around with biobambam
FriederikeHanssen Jun 20, 2022
cd6d9e0
undabble with biobambam, docu very unclear
FriederikeHanssen Jun 20, 2022
cda1e88
remove all traces of biobambam
FriederikeHanssen Jun 20, 2022
37f1c35
Merge usptream/dev
FriederikeHanssen Jun 21, 2022
1479faf
remove merge indicator
FriederikeHanssen Jun 22, 2022
ab7f36c
Merge remote-tracking branch 'upstream/dev' into qc_on_speed
FriederikeHanssen Jun 23, 2022
918be2d
Update subway map with fastp/mosdepth
FriederikeHanssen Jun 23, 2022
f30f557
clean up config
FriederikeHanssen Jun 23, 2022
553a2c8
UMI, then fastp
FriederikeHanssen Jun 23, 2022
72d7a5d
Add trimming test
FriederikeHanssen Jun 23, 2022
d307ab5
nf-core modules update fastp
FriederikeHanssen Jun 24, 2022
a0d7632
Somewhere sometime the variantcaller prefix was lost, causing filenam…
FriederikeHanssen Jun 24, 2022
47420ba
move split organisation to sarek.nf
FriederikeHanssen Jun 24, 2022
a6dc103
remove import
FriederikeHanssen Jun 24, 2022
905e2a1
update test path names to updated module
FriederikeHanssen Jun 24, 2022
007d922
add tiddit update to avoid merge conflicts with oskar
FriederikeHanssen Jun 24, 2022
2953e79
fix small alignment
FriederikeHanssen Jun 24, 2022
3c7f5e8
fix alignments
FriederikeHanssen Jun 24, 2022
9e409ee
fix publishing
FriederikeHanssen Jun 24, 2022
bd4e7aa
remove comments, and put them in a card
FriederikeHanssen Jun 24, 2022
95455a0
Update conf/modules.config
FriederikeHanssen Jun 24, 2022
2334fa4
use name instead of basename
FriederikeHanssen Jun 24, 2022
d6b745d
Merge remote-tracking branch 'origin/qc_on_speed' into qc_on_speed
FriederikeHanssen Jun 24, 2022
92ecef3
remove overwritting of annotation prefix
FriederikeHanssen Jun 24, 2022
fd0630a
remove overwritting of annotation prefix
FriederikeHanssen Jun 24, 2022
6bf0ab2
why is the vep thng being weird
FriederikeHanssen Jun 24, 2022
6f271b8
use proper output files for mosdepth mqc
FriederikeHanssen Jun 24, 2022
5851733
fix merge naming of vep
FriederikeHanssen Jun 24, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ jobs:
- "strelkabp"
- "targeted"
- "tiddit"
- "trimming"
- "tumor_normal_pair"
- "variantcalling_channel"

Expand Down
16 changes: 6 additions & 10 deletions assets/multiqc_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ export_plots: true
run_modules:
- custom_content
- fastqc
- cutadapt
- fastp
- picard
- samtools
- qualimap
- mosdepth
- gatk
- bcftools
- vcftools
Expand All @@ -33,19 +33,15 @@ module_order:
name: "FastQC (raw)"
path_filters_exclude:
- "*_val_*.zip"
- cutadapt:
name: "Cutadapt"
- fastqc:
name: "FastQC (trimmed)"
path_filters:
- "*_val_*.zip"
- fastp:
name: "FastP (Read preprocessing)"
- picard:
name: "GATK4 MarkDuplicates"
info: " metrics generated either by GATK4 MarkDuplicates or EstimateLibraryComplexity (with --use_gatk_spark)."
- samtools:
name: "Samtools Flagstat"
- qualimap:
name: "Qualimap"
- mosdepth:
name: "Mosdepth"
- gatk:
name: "GATK4 BQSR"
- bcftools:
Expand Down
79 changes: 31 additions & 48 deletions conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -193,23 +193,29 @@ process {
}

// TRIMMING
withName: 'TRIMGALORE' {
ext.args = '--fastqc'
publishDir = [
[
path: { "${params.outdir}/reports/trimgalore/${meta.id}/fastqc" },
mode: params.publish_dir_mode,
pattern: "*{html,zip}"
],

withName: FASTP {
Comment thread
FriederikeHanssen marked this conversation as resolved.
ext.args = [ "",
params.trim_fastq ?: "--disable_adapter_trimming",
params.clip_r1 > 0 ? "--trim_front1 ${params.clip_r1}" : "", // Remove bp from the 5' end of read 1.
params.three_prime_clip_r1 > 0 ? "--trim_tail1 ${params.three_prime_clip_r1}" : "", // Remove bp from the 3' end of read 1 AFTER adapter/quality trimming has been performed.
params.clip_r2 > 0 ? "--trim_front2 ${params.clip_r2}" : "", //Remove bp from the 5' end of read 2.
params.three_prime_clip_r2 > 0 ? "--trim_tail2 ${params.three_prime_clip_r2}" : "", // Remove bp from the 3' end of read 2 AFTER adapter/quality trimming has been performed.
params.trim_nextseq ? "--trim_poly_g" : "", // Apply the --nextseq=X option, to trim based on quality after removing poly-G tails.
params.split_fastq > 0 ? "--split_by_lines ${params.split_fastq * 4}" : "",

].join(" ").trim()
publishDir = [
[
path: { "${params.outdir}/trimgalore/${meta.id}" },
path: { "${params.outdir}/reports/fastp/${meta.sample}" },
mode: params.publish_dir_mode,
pattern: "*fq.gz"
pattern: "*.{html,json,log}"
],
[
path: { "${params.outdir}/reports/trimgalore/${meta.id}" },
enabled: params.save_trimmed || params.save_split_fastqs,
path: { "${params.outdir}/preprocessing/${meta.sample}/fastp" },
mode: params.publish_dir_mode,
pattern: "*txt"
pattern: "*.fastp.fastq.gz"
]
]
}
Expand Down Expand Up @@ -239,19 +245,6 @@ process {
ext.prefix = {"${meta.id}_unsorted_tagged"}
}

// SPLIT FASTQ

withName: 'SEQKIT_SPLIT2' {
ext.args = { "--by-size ${params.split_fastq}" }
ext.when = { params.split_fastq > 1 }
publishDir = [
enabled: params.save_split_fastqs,
mode: params.publish_dir_mode,
path: { "${params.outdir}/preprocessing/${meta.sample}/seqkit" },
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}

// MAPPING
if (params.step == 'mapping') {
withName: ".*GATK4_MAPPING:BWAMEM1_MEM" {
Expand All @@ -272,12 +265,12 @@ process {
// However if it's skipped, reads need to be coordinate-sorted
// Only name sort if Spark for Markduplicates + duplicate marking is not skipped
ext.args2 = { params.use_gatk_spark && params.use_gatk_spark.contains('markduplicates') && (!params.skip_tools || (params.skip_tools && !params.skip_tools.contains('markduplicates'))) ? '-n' : '' }
ext.prefix = { params.split_fastq > 1 ? "${meta.id}".concat('.').concat(reads.get(0).name.findAll(/part_([0-9]+)?/).last()) : "" }
ext.prefix = { params.split_fastq > 1 ? "${meta.id}".concat('.').concat(reads.get(0).name.tokenize('.')[0]) : "" }
publishDir = [
mode: params.publish_dir_mode,
path: { "${params.outdir}/preprocessing/${meta.id}/" },
path: { "${params.outdir}/preprocessing/" },
pattern: "*bam",
saveAs: { (params.save_bam_mapped || (params.skip_tools && params.skip_tools.contains('markduplicates'))) && (meta.size * meta.numLanes == 1) ? "mapped/${it}" : null }
saveAs: { (params.save_bam_mapped || (params.skip_tools && params.skip_tools.contains('markduplicates'))) && (meta.size * meta.numLanes == 1) ? "${meta.id}/mapped/${it}" : null }
]
}

Expand Down Expand Up @@ -479,28 +472,18 @@ process {
]
}

withName: 'DEEPTOOLS_BAMCOVERAGE' {
ext.when = { !(params.skip_tools && params.skip_tools.contains('deeptools')) }
publishDir = [
mode: params.publish_dir_mode,
path: { "${params.outdir}/reports/deeptools/${meta.id}" },
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}

withName: 'QUALIMAP_BAMQCCRAM' {
ext.args = '--paint-chromosome-limits --genome-gc-distr HUMAN -skip-duplicated --skip-dup-mode 0 -outformat HTML'
withName: 'MOSDEPTH' {
ext.args = { !params.wes ? "-n --fast-mode --by 500" : ""}
ext.prefix = { "${meta.id}.mapped" }
ext.when = { !(params.skip_tools && params.skip_tools.contains('bamqc')) }
publishDir = [
publishDir = [
mode: params.publish_dir_mode,
path: { "${params.outdir}/reports/qualimap/${meta.id}" },
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
path: { "${params.outdir}/reports/mosdepth/${meta.id}" },
saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
]
}

if (params.step == 'mapping' || params.step == 'markduplicates'|| params.step == 'prepare_recalibration'|| params.step == 'recalibrate') {
withName: 'NFCORE_SAREK:SAREK:CRAM_QC:QUALIMAP_BAMQCCRAM' {
withName: 'NFCORE_SAREK:SAREK:CRAM_QC:MOSDEPTH' {
ext.prefix = { "${meta.id}.recal" }
}

Expand Down Expand Up @@ -1131,7 +1114,7 @@ process{
// SNPEFF
if (params.tools && (params.tools.contains('snpeff') || params.tools.contains('merge'))) {
withName: 'SNPEFF' {
ext.prefix = { "${vcf.baseName.minus(".vcf")}_snpEff" }
ext.prefix = { meta.variantcaller ? "${meta.variantcaller}_${vcf.baseName.minus(".vcf")}_snpEff" : "${vcf.baseName.minus(".vcf")}_snpEff" }
ext.args = '-nodownload -canon -v'
if (!params.snpeff_cache) container = { params.snpeff_genome ? "nfcore/snpeff:5.0.${params.snpeff_genome}" : "nfcore/snpeff:5.0.${params.genome}" }
publishDir = [
Expand All @@ -1146,7 +1129,7 @@ process{
// VEP
if (params.tools && (params.tools.contains('vep') || params.tools.contains('merge'))) {
withName: 'ENSEMBLVEP' {
ext.prefix = { "${vcf.baseName.minus(".vcf")}_VEP" }
ext.prefix = { meta.variantcaller ? "${meta.variantcaller}_${vcf.baseName.minus(".vcf")}_VEP" : ${vcf.baseName.minus(".vcf")}_VEP }
ext.args = [
'--everything --filter_common --per_gene --total_length --offline --format vcf',
(params.vep_dbnsfp && params.dbnsfp) ? '--plugin dbNSFP,dbNSFP.gz,rs_dbSNP,HGVSc_VEP,HGVSp_VEP,1000Gp3_EAS_AF,1000Gp3_AMR_AF,LRT_score,GERP++_RS,gnomAD_exomes_AF' : '',
Expand All @@ -1173,15 +1156,15 @@ process{

if (params.tools && params.tools.contains('vep')) {
withName: 'NFCORE_SAREK:SAREK:ANNOTATE:ANNOTATION_ENSEMBLVEP:ENSEMBLVEP' {
ext.prefix = {"${meta.id}_VEP"}
ext.prefix = { meta.variantcaller ? "${meta.variantcaller}_${meta.id}_VEP" : "${meta.id}_VEP" }
}
}

// SNPEFF THEN VEP
if (params.tools && params.tools.contains('merge')) {
withName: ".*:ANNOTATION_MERGE:ENSEMBLVEP" {
// Output file will have format *_snpEff_VEP.ann.vcf, *_snpEff_VEP.ann.json or *_snpEff_VEP.ann.tab
ext.prefix = { "${vcf.baseName.minus(".ann.vcf")}_VEP" }
ext.prefix = { meta.variantcaller ? "${meta.variantcaller}_${vcf.baseName.minus(".ann.vcf")}_VEP" : "${vcf.baseName.minus(".ann.vcf")}_VEP" }
}
}

Expand Down
Binary file modified docs/images/sarek_subway.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading