diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 900d99f9f6..6c427dd5fb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -59,6 +59,7 @@ jobs: - "tiddit" - "trimming" - "tumor_normal_pair" + - "umi" - "variantcalling_channel" steps: diff --git a/conf/modules.config b/conf/modules.config index 8a5aef2d0f..71d3efb32e 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -224,7 +224,7 @@ process { withName: 'BAM2FASTQ' { ext.args = '-T RX' - ext.when = { umi_read_structure } + ext.when = { params.umi_read_structure } } withName: 'CALLUMICONSENSUS' { @@ -238,6 +238,11 @@ process { ext.args2 = '-bS' ext.prefix = {"${meta.id}.umi_unsorted"} } + + withName: ".*DRAGMAP_ALIGN" { + ext.args2 = '-bS' + ext.prefix = {"${meta.id}.umi_unsorted"} + } } withName: 'SAMBLASTER' { @@ -247,17 +252,16 @@ process { // MAPPING if (params.step == 'mapping') { - withName: ".*GATK4_MAPPING:BWAMEM1_MEM" { + withName: ".*BWAMEM1_MEM" { ext.when = { params.aligner == "bwa-mem" } } - withName: ".*GATK4_MAPPING:BWAMEM2_MEM" { + withName: ".*BWAMEM2_MEM" { ext.when = { params.aligner == "bwa-mem2" } } - withName: ".*GATK4_MAPPING:DRAGMAP_ALIGN" { + withName: ".*DRAGMAP_ALIGN" { ext.when = { params.aligner == "dragmap" } ext.args = { "--RGSM ${meta.read_group}" } - } withName: "NFCORE_SAREK:SAREK:GATK4_MAPPING:(BWAMEM.*_MEM|DRAGMAP_ALIGN)" { diff --git a/modules.json b/modules.json index bd3019f087..6c1c821d42 100644 --- a/modules.json +++ b/modules.json @@ -76,13 +76,13 @@ "git_sha": "49b18b1639f4f7104187058866a8fab33332bdfe" }, "fgbio/callmolecularconsensusreads": { - "git_sha": "e745e167c1020928ef20ea1397b6b4d230681b4d" + "git_sha": "6720d88f4e46e67b9a225f06bfb10c8e8ae04a84" }, "fgbio/fastqtobam": { - "git_sha": "e745e167c1020928ef20ea1397b6b4d230681b4d" + "git_sha": "6720d88f4e46e67b9a225f06bfb10c8e8ae04a84" }, "fgbio/groupreadsbyumi": { - "git_sha": "e745e167c1020928ef20ea1397b6b4d230681b4d" + "git_sha": "6720d88f4e46e67b9a225f06bfb10c8e8ae04a84" }, "freebayes": { "git_sha": "e745e167c1020928ef20ea1397b6b4d230681b4d" diff --git a/modules/nf-core/modules/fgbio/callmolecularconsensusreads/main.nf b/modules/nf-core/modules/fgbio/callmolecularconsensusreads/main.nf index 347dc269e5..88c5ab4c1a 100644 --- a/modules/nf-core/modules/fgbio/callmolecularconsensusreads/main.nf +++ b/modules/nf-core/modules/fgbio/callmolecularconsensusreads/main.nf @@ -2,10 +2,10 @@ process FGBIO_CALLMOLECULARCONSENSUSREADS { tag "$meta.id" label 'process_medium' - conda (params.enable_conda ? "bioconda::fgbio=1.3.0" : null) + conda (params.enable_conda ? "bioconda::fgbio=2.0.2" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/fgbio:1.3.0--0' : - 'quay.io/biocontainers/fgbio:1.3.0--0' }" + 'https://depot.galaxyproject.org/singularity/fgbio:2.0.2--hdfd78af_0' : + 'quay.io/biocontainers/fgbio:2.0.2--hdfd78af_0' }" input: tuple val(meta), path(bam) @@ -22,6 +22,7 @@ process FGBIO_CALLMOLECULARCONSENSUSREADS { def prefix = task.ext.prefix ?: "${meta.id}" """ fgbio \\ + --tmp-dir=. \\ CallMolecularConsensusReads \\ -i $bam \\ $args \\ diff --git a/modules/nf-core/modules/fgbio/fastqtobam/main.nf b/modules/nf-core/modules/fgbio/fastqtobam/main.nf index 329aff3317..76cfc0752d 100644 --- a/modules/nf-core/modules/fgbio/fastqtobam/main.nf +++ b/modules/nf-core/modules/fgbio/fastqtobam/main.nf @@ -2,10 +2,10 @@ process FGBIO_FASTQTOBAM { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::fgbio=1.4.0" : null) + conda (params.enable_conda ? "bioconda::fgbio=2.0.2" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/fgbio:1.4.0--hdfd78af_0' : - 'quay.io/biocontainers/fgbio:1.4.0--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/fgbio:2.0.2--hdfd78af_0' : + 'quay.io/biocontainers/fgbio:2.0.2--hdfd78af_0' }" input: tuple val(meta), path(reads) @@ -22,10 +22,9 @@ process FGBIO_FASTQTOBAM { def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" """ - mkdir tmp fgbio \\ - --tmp-dir=${PWD}/tmp \\ + --tmp-dir=. \\ FastqToBam \\ -i $reads \\ -o "${prefix}_umi_converted.bam" \\ diff --git a/modules/nf-core/modules/fgbio/groupreadsbyumi/main.nf b/modules/nf-core/modules/fgbio/groupreadsbyumi/main.nf index 31250d23ce..3014355c4f 100644 --- a/modules/nf-core/modules/fgbio/groupreadsbyumi/main.nf +++ b/modules/nf-core/modules/fgbio/groupreadsbyumi/main.nf @@ -2,10 +2,10 @@ process FGBIO_GROUPREADSBYUMI { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::fgbio=1.4.0" : null) + conda (params.enable_conda ? "bioconda::fgbio=2.0.2" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/fgbio:1.4.0--hdfd78af_0' : - 'quay.io/biocontainers/fgbio:1.4.0--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/fgbio:2.0.2--hdfd78af_0' : + 'quay.io/biocontainers/fgbio:2.0.2--hdfd78af_0' }" input: tuple val(meta), path(taggedbam) @@ -24,10 +24,9 @@ process FGBIO_GROUPREADSBYUMI { def prefix = task.ext.prefix ?: "${meta.id}" """ - mkdir tmp fgbio \\ - --tmp-dir=${PWD}/tmp \\ + --tmp-dir=. \\ GroupReadsByUmi \\ -s $strategy \\ $args \\ diff --git a/tests/test_umi.yml b/tests/test_umi.yml index 73206f6220..e6e45f5400 100644 --- a/tests/test_umi.yml +++ b/tests/test_umi.yml @@ -1,93 +1,94 @@ -- name: Run UMI Quiaseq test - command: nextflow run main.nf -profile test,umi_quiaseq,docker +- name: Run UMI test + command: nextflow run main.nf -profile test,umi,docker tags: - - umi_quiaseq - umi files: - - path: results/fastqtobam/1234N-SRR7545951_umi_converted.bam - md5sum: 1473c98be04aff10f80e2946b111c459 - - path: results/bam2fastq/1234N-SRR7545951_interleaved.fq.gz - md5sum: 17c0cb479e8117016e9f0d835d4df50f - - path: results/callumiconsensus/1234N-SRR7545951_umi-consensus.bam - md5sum: 3be1adf27d473de12cab895423a5f3ed - - path: results/cat/1234N-SRR7545951_1.merged.fastq.gz - md5sum: c1ed636a11b3031c72f3d4c84a7a0949 - - path: results/cat/1234N-SRR7545951_2.merged.fastq.gz - md5sum: 0bbef631b8de80f2abe441de713cbb49 - - path: results/groupreadsbyumi/1234N-SRR7545951_umi-grouped.bam - md5sum: e3bb348056513c46d7a60df4d7a8cc97 - - path: results/groupreadsbyumi/1234N-SRR7545951_umi_histogram.txt - md5sum: 2e1e9a774135675a3d1a3b0a88d29c53 - - path: results/samblaster/1234N-SRR7545951_unsorted_tagged.bam - md5sum: daa51939768c256315ce700dabaccad6 - - path: results/samtools/1234N-SRR7545951.map_map.bam - md5sum: 741de784bb83815fab8b2d23d88c74d7 - - path: results/samtools/1234N-SRR7545951.map_unmap.bam - md5sum: 31627b2d163da372584bb78258c046e5 - - path: results/samtools/1234N-SRR7545951.mapped_1.fq.gz - md5sum: 709872fc2910431b1e8b7074bfe38c67 - - path: results/samtools/1234N-SRR7545951.mapped_2.fq.gz - md5sum: 709872fc2910431b1e8b7074bfe38c67 - - path: results/samtools/1234N-SRR7545951.mapped_other.fq.gz - md5sum: 709872fc2910431b1e8b7074bfe38c67 - - path: results/samtools/1234N-SRR7545951.mapped_singleton.fq.gz - md5sum: 709872fc2910431b1e8b7074bfe38c67 - - path: results/samtools/1234N-SRR7545951.unmap_map.bam - md5sum: 42fb9dbb5a157c194c77b1de5b4f3b39 - - path: results/samtools/1234N-SRR7545951.unmap_unmap.bam - md5sum: 2075e48cd007f29c8f6fdc518e587e27 - - path: results/samtools/1234N-SRR7545951.unmapped_1.fq.gz - md5sum: 1f95ae5bbc7345372005b6673884f853 - - path: results/samtools/1234N-SRR7545951.unmapped_2.fq.gz - md5sum: 9902e27a99c2a628d184cb91759d6ff7 - - path: results/samtools/1234N-SRR7545951.unmapped_other.fq.gz - md5sum: 709872fc2910431b1e8b7074bfe38c67 - - path: results/samtools/1234N-SRR7545951.unmapped_singleton.fq.gz - md5sum: 709872fc2910431b1e8b7074bfe38c67 + - path: results/fastqtobam/test-test_L1_umi_converted.bam + md5sum: ce67e3b1f46302127cd07cb3c2d2e739 + - path: results/bam2fastq/test-test_L1_interleaved.fq.gz + md5sum: 7a57a8ab53dd1d799cca67a85c47ccd9 + - path: results/callumiconsensus/test-test_L1_umi-consensus.bam + md5sum: ccd8b0b95119b6f42655800cf9d07975 + - path: results/cat/test-test_L1_1.merged.fastq.gz + md5sum: 401d4e7ccead0696d6d77e0f679fc608 + - path: results/cat/test-test_L1_2.merged.fastq.gz + md5sum: 01e6167468f6c46c6455a3e6bb6c4d1b + - path: results/groupreadsbyumi/test-test_L1_umi-grouped.bam + md5sum: 7f7775bd971c6c6790642cb14e7140a0 + - path: results/groupreadsbyumi/test-test_L1_umi_histogram.txt + md5sum: f2f29523bb7016e1a78fe634466cbfba + - path: results/samblaster/test-test_L1_unsorted_tagged.bam + md5sum: b6b55546a1134b1083fd50b8f36d5a13 + - path: results/samtools/test-test_L1.map_map.bam + md5sum: f29dc564311e592941bdf152dd722b4f + - path: results/samtools/test-test_L1.map_unmap.bam + md5sum: 6518cea4d9c0bdb17af66932b68e0ad9 + - path: results/samtools/test-test_L1.bam + - path: results/samtools/test-test_L1.unmap_map.bam + md5sum: 9479aabdbbfdc8f5c79f8daa1011e9fb + - path: results/samtools/test-test_L1.unmap_unmap.bam + md5sum: a1801ce12b5b4a486c5b4cba49fad0dd + # TODO: The following files are not produced anymore +# - path: results/samtools/test-test_L1.mapped_1.fq.gz +# md5sum: 709872fc2910431b1e8b7074bfe38c67 +# - path: results/samtools/test-test_L1.mapped_2.fq.gz +# md5sum: 709872fc2910431b1e8b7074bfe38c67 +# - path: results/samtools/test-test_L1.mapped_other.fq.gz +# md5sum: 709872fc2910431b1e8b7074bfe38c67 +# - path: results/samtools/test-test_L1.mapped_singleton.fq.gz +# md5sum: 709872fc2910431b1e8b7074bfe38c67 +# - path: results/samtools/test-test_L1.unmapped_1.fq.gz +# md5sum: 1f95ae5bbc7345372005b6673884f853 +# - path: results/samtools/test-test_L1.unmapped_2.fq.gz +# md5sum: 9902e27a99c2a628d184cb91759d6ff7 +# - path: results/samtools/test-test_L1.unmapped_other.fq.gz +# md5sum: 709872fc2910431b1e8b7074bfe38c67 +# - path: results/samtools/test-test_L1.unmapped_singleton.fq.gz +# md5sum: 709872fc2910431b1e8b7074bfe38c67 -- name: Run UMI TSO test - command: nextflow run main.nf -profile test,umi_tso,docker - tags: - - umi_tso - - umi - files: - - path: results/fastqtobam/1234N-HT1080_umi_converted.bam - md5sum: aaf4b9a80f4b780d93820df8b536c531 - - path: results/bam2fastq/1234N-HT1080_interleaved.fq.gz - md5sum: b037fe8e180e805226485d9bea4a69e5 - - path: results/callumiconsensus/1234N-HT1080_umi-consensus.bam - md5sum: 807bfe6a82eabdf29aaf8bc6a832f0cd - - path: results/cat/1234N-HT1080_1.merged.fastq.gz - md5sum: c8f0d1308df4c46c0716ccfe76f78fb4 - - path: results/cat/1234N-HT1080_2.merged.fastq.gz - md5sum: 1b42767b2d5dbc99e447c41d6d2418ab - - path: results/groupreadsbyumi/1234N-HT1080_umi-grouped.bam - md5sum: c9c76b410ba208fea76c79cecfb45241 - - path: results/groupreadsbyumi/1234N-HT1080_umi_histogram.txt - md5sum: 3dec92ae49763c10c0b2e79827d25ffb - - path: results/samblaster/1234N-HT1080_unsorted_tagged.bam - md5sum: 628bd970fa00615fb9f841bad7c8f597 - - path: results/samtools/1234N-HT1080.map_map.bam - md5sum: 2689e640c3ededf70228a44ee4b1de48 - - path: results/samtools/1234N-HT1080.map_unmap.bam - md5sum: 37300fea69f7c400220a03ca5854d04b - - path: results/samtools/1234N-HT1080.mapped_1.fq.gz - md5sum: 709872fc2910431b1e8b7074bfe38c67 - - path: results/samtools/1234N-HT1080.mapped_2.fq.gz - md5sum: 709872fc2910431b1e8b7074bfe38c67 - - path: results/samtools/1234N-HT1080.mapped_other.fq.gz - md5sum: 709872fc2910431b1e8b7074bfe38c67 - - path: results/samtools/1234N-HT1080.mapped_singleton.fq.gz - md5sum: 709872fc2910431b1e8b7074bfe38c67 - - path: results/samtools/1234N-HT1080.unmap_map.bam - md5sum: 6267d0ed8274e1fa7aad8d1e71d98696 - - path: results/samtools/1234N-HT1080.unmap_unmap.bam - md5sum: 32ed07aa23900f5722e5983a646a5ac2 - - path: results/samtools/1234N-HT1080.unmapped_1.fq.gz - md5sum: d9a7a279c05563a37d9a5a6938be68fb - - path: results/samtools/1234N-HT1080.unmapped_2.fq.gz - md5sum: afe191dcd48360f96bdb583fa60ff400 - - path: results/samtools/1234N-HT1080.unmapped_other.fq.gz - md5sum: 709872fc2910431b1e8b7074bfe38c67 - - path: results/samtools/1234N-HT1080.unmapped_singleton.fq.gz - md5sum: 709872fc2910431b1e8b7074bfe38c67 +# - name: Run UMI TSO test +# command: nextflow run main.nf -profile test,umi_tso,docker +# tags: +# - umi_tso +# - umi +# files: +# - path: results/fastqtobam/1234N-HT1080_umi_converted.bam +# md5sum: aaf4b9a80f4b780d93820df8b536c531 +# - path: results/bam2fastq/1234N-HT1080_interleaved.fq.gz +# md5sum: b037fe8e180e805226485d9bea4a69e5 +# - path: results/callumiconsensus/1234N-HT1080_umi-consensus.bam +# md5sum: 807bfe6a82eabdf29aaf8bc6a832f0cd +# - path: results/cat/1234N-HT1080_1.merged.fastq.gz +# md5sum: c8f0d1308df4c46c0716ccfe76f78fb4 +# - path: results/cat/1234N-HT1080_2.merged.fastq.gz +# md5sum: 1b42767b2d5dbc99e447c41d6d2418ab +# - path: results/groupreadsbyumi/1234N-HT1080_umi-grouped.bam +# md5sum: c9c76b410ba208fea76c79cecfb45241 +# - path: results/groupreadsbyumi/1234N-HT1080_umi_histogram.txt +# md5sum: 3dec92ae49763c10c0b2e79827d25ffb +# - path: results/samblaster/1234N-HT1080_unsorted_tagged.bam +# md5sum: 628bd970fa00615fb9f841bad7c8f597 +# - path: results/samtools/1234N-HT1080.map_map.bam +# md5sum: 2689e640c3ededf70228a44ee4b1de48 +# - path: results/samtools/1234N-HT1080.map_unmap.bam +# md5sum: 37300fea69f7c400220a03ca5854d04b +# - path: results/samtools/1234N-HT1080.mapped_1.fq.gz +# md5sum: 709872fc2910431b1e8b7074bfe38c67 +# - path: results/samtools/1234N-HT1080.mapped_2.fq.gz +# md5sum: 709872fc2910431b1e8b7074bfe38c67 +# - path: results/samtools/1234N-HT1080.mapped_other.fq.gz +# md5sum: 709872fc2910431b1e8b7074bfe38c67 +# - path: results/samtools/1234N-HT1080.mapped_singleton.fq.gz +# md5sum: 709872fc2910431b1e8b7074bfe38c67 +# - path: results/samtools/1234N-HT1080.unmap_map.bam +# md5sum: 6267d0ed8274e1fa7aad8d1e71d98696 +# - path: results/samtools/1234N-HT1080.unmap_unmap.bam +# md5sum: 32ed07aa23900f5722e5983a646a5ac2 +# - path: results/samtools/1234N-HT1080.unmapped_1.fq.gz +# md5sum: d9a7a279c05563a37d9a5a6938be68fb +# - path: results/samtools/1234N-HT1080.unmapped_2.fq.gz +# md5sum: afe191dcd48360f96bdb583fa60ff400 +# - path: results/samtools/1234N-HT1080.unmapped_other.fq.gz +# md5sum: 709872fc2910431b1e8b7074bfe38c67 +# - path: results/samtools/1234N-HT1080.unmapped_singleton.fq.gz +# md5sum: 709872fc2910431b1e8b7074bfe38c67 diff --git a/workflows/sarek.nf b/workflows/sarek.nf index 2442aeec58..16f3e04f3b 100644 --- a/workflows/sarek.nf +++ b/workflows/sarek.nf @@ -388,8 +388,10 @@ workflow SAREK { umi_read_structure, params.group_by_umi_strategy) + bamtofastq = CREATE_UMI_CONSENSUS.out.consensusbam.map{meta, bam -> [meta,bam,[]]} + // convert back to fastq for further preprocessing - ALIGNMENT_TO_FASTQ_UMI(CREATE_UMI_CONSENSUS.out.consensusbam, []) + ALIGNMENT_TO_FASTQ_UMI(bamtofastq, []) ch_reads_fastp = ALIGNMENT_TO_FASTQ_UMI.out.reads