diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e6eb7b4..480c2c5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,17 +23,19 @@ Thank you to everyone else that has contributed by reporting bugs, enhancements - [[PR #405](https://github.com/nf-core/viralrecon/pull/412)] - Including parameter `depthcutoff` to freyja demix and boot - [[PR #413](https://github.com/nf-core/viralrecon/pull/413)] - Update multiqc module & include freyja in report - [[PR #401](https://github.com/nf-core/viralrecon/pull/401)] - Added option to add a custom annotation +- [[PR #417](https://github.com/nf-core/viralrecon/pull/417)] - Allow skipping of Freyja bootstrapping module & freyja module update ### Parameters -| Old parameter | New parameter | -| ------------------- | ------------------------- | -| `--skip_freyja` | | -| `--freyja_repeats` | | -| `--freyja_db_name` | | -| `--freyja_barcodes` | | -| `--freyja_lineages` | | -| | `--additional_annotation` | +| Old parameter | New parameter | +| ------------- | ------------------------- | +| | `--skip_freyja` | +| | `--freyja_repeats` | +| | `--freyja_db_name` | +| | `--freyja_barcodes` | +| | `--freyja_lineages` | +| | `--skip_freyja_boot` | +| | `--additional_annotation` | > **NB:** Parameter has been **updated** if both old and new parameter information is present. > **NB:** Parameter has been **added** if just the new parameter information is present. @@ -45,7 +47,7 @@ Note, since the pipeline is now using Nextflow DSL2, each process will be run wi | Dependency | Old version | New version | | ---------- | ----------- | ----------- | -| `freyja` | | 1.3.12 | +| `freyja` | | 1.5.0 | | `multiqc` | 1.14 | 1.19 | > **NB:** Dependency has been **updated** if both old and new version information is present. diff --git a/docs/usage.md b/docs/usage.md index c5aacc24..ac7f5e5b 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -317,7 +317,7 @@ To learn how to provide additional arguments to a particular tool of the pipelin #### Freyja -[Freyja](https://github.com/andersen-lab/Freyja) relies on a dataset of barcodes that use lineage defining mutations (see [UShER](https://usher-wiki.readthedocs.io/en/latest/#)). By default the most recent barcodes will be downloaded and used. However, if analyses need to be compared across multiple datasets, it might be of interest to re-use the same barcodes, or to rerun all Freyja analyses with the most recent dataset. To do this, specify the barcodes and lineages using the `--freyja_barcodes`, `--freyja_lineages` parameters, respectivly. +[Freyja](https://github.com/andersen-lab/Freyja) relies on a dataset of barcodes that use lineage defining mutations (see [UShER](https://usher-wiki.readthedocs.io/en/latest/#)). By default the most recent barcodes will be downloaded and used. However, if analyses need to be compared across multiple datasets, it might be of interest to re-use the same barcodes, or to rerun all Freyja analyses with the most recent dataset. To do this, specify the barcodes and lineages using the `--freyja_barcodes`, `--freyja_lineages` parameters, respectivly. The boostrapping of Freyja can be skipped by specifying `--skip_freyja_boot`. ### nf-core/configs diff --git a/modules.json b/modules.json index 52526931..b529c5b6 100644 --- a/modules.json +++ b/modules.json @@ -117,22 +117,22 @@ }, "freyja/boot": { "branch": "master", - "git_sha": "7e33bdd8b4faf45be1be6a6f49979f0f0820d243", + "git_sha": "5a30449ceb86c4f968fc5425a020b9e5809c9c5c", "installed_by": ["bam_variant_demix_boot_freyja"] }, "freyja/demix": { "branch": "master", - "git_sha": "7e33bdd8b4faf45be1be6a6f49979f0f0820d243", + "git_sha": "5a30449ceb86c4f968fc5425a020b9e5809c9c5c", "installed_by": ["bam_variant_demix_boot_freyja"] }, "freyja/update": { "branch": "master", - "git_sha": "7e33bdd8b4faf45be1be6a6f49979f0f0820d243", + "git_sha": "5a30449ceb86c4f968fc5425a020b9e5809c9c5c", "installed_by": ["bam_variant_demix_boot_freyja"] }, "freyja/variants": { "branch": "master", - "git_sha": "7e33bdd8b4faf45be1be6a6f49979f0f0820d243", + "git_sha": "5a30449ceb86c4f968fc5425a020b9e5809c9c5c", "installed_by": ["bam_variant_demix_boot_freyja"] }, "gunzip": { @@ -296,7 +296,7 @@ }, "bam_variant_demix_boot_freyja": { "branch": "master", - "git_sha": "cfd937a668919d948f6fcbf4218e79de50c2f36f", + "git_sha": "5a30449ceb86c4f968fc5425a020b9e5809c9c5c", "installed_by": ["subworkflows"] }, "fastq_align_bowtie2": { @@ -311,7 +311,7 @@ }, "utils_nfcore_pipeline": { "branch": "master", - "git_sha": "5caf7640a9ef1d18d765d55339be751bb0969dfa", + "git_sha": "92de218a329bfc9a9033116eb5f65fd270e72ba3", "installed_by": ["subworkflows"] }, "utils_nfvalidation_plugin": { diff --git a/modules/nf-core/freyja/boot/environment.yml b/modules/nf-core/freyja/boot/environment.yml index 71c285aa..dfab14ec 100644 --- a/modules/nf-core/freyja/boot/environment.yml +++ b/modules/nf-core/freyja/boot/environment.yml @@ -4,4 +4,4 @@ channels: - bioconda - defaults dependencies: - - bioconda::freyja=1.4.7 + - bioconda::freyja=1.5.0 diff --git a/modules/nf-core/freyja/boot/main.nf b/modules/nf-core/freyja/boot/main.nf index 7d35c06a..ca1f1a35 100644 --- a/modules/nf-core/freyja/boot/main.nf +++ b/modules/nf-core/freyja/boot/main.nf @@ -5,8 +5,8 @@ process FREYJA_BOOT { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/freyja:1.4.7--pyhdfd78af_0': - 'biocontainers/freyja:1.4.7--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/freyja:1.5.0--pyhdfd78af_0': + 'biocontainers/freyja:1.5.0--pyhdfd78af_0' }" input: tuple val(meta), path(variants), path(depths) diff --git a/modules/nf-core/freyja/boot/tests/main.nf.test b/modules/nf-core/freyja/boot/tests/main.nf.test index 6f75a9c6..f9efb2df 100644 --- a/modules/nf-core/freyja/boot/tests/main.nf.test +++ b/modules/nf-core/freyja/boot/tests/main.nf.test @@ -9,7 +9,7 @@ nextflow_process { tag "freyja" tag "freyja/boot" tag "freyja/variants" - tag "freyja/updatedb" + tag "freyja/update" test("sarscov2 - illumina - test_paired_end_sorted - bam") { @@ -40,7 +40,7 @@ nextflow_process { process { """ input[0] = FREYJA_VARIANTS.out.variants - input[1] = 10 + input[1] = 3 input[2] = FREYJA_UPDATE.out.barcodes input[3] = FREYJA_UPDATE.out.lineages_meta """ diff --git a/modules/nf-core/freyja/boot/tests/main.nf.test.snap b/modules/nf-core/freyja/boot/tests/main.nf.test.snap index b6143310..334c743f 100644 --- a/modules/nf-core/freyja/boot/tests/main.nf.test.snap +++ b/modules/nf-core/freyja/boot/tests/main.nf.test.snap @@ -2,9 +2,13 @@ "versions": { "content": [ [ - "versions.yml:md5,0cf7253a5b3b16532fca5908dffb01b8" + "versions.yml:md5,a2af061943f186aa529b80a419a8fcc1" ] ], - "timestamp": "2023-12-06T15:36:42.746574889" + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-05-02T16:10:15.064948172" } } \ No newline at end of file diff --git a/modules/nf-core/freyja/demix/environment.yml b/modules/nf-core/freyja/demix/environment.yml index d692468f..0f29b8ce 100644 --- a/modules/nf-core/freyja/demix/environment.yml +++ b/modules/nf-core/freyja/demix/environment.yml @@ -4,4 +4,4 @@ channels: - bioconda - defaults dependencies: - - bioconda::freyja=1.4.7 + - bioconda::freyja=1.5.0 diff --git a/modules/nf-core/freyja/demix/main.nf b/modules/nf-core/freyja/demix/main.nf index 9ea5bdd4..0ae3246b 100644 --- a/modules/nf-core/freyja/demix/main.nf +++ b/modules/nf-core/freyja/demix/main.nf @@ -5,8 +5,8 @@ process FREYJA_DEMIX { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/freyja:1.4.7--pyhdfd78af_0': - 'biocontainers/freyja:1.4.7--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/freyja:1.5.0--pyhdfd78af_0': + 'biocontainers/freyja:1.5.0--pyhdfd78af_0' }" input: tuple val(meta), path(variants), path(depths) diff --git a/modules/nf-core/freyja/demix/tests/main.nf.test b/modules/nf-core/freyja/demix/tests/main.nf.test index 6ad1fb4a..df25d82b 100644 --- a/modules/nf-core/freyja/demix/tests/main.nf.test +++ b/modules/nf-core/freyja/demix/tests/main.nf.test @@ -10,7 +10,7 @@ nextflow_process { tag "freyja" tag "freyja/demix" tag "freyja/variants" - tag "freyja/updatedb" + tag "freyja/update" test("sarscov2 - illumina - test_paired_end_sorted - bam") { diff --git a/modules/nf-core/freyja/demix/tests/main.nf.test.snap b/modules/nf-core/freyja/demix/tests/main.nf.test.snap index e4d3fad5..f36e9cc6 100644 --- a/modules/nf-core/freyja/demix/tests/main.nf.test.snap +++ b/modules/nf-core/freyja/demix/tests/main.nf.test.snap @@ -2,9 +2,13 @@ "versions": { "content": [ [ - "versions.yml:md5,d36ecae032c1b476d7b57de248b72729" + "versions.yml:md5,a9c5d4ae8f93de8cbc08c7d87debd89c" ] ], - "timestamp": "2023-12-06T13:37:14.56803127" + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-05-02T16:10:46.778891705" } -} +} \ No newline at end of file diff --git a/modules/nf-core/freyja/update/environment.yml b/modules/nf-core/freyja/update/environment.yml index 7d7b1e9b..9dbffbb6 100644 --- a/modules/nf-core/freyja/update/environment.yml +++ b/modules/nf-core/freyja/update/environment.yml @@ -4,4 +4,4 @@ channels: - bioconda - defaults dependencies: - - bioconda::freyja=1.4.7 + - bioconda::freyja=1.5.0 diff --git a/modules/nf-core/freyja/update/main.nf b/modules/nf-core/freyja/update/main.nf index eb320b35..4d4b6857 100644 --- a/modules/nf-core/freyja/update/main.nf +++ b/modules/nf-core/freyja/update/main.nf @@ -5,8 +5,8 @@ process FREYJA_UPDATE { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/freyja:1.4.7--pyhdfd78af_0': - 'biocontainers/freyja:1.4.7--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/freyja:1.5.0--pyhdfd78af_0': + 'biocontainers/freyja:1.5.0--pyhdfd78af_0' }" input: val db_name diff --git a/modules/nf-core/freyja/update/tests/main.nf.test.snap b/modules/nf-core/freyja/update/tests/main.nf.test.snap index 6eae23e0..0f510c62 100644 --- a/modules/nf-core/freyja/update/tests/main.nf.test.snap +++ b/modules/nf-core/freyja/update/tests/main.nf.test.snap @@ -2,9 +2,13 @@ "versions": { "content": [ [ - "versions.yml:md5,8649650231828547e8fed40e072da108" + "versions.yml:md5,c730cb8a7d262beaace190a3e832a54d" ] ], - "timestamp": "2023-12-06T14:13:14.806958334" + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-05-02T16:11:08.501478371" } } \ No newline at end of file diff --git a/modules/nf-core/freyja/variants/environment.yml b/modules/nf-core/freyja/variants/environment.yml index 4fb28982..871a0745 100644 --- a/modules/nf-core/freyja/variants/environment.yml +++ b/modules/nf-core/freyja/variants/environment.yml @@ -4,4 +4,4 @@ channels: - bioconda - defaults dependencies: - - bioconda::freyja=1.4.7 + - bioconda::freyja=1.5.0 diff --git a/modules/nf-core/freyja/variants/main.nf b/modules/nf-core/freyja/variants/main.nf index e319114b..fc876971 100644 --- a/modules/nf-core/freyja/variants/main.nf +++ b/modules/nf-core/freyja/variants/main.nf @@ -5,8 +5,8 @@ process FREYJA_VARIANTS { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/freyja:1.4.7--pyhdfd78af_0': - 'biocontainers/freyja:1.4.7--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/freyja:1.5.0--pyhdfd78af_0': + 'biocontainers/freyja:1.5.0--pyhdfd78af_0' }" input: tuple val(meta), path(bam) diff --git a/modules/nf-core/freyja/variants/tests/main.nf.test.snap b/modules/nf-core/freyja/variants/tests/main.nf.test.snap index 2693e2f9..c85e8032 100644 --- a/modules/nf-core/freyja/variants/tests/main.nf.test.snap +++ b/modules/nf-core/freyja/variants/tests/main.nf.test.snap @@ -13,7 +13,7 @@ ] ], "1": [ - "versions.yml:md5,f7edb34ea4dfc2fbb2299aef03791926" + "versions.yml:md5,10000e2412ba93678d3a4345fd98a2e3" ], "variants": [ [ @@ -26,10 +26,14 @@ ] ], "versions": [ - "versions.yml:md5,f7edb34ea4dfc2fbb2299aef03791926" + "versions.yml:md5,10000e2412ba93678d3a4345fd98a2e3" ] } ], - "timestamp": "2023-12-06T15:13:57.445426554" + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-05-02T16:11:32.315489497" } } \ No newline at end of file diff --git a/nextflow.config b/nextflow.config index 0645edac..5a5b50e1 100644 --- a/nextflow.config +++ b/nextflow.config @@ -43,6 +43,7 @@ params { multiqc_config = null max_multiqc_email_size = '25.MB' skip_freyja = false + skip_freyja_boot = false freyja_repeats = 100 freyja_depthcutoff = null freyja_db_name = 'freyja_db' diff --git a/nextflow_schema.json b/nextflow_schema.json index 7e6ccbd3..e69110b3 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -265,6 +265,11 @@ "fa_icon": "fas fa-forward", "description": "Skip freyja deep SARS-CoV-2 variant analysis using a depth weighted approach." }, + "skip_freyja_boot": { + "type": "boolean", + "fa_icon": "fas fa-forward", + "description": "Skip the bootstrapping module of Freyja" + }, "freyja_db_name": { "type": "string", "default": "freyja_db", @@ -281,7 +286,8 @@ "type": "integer", "default": 100, "fa_icon": "fas fa-hand-paper", - "description": "Specify the number of bootstrap repeats to do." + "description": "Specify the number of bootstrap repeats to do.", + "minimum": 1 }, "freyja_barcodes": { "type": "string", diff --git a/subworkflows/nf-core/bam_variant_demix_boot_freyja/main.nf b/subworkflows/nf-core/bam_variant_demix_boot_freyja/main.nf index 12c967ed..ad1fdc08 100644 --- a/subworkflows/nf-core/bam_variant_demix_boot_freyja/main.nf +++ b/subworkflows/nf-core/bam_variant_demix_boot_freyja/main.nf @@ -8,6 +8,7 @@ workflow BAM_VARIANT_DEMIX_BOOT_FREYJA { take: ch_bam // channel: [ val(meta), path(bam) ] ch_fasta // channel: [ path(fasta) ] + val_skip_boot // value skip_boot val_repeats // value repeats val_db_name // string db_name ch_barcodes // channel: [ path(barcodes)] @@ -24,8 +25,7 @@ workflow BAM_VARIANT_DEMIX_BOOT_FREYJA { ch_fasta ) ch_freyja_variants = FREYJA_VARIANTS.out.variants - - ch_versions = ch_versions.mix(FREYJA_VARIANTS.out.versions.first()) + ch_versions = ch_versions.mix(FREYJA_VARIANTS.out.versions.first()) // // Update the database if none are given. @@ -34,11 +34,9 @@ workflow BAM_VARIANT_DEMIX_BOOT_FREYJA { FREYJA_UPDATE ( val_db_name ) - ch_barcodes = FREYJA_UPDATE.out.barcodes ch_lineages_meta = FREYJA_UPDATE.out.lineages_meta - - ch_versions = ch_versions.mix(FREYJA_UPDATE.out.versions.first()) + ch_versions = ch_versions.mix(FREYJA_UPDATE.out.versions.first()) } @@ -51,25 +49,31 @@ workflow BAM_VARIANT_DEMIX_BOOT_FREYJA { ch_lineages_meta ) ch_freyja_demix = FREYJA_DEMIX.out.demix - ch_versions = ch_versions.mix(FREYJA_DEMIX.out.versions.first()) + ch_versions = ch_versions.mix(FREYJA_DEMIX.out.versions.first()) // // Perform bootstrapping to get more accurate estimates of abundancies // - FREYJA_BOOT ( - ch_freyja_variants, - val_repeats, - ch_barcodes, - ch_lineages_meta - ) - ch_versions = ch_versions.mix(FREYJA_BOOT.out.versions.first()) + ch_lineages = Channel.empty() + ch_summarized = Channel.empty() + if (!val_skip_boot){ + FREYJA_BOOT ( + ch_freyja_variants, + val_repeats, + ch_barcodes, + ch_lineages_meta + ) + ch_lineages = FREYJA_BOOT.out.lineages + ch_summarized = FREYJA_BOOT.out.summarized + ch_versions = ch_versions.mix(FREYJA_BOOT.out.versions.first()) + } emit: variants = FREYJA_VARIANTS.out.variants // channel: [ val(meta), path(variants_tsv), path(depths_tsv) ] demix = FREYJA_DEMIX.out.demix // channel: [ val(meta), path(demix_tsv) ] - lineages = FREYJA_BOOT.out.lineages // channel: [ val(meta), path(lineages_csv) ] - summarized = FREYJA_BOOT.out.summarized // channel: [ val(meta), path(summarized_csv) ] + lineages = ch_lineages // channel: [ val(meta), path(lineages_csv) ] + summarized = ch_summarized // channel: [ val(meta), path(summarized_csv) ] barcodes = ch_barcodes // channel: [ path(barcodes) ] lineages_meta = ch_lineages_meta // channel: [ path(lineages_meta) ] versions = ch_versions // channel: [ path(versions.yml) ] diff --git a/subworkflows/nf-core/bam_variant_demix_boot_freyja/tests/main.nf.test b/subworkflows/nf-core/bam_variant_demix_boot_freyja/tests/main.nf.test new file mode 100644 index 00000000..8ea5c8ba --- /dev/null +++ b/subworkflows/nf-core/bam_variant_demix_boot_freyja/tests/main.nf.test @@ -0,0 +1,127 @@ +nextflow_workflow { + + name "Test Workflow BAM_VARIANT_DEMIX_BOOT_FREYJA" + script "../main.nf" + workflow "BAM_VARIANT_DEMIX_BOOT_FREYJA" + tag "subworkflows" + tag "subworkflows_nfcore" + tag "bam_variant_demix_boot_freyja" + tag "subworkflows/bam_variant_demix_boot_freyja" + tag "freyja" + tag "freyja/variants" + tag "freyja/update" + tag "freyja/demix" + tag "freyja/boot" + + test("sarscov2 - bam - val - nodb"){ + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + ]) + input[1] = Channel.of([file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)]) + input[2] = false + input[3] = 3 + input[4] = 'freyja_db' + input[5] = [] + input[6] = [] + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot(workflow.out.variants, + workflow.out.versions).match() }, + // All depend on a database that gets updated regularly + { assert path(workflow.out.demix.get(0).get(1)).getText().contains("summarized") }, + { assert path(workflow.out.summarized.get(0).get(1)).getText().contains("0.025,") }, + { assert path(workflow.out.lineages.get(0).get(1)).getText().contains("0.025,") }, + { assert path(workflow.out.barcodes.get(0)).exists() }, + { assert path(workflow.out.lineages_meta.get(0)).exists() }, + ) + } + } + + test("sarscov2 - bam - val - db"){ + + setup { + run("FREYJA_UPDATE") { + script "../../../../modules/nf-core/freyja/update/main.nf" + process { + """ + input[0] = "test_db" + """ + } + } + } + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + ]) + input[1] = Channel.of([file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)]) + input[2] = false + input[3] = 3 + input[4] = 'test_db' + input[5] = FREYJA_UPDATE.out.barcodes + input[6] = FREYJA_UPDATE.out.lineages_meta + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot(workflow.out.variants, + workflow.out.versions).match() }, + // All depend on a database that gets updated regularly + { assert path(workflow.out.demix.get(0).get(1)).getText().contains("summarized") }, + { assert path(workflow.out.summarized.get(0).get(1)).getText().contains("0.025,") }, + { assert path(workflow.out.lineages.get(0).get(1)).getText().contains("0.025,") }, + { assert path(workflow.out.barcodes.get(0)).exists() }, + { assert path(workflow.out.lineages_meta.get(0)).exists() }, + ) + } + } + + test("sarscov2 - bam - skip - val - nodb"){ + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + ]) + input[1] = Channel.of([file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)]) + input[2] = true + input[3] = 0 + input[4] = 'test_db' + input[5] = [] + input[6] = [] + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot(workflow.out.variants, + workflow.out.versions).match() }, + // All depend on a database that gets updated regularly + { assert path(workflow.out.demix.get(0).get(1)).getText().contains("summarized") }, + { assert path(workflow.out.barcodes.get(0)).exists() }, + { assert path(workflow.out.lineages_meta.get(0)).exists() }, + ) + } + } + +} diff --git a/subworkflows/nf-core/bam_variant_demix_boot_freyja/tests/main.nf.test.snap b/subworkflows/nf-core/bam_variant_demix_boot_freyja/tests/main.nf.test.snap new file mode 100644 index 00000000..c16d8793 --- /dev/null +++ b/subworkflows/nf-core/bam_variant_demix_boot_freyja/tests/main.nf.test.snap @@ -0,0 +1,75 @@ +{ + "sarscov2 - bam - val - db": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.variants.tsv:md5,966450bae4d9abae278572927b821983", + "test.depth.tsv:md5,27f79b28a365a8af915895b484d1153e" + ] + ], + [ + "versions.yml:md5,d3e911c025e35de092f7ef0073ccf807", + "versions.yml:md5,df54ea89f3bcb7e5952e7e3dae1d22a4", + "versions.yml:md5,e66aeb30f8646d583bec6fbf4fe02426" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-05-02T16:12:55.505491641" + }, + "sarscov2 - bam - skip - val - nodb": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.variants.tsv:md5,966450bae4d9abae278572927b821983", + "test.depth.tsv:md5,27f79b28a365a8af915895b484d1153e" + ] + ], + [ + "versions.yml:md5,4b7dccb03c75e8e94d7c6bdefaa90c95", + "versions.yml:md5,df54ea89f3bcb7e5952e7e3dae1d22a4", + "versions.yml:md5,e66aeb30f8646d583bec6fbf4fe02426" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-05-02T16:13:29.413908034" + }, + "sarscov2 - bam - val - nodb": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.variants.tsv:md5,966450bae4d9abae278572927b821983", + "test.depth.tsv:md5,27f79b28a365a8af915895b484d1153e" + ] + ], + [ + "versions.yml:md5,4b7dccb03c75e8e94d7c6bdefaa90c95", + "versions.yml:md5,d3e911c025e35de092f7ef0073ccf807", + "versions.yml:md5,df54ea89f3bcb7e5952e7e3dae1d22a4", + "versions.yml:md5,e66aeb30f8646d583bec6fbf4fe02426" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-05-02T16:12:09.796799525" + } +} \ No newline at end of file diff --git a/subworkflows/nf-core/bam_variant_demix_boot_freyja/tests/tags.yml b/subworkflows/nf-core/bam_variant_demix_boot_freyja/tests/tags.yml new file mode 100644 index 00000000..f0c88761 --- /dev/null +++ b/subworkflows/nf-core/bam_variant_demix_boot_freyja/tests/tags.yml @@ -0,0 +1,2 @@ +subworkflows/bam_variant_demix_boot_freyja: + - subworkflows/nf-core/bam_variant_demix_boot_freyja/** diff --git a/subworkflows/nf-core/utils_nfcore_pipeline/main.nf b/subworkflows/nf-core/utils_nfcore_pipeline/main.nf index a8b55d6f..14558c39 100644 --- a/subworkflows/nf-core/utils_nfcore_pipeline/main.nf +++ b/subworkflows/nf-core/utils_nfcore_pipeline/main.nf @@ -65,9 +65,15 @@ def checkProfileProvided(nextflow_cli_args) { // Citation string for pipeline // def workflowCitation() { + def temp_doi_ref = "" + String[] manifest_doi = workflow.manifest.doi.tokenize(",") + // Using a loop to handle multiple DOIs + // Removing `https://doi.org/` to handle pipelines using DOIs vs DOI resolvers + // Removing ` ` since the manifest.doi is a string and not a proper list + for (String doi_ref: manifest_doi) temp_doi_ref += " https://doi.org/${doi_ref.replace('https://doi.org/', '').replace(' ', '')}\n" return "If you use ${workflow.manifest.name} for your analysis please cite:\n\n" + "* The pipeline\n" + - " ${workflow.manifest.doi}\n\n" + + temp_doi_ref + "\n" + "* The nf-core framework\n" + " https://doi.org/10.1038/s41587-020-0439-x\n\n" + "* Software dependencies\n" + diff --git a/workflows/illumina.nf b/workflows/illumina.nf index d2cf6171..7de8bbe4 100644 --- a/workflows/illumina.nf +++ b/workflows/illumina.nf @@ -472,6 +472,7 @@ workflow ILLUMINA { BAM_VARIANT_DEMIX_BOOT_FREYJA( ch_bam, PREPARE_GENOME.out.fasta, + params.skip_freyja_boot, params.freyja_repeats, params.freyja_db_name, params.freyja_barcodes, diff --git a/workflows/nanopore.nf b/workflows/nanopore.nf index 08bb9e0b..a46fca24 100644 --- a/workflows/nanopore.nf +++ b/workflows/nanopore.nf @@ -459,6 +459,7 @@ workflow NANOPORE { BAM_VARIANT_DEMIX_BOOT_FREYJA( ARTIC_MINION.out.bam_primertrimmed, PREPARE_GENOME.out.fasta, + params.skip_freyja_boot, params.freyja_repeats, params.freyja_db_name, params.freyja_barcodes,