diff --git a/modules/nf-core/untarfiles/environment.yml b/modules/nf-core/untarfiles/environment.yml index 30ff7d8f588..9ed33552919 100644 --- a/modules/nf-core/untarfiles/environment.yml +++ b/modules/nf-core/untarfiles/environment.yml @@ -4,5 +4,5 @@ channels: dependencies: - bioconda::grep=3.4 - - conda-forge::sed=4.7 + - conda-forge::sed=4.8 - conda-forge::tar=1.34 diff --git a/modules/nf-core/untarfiles/main.nf b/modules/nf-core/untarfiles/main.nf index de27e67cdd1..bae7838c49b 100644 --- a/modules/nf-core/untarfiles/main.nf +++ b/modules/nf-core/untarfiles/main.nf @@ -1,11 +1,17 @@ +def deprecation_message = """ +WARNING: This module has been deprecated. + +Reason: +This module is no longer recommended for use. It is recommended to use nf-core/modules/untar +""" process UNTARFILES { tag "$archive" label 'process_single' conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/ubuntu:20.04' : - 'nf-core/ubuntu:20.04' }" + 'oras://community.wave.seqera.io/library/grep_sed_tar:40b34489f8e82876' : + 'community.wave.seqera.io/library/grep_sed_tar:16f6591cd62505b3' }" input: tuple val(meta), path(archive) @@ -18,6 +24,7 @@ process UNTARFILES { task.ext.when == null || task.ext.when script: + assert true: deprecation_message def args = task.ext.args ?: '' def args2 = task.ext.args2 ?: '' prefix = task.ext.prefix ?: ( meta.id ? "${meta.id}" : archive.baseName.toString().replaceFirst(/\.tar$/, "")) @@ -39,6 +46,7 @@ process UNTARFILES { """ stub: + assert true: deprecation_message prefix = task.ext.prefix ?: "${meta.id}" """ mkdir $prefix diff --git a/modules/nf-core/untarfiles/tests/main.nf.test b/modules/nf-core/untarfiles/tests/main.nf.test new file mode 100644 index 00000000000..4e3acf5bd72 --- /dev/null +++ b/modules/nf-core/untarfiles/tests/main.nf.test @@ -0,0 +1,104 @@ + +nextflow_process { + + name "Test Process UNTARFILES" + script "../main.nf" + process "UNTARFILES" + + tag "modules" + tag "modules_nfcore" + tag "untarfiles" + + test("test-untarfiles") { + + when { + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/db/kraken2.tar.gz', checkIfExists: true) + ] + + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test-untarfiles-subdirectories") { + + when { + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bcl/flowcell.tar.gz', checkIfExists: true) + ] + + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.files[0][1].collect { file(it).name }.toSorted(), + process.out.versions + ).match() + } + ) + } + } + + test("test-untarfiles-onlyfiles") { + + when { + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + 'generic/tar/hello.tar.gz', checkIfExists: true) + ] + + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test-untarfiles-onlyfiles-stub") { + options '-stub' + when { + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + 'generic/tar/hello.tar.gz', checkIfExists: true) + ] + + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + +} \ No newline at end of file diff --git a/modules/nf-core/untarfiles/tests/main.nf.test.snap b/modules/nf-core/untarfiles/tests/main.nf.test.snap new file mode 100644 index 00000000000..33452a0827b --- /dev/null +++ b/modules/nf-core/untarfiles/tests/main.nf.test.snap @@ -0,0 +1,356 @@ +{ + "test-untarfiles-onlyfiles-stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "file.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + "versions.yml:md5,4414b00143ed6076881ba7c68ed8b6cf" + ], + "files": [ + [ + { + "id": "test" + }, + "file.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,4414b00143ed6076881ba7c68ed8b6cf" + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.4" + }, + "timestamp": "2024-08-29T12:22:11.239416" + }, + "test-untarfiles-subdirectories": { + "content": [ + [ + "ControlMetricsOut.bin", + "CorrectedIntMetricsOut.bin", + "ErrorMetricsOut.bin", + "ExtractionMetricsOut.bin", + "IndexMetricsOut.bin", + "QMetricsOut.bin", + "RTAConfiguration.xml", + "RunInfo.xml", + "TileMetricsOut.bin", + "config.xml", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.bcl", + "s_1_1101.control", + "s_1_1101.filter", + "s_1_1101.locs", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats", + "s_1_1101.stats" + ], + [ + "versions.yml:md5,4414b00143ed6076881ba7c68ed8b6cf" + ] + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.04.4" + }, + "timestamp": "2024-09-05T15:40:04.563426" + }, + "test-untarfiles": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + [ + "hash.k2d:md5,8b8598468f54a7087c203ad0190555d9", + "opts.k2d:md5,a033d00cf6759407010b21700938f543", + "taxo.k2d:md5,094d5891cdccf2f1468088855c214b2c" + ] + ] + ], + "1": [ + "versions.yml:md5,4414b00143ed6076881ba7c68ed8b6cf" + ], + "files": [ + [ + { + "id": "test" + }, + [ + "hash.k2d:md5,8b8598468f54a7087c203ad0190555d9", + "opts.k2d:md5,a033d00cf6759407010b21700938f543", + "taxo.k2d:md5,094d5891cdccf2f1468088855c214b2c" + ] + ] + ], + "versions": [ + "versions.yml:md5,4414b00143ed6076881ba7c68ed8b6cf" + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.4" + }, + "timestamp": "2024-08-29T12:21:44.153411" + }, + "test-untarfiles-onlyfiles": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "hello.txt:md5,e59ff97941044f85df5297e1c302d260" + ] + ], + "1": [ + "versions.yml:md5,4414b00143ed6076881ba7c68ed8b6cf" + ], + "files": [ + [ + { + "id": "test" + }, + "hello.txt:md5,e59ff97941044f85df5297e1c302d260" + ] + ], + "versions": [ + "versions.yml:md5,4414b00143ed6076881ba7c68ed8b6cf" + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.4" + }, + "timestamp": "2024-08-29T12:22:06.329486" + } +} diff --git a/tests/config/pytest_modules.yml b/tests/config/pytest_modules.yml index 83f3c37d11f..07e2e0108a2 100644 --- a/tests/config/pytest_modules.yml +++ b/tests/config/pytest_modules.yml @@ -804,9 +804,6 @@ umitools/group: universc: - modules/nf-core/universc/** - tests/modules/nf-core/universc/** -untarfiles: - - modules/nf-core/untarfiles/** - - tests/modules/nf-core/untarfiles/** varlociraptor/callvariants: - modules/nf-core/varlociraptor/callvariants/** - tests/modules/nf-core/varlociraptor/callvariants/** diff --git a/tests/modules/nf-core/untarfiles/main.nf b/tests/modules/nf-core/untarfiles/main.nf deleted file mode 100644 index 92d9b0b06e9..00000000000 --- a/tests/modules/nf-core/untarfiles/main.nf +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env nextflow - -nextflow.enable.dsl = 2 - -include { UNTARFILES } from '../../../../modules/nf-core/untarfiles/main.nf' - -workflow test_untarfiles { - input = [ - [id: 'test'], - file(params.test_data['sarscov2']['genome']['kraken2_tar_gz'], checkIfExists: true) - ] - - UNTARFILES ( input ) -} - -workflow test_untarfiles_different_output_path { - input = [ - [id: 'test'], - file(params.test_data['homo_sapiens']['illumina']['test_flowcell'], checkIfExists: true) - ] - - UNTARFILES ( input ) -} - - -workflow test_untarfiles_onlyfiles { - input = [ - [id: 'test'], - file(params.test_data['generic']['tar']['tar_gz'], checkIfExists: true) - ] - - UNTARFILES ( input ) -} diff --git a/tests/modules/nf-core/untarfiles/nextflow.config b/tests/modules/nf-core/untarfiles/nextflow.config deleted file mode 100644 index 8730f1c4b93..00000000000 --- a/tests/modules/nf-core/untarfiles/nextflow.config +++ /dev/null @@ -1,5 +0,0 @@ -process { - - publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } - -} diff --git a/tests/modules/nf-core/untarfiles/test.yml b/tests/modules/nf-core/untarfiles/test.yml deleted file mode 100644 index 59d77f61c6f..00000000000 --- a/tests/modules/nf-core/untarfiles/test.yml +++ /dev/null @@ -1,30 +0,0 @@ -- name: untarfiles test_untarfiles - command: nextflow run ./tests/modules/nf-core/untarfiles -entry test_untarfiles -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/untarfiles/nextflow.config - tags: - - untarfiles - files: - - path: output/untarfiles/test/kraken2/hash.k2d - md5sum: 8b8598468f54a7087c203ad0190555d9 - - path: output/untarfiles/test/kraken2/opts.k2d - md5sum: a033d00cf6759407010b21700938f543 - - path: output/untarfiles/test/kraken2/taxo.k2d - md5sum: 094d5891cdccf2f1468088855c214b2c - - path: output/untarfiles/versions.yml - -- name: untarfiles test_untarfiles_different_output_path - command: nextflow run ./tests/modules/nf-core/untarfiles -entry test_untarfiles_different_output_path -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/untarfiles/nextflow.config - tags: - - untarfiles - files: - - path: output/untarfiles/test/220422_M11111_0222_000000000-K9H97/RunInfo.xml - md5sum: 03038959f4dd181c86bc97ae71fe270a - - path: output/untarfiles/versions.yml - -- name: untarfiles test_untarfiles_onlyfiles - command: nextflow run ./tests/modules/nf-core/untarfiles -entry test_untarfiles_onlyfiles -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/untarfiles/nextflow.config - tags: - - untarfiles - files: - - path: output/untarfiles/test/hello.txt - md5sum: e59ff97941044f85df5297e1c302d260 - - path: output/untarfiles/versions.yml