From f6540f76c7863fd9d6db280f59f55f058b47c587 Mon Sep 17 00:00:00 2001 From: Usman Rashid Date: Thu, 5 Sep 2024 17:31:33 +1200 Subject: [PATCH 1/4] Added nf-test for mmseqs/databases --- .../mmseqs/databases/tests/main.nf.test | 51 ++++++++++ .../mmseqs/databases/tests/main.nf.test.snap | 96 +++++++++++++++++++ tests/config/pytest_modules.yml | 3 - .../modules/nf-core/mmseqs/databases/main.nf | 12 --- .../nf-core/mmseqs/databases/nextflow.config | 5 - .../modules/nf-core/mmseqs/databases/test.yml | 18 ---- 6 files changed, 147 insertions(+), 38 deletions(-) create mode 100644 modules/nf-core/mmseqs/databases/tests/main.nf.test create mode 100644 modules/nf-core/mmseqs/databases/tests/main.nf.test.snap delete mode 100644 tests/modules/nf-core/mmseqs/databases/main.nf delete mode 100644 tests/modules/nf-core/mmseqs/databases/nextflow.config delete mode 100644 tests/modules/nf-core/mmseqs/databases/test.yml diff --git a/modules/nf-core/mmseqs/databases/tests/main.nf.test b/modules/nf-core/mmseqs/databases/tests/main.nf.test new file mode 100644 index 00000000000..fdb7ef9ff07 --- /dev/null +++ b/modules/nf-core/mmseqs/databases/tests/main.nf.test @@ -0,0 +1,51 @@ + +nextflow_process { + + name "Test Process MMSEQS_DATABASES" + script "../main.nf" + process "MMSEQS_DATABASES" + + tag "modules" + tag "modules_nfcore" + tag "mmseqs" + tag "mmseqs/databases" + + test("test-mmseqs-databases") { + + when { + process { + """ + input[0] = "SILVA" + + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test-mmseqs-databases-stub") { + options '-stub' + when { + process { + """ + input[0] = "SILVA" + + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + +} diff --git a/modules/nf-core/mmseqs/databases/tests/main.nf.test.snap b/modules/nf-core/mmseqs/databases/tests/main.nf.test.snap new file mode 100644 index 00000000000..a28e6eecfdd --- /dev/null +++ b/modules/nf-core/mmseqs/databases/tests/main.nf.test.snap @@ -0,0 +1,96 @@ +{ + "test-mmseqs-databases": { + "content": [ + { + "0": [ + [ + "database:md5,1c0ce0899156843604869205a1fdebf7", + "database.dbtype:md5,c8ed20c23ba91f4577f84c940c86c7db", + "database.index:md5,19128cfcc6d0fa5dd7451938e8e7481f", + "database.lookup:md5,03cb3ae6b0580a858ddf5fd5eb1e4cab", + "database.source:md5,acf29bfb5e2a3febe53a3349d778cacd", + "database.version:md5,03643ccd1930642c55e3cfca40a7309f", + "database_h:md5,8931d1d093e2332a134ec5f2b6c12ca4", + "database_h.dbtype:md5,8895d3d8e9322aedbf45249dfb3ddb0a", + "database_h.index:md5,976c04c17837a4ba64ec119588339f14", + "database_mapping:md5,712219037a5f289aa210c0681e4dc82f", + "database_taxonomy:md5,b3d9d456534c691fdd3e158887892bab" + ] + ], + "1": [ + "versions.yml:md5,b038db45e5934b8f0f743449bbac01b4" + ], + "database": [ + [ + "database:md5,1c0ce0899156843604869205a1fdebf7", + "database.dbtype:md5,c8ed20c23ba91f4577f84c940c86c7db", + "database.index:md5,19128cfcc6d0fa5dd7451938e8e7481f", + "database.lookup:md5,03cb3ae6b0580a858ddf5fd5eb1e4cab", + "database.source:md5,acf29bfb5e2a3febe53a3349d778cacd", + "database.version:md5,03643ccd1930642c55e3cfca40a7309f", + "database_h:md5,8931d1d093e2332a134ec5f2b6c12ca4", + "database_h.dbtype:md5,8895d3d8e9322aedbf45249dfb3ddb0a", + "database_h.index:md5,976c04c17837a4ba64ec119588339f14", + "database_mapping:md5,712219037a5f289aa210c0681e4dc82f", + "database_taxonomy:md5,b3d9d456534c691fdd3e158887892bab" + ] + ], + "versions": [ + "versions.yml:md5,b038db45e5934b8f0f743449bbac01b4" + ] + } + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.04.4" + }, + "timestamp": "2024-09-05T17:00:12.286094" + }, + "test-mmseqs-databases-stub": { + "content": [ + { + "0": [ + [ + "database:md5,d41d8cd98f00b204e9800998ecf8427e", + "database.dbtype:md5,d41d8cd98f00b204e9800998ecf8427e", + "database.index:md5,d41d8cd98f00b204e9800998ecf8427e", + "database.lookup:md5,d41d8cd98f00b204e9800998ecf8427e", + "database.source:md5,d41d8cd98f00b204e9800998ecf8427e", + "database.version:md5,d41d8cd98f00b204e9800998ecf8427e", + "database_h:md5,d41d8cd98f00b204e9800998ecf8427e", + "database_h.dbtype:md5,d41d8cd98f00b204e9800998ecf8427e", + "database_h.index:md5,d41d8cd98f00b204e9800998ecf8427e", + "database_mapping:md5,d41d8cd98f00b204e9800998ecf8427e", + "database_taxonomy:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + "versions.yml:md5,49082428ec974e4ddb09a6ca2e9f21b3" + ], + "database": [ + [ + "database:md5,d41d8cd98f00b204e9800998ecf8427e", + "database.dbtype:md5,d41d8cd98f00b204e9800998ecf8427e", + "database.index:md5,d41d8cd98f00b204e9800998ecf8427e", + "database.lookup:md5,d41d8cd98f00b204e9800998ecf8427e", + "database.source:md5,d41d8cd98f00b204e9800998ecf8427e", + "database.version:md5,d41d8cd98f00b204e9800998ecf8427e", + "database_h:md5,d41d8cd98f00b204e9800998ecf8427e", + "database_h.dbtype:md5,d41d8cd98f00b204e9800998ecf8427e", + "database_h.index:md5,d41d8cd98f00b204e9800998ecf8427e", + "database_mapping:md5,d41d8cd98f00b204e9800998ecf8427e", + "database_taxonomy:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,49082428ec974e4ddb09a6ca2e9f21b3" + ] + } + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.04.4" + }, + "timestamp": "2024-09-05T17:00:20.527628" + } +} \ No newline at end of file diff --git a/tests/config/pytest_modules.yml b/tests/config/pytest_modules.yml index 5866c9d4e29..1d81c75ede3 100644 --- a/tests/config/pytest_modules.yml +++ b/tests/config/pytest_modules.yml @@ -473,9 +473,6 @@ mitohifi/mitohifi: mmseqs/cluster: - modules/nf-core/mmseqs/cluster/** - tests/modules/nf-core/mmseqs/cluster/** -mmseqs/databases: - - modules/nf-core/mmseqs/databases/** - - tests/modules/nf-core/mmseqs/databases/** mmseqs/easysearch: - modules/nf-core/mmseqs/easysearch/** - tests/modules/nf-core/mmseqs/easysearch/** diff --git a/tests/modules/nf-core/mmseqs/databases/main.nf b/tests/modules/nf-core/mmseqs/databases/main.nf deleted file mode 100644 index bd0bb9d4eb6..00000000000 --- a/tests/modules/nf-core/mmseqs/databases/main.nf +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env nextflow - -nextflow.enable.dsl = 2 - -include { MMSEQS_DATABASES } from '../../../../../modules/nf-core/mmseqs/databases/main.nf' - -workflow test_mmseqs_databases { - - input = "SILVA" - - MMSEQS_DATABASES ( input ) -} diff --git a/tests/modules/nf-core/mmseqs/databases/nextflow.config b/tests/modules/nf-core/mmseqs/databases/nextflow.config deleted file mode 100644 index 50f50a7a357..00000000000 --- a/tests/modules/nf-core/mmseqs/databases/nextflow.config +++ /dev/null @@ -1,5 +0,0 @@ -process { - - publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } - -} \ No newline at end of file diff --git a/tests/modules/nf-core/mmseqs/databases/test.yml b/tests/modules/nf-core/mmseqs/databases/test.yml deleted file mode 100644 index dee34721b30..00000000000 --- a/tests/modules/nf-core/mmseqs/databases/test.yml +++ /dev/null @@ -1,18 +0,0 @@ -- name: mmseqs databases test_mmseqs_databases - command: nextflow run ./tests/modules/nf-core/mmseqs/databases -entry test_mmseqs_databases -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/mmseqs/databases/nextflow.config - tags: - - mmseqs - - mmseqs/databases - files: - - path: output/mmseqs/mmseqs_database/database - - path: output/mmseqs/mmseqs_database/database.dbtype - - path: output/mmseqs/mmseqs_database/database.index - - path: output/mmseqs/mmseqs_database/database.lookup - - path: output/mmseqs/mmseqs_database/database.source - - path: output/mmseqs/mmseqs_database/database.version - - path: output/mmseqs/mmseqs_database/database_h - - path: output/mmseqs/mmseqs_database/database_h.dbtype - - path: output/mmseqs/mmseqs_database/database_h.index - - path: output/mmseqs/mmseqs_database/database_mapping - - path: output/mmseqs/mmseqs_database/database_taxonomy - - path: output/mmseqs/versions.yml From b90950cad657e61940177685e21afd57576d9efd Mon Sep 17 00:00:00 2001 From: Usman Rashid Date: Fri, 6 Sep 2024 15:27:16 +1200 Subject: [PATCH 2/4] Updated power assertion --- .../nf-core/mmseqs/databases/environment.yml | 1 - modules/nf-core/mmseqs/databases/main.nf | 4 +- .../mmseqs/databases/tests/main.nf.test | 12 ++-- .../mmseqs/databases/tests/main.nf.test.snap | 56 ++++++------------- 4 files changed, 27 insertions(+), 46 deletions(-) diff --git a/modules/nf-core/mmseqs/databases/environment.yml b/modules/nf-core/mmseqs/databases/environment.yml index 3bf8437d228..cad92fadd85 100644 --- a/modules/nf-core/mmseqs/databases/environment.yml +++ b/modules/nf-core/mmseqs/databases/environment.yml @@ -2,6 +2,5 @@ name: mmseqs_databases channels: - conda-forge - bioconda - - defaults dependencies: - bioconda::mmseqs2=15.6f452 diff --git a/modules/nf-core/mmseqs/databases/main.nf b/modules/nf-core/mmseqs/databases/main.nf index 3e228b29d51..d43681cea94 100644 --- a/modules/nf-core/mmseqs/databases/main.nf +++ b/modules/nf-core/mmseqs/databases/main.nf @@ -11,8 +11,8 @@ process MMSEQS_DATABASES { val database output: - path "${prefix}/" , emit: database - path "versions.yml" , emit: versions + path "${prefix}/" , emit: database + path "versions.yml" , emit: versions when: task.ext.when == null || task.ext.when diff --git a/modules/nf-core/mmseqs/databases/tests/main.nf.test b/modules/nf-core/mmseqs/databases/tests/main.nf.test index fdb7ef9ff07..094868202d5 100644 --- a/modules/nf-core/mmseqs/databases/tests/main.nf.test +++ b/modules/nf-core/mmseqs/databases/tests/main.nf.test @@ -11,7 +11,7 @@ nextflow_process { tag "mmseqs/databases" test("test-mmseqs-databases") { - + when { process { """ @@ -24,11 +24,15 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot( + file(process.out.database[0]).listFiles().collect { it.name }, // unstable + process.out.versions + ).match() + } ) } } - + test("test-mmseqs-databases-stub") { options '-stub' when { @@ -47,5 +51,5 @@ nextflow_process { ) } } - + } diff --git a/modules/nf-core/mmseqs/databases/tests/main.nf.test.snap b/modules/nf-core/mmseqs/databases/tests/main.nf.test.snap index a28e6eecfdd..ba41217378b 100644 --- a/modules/nf-core/mmseqs/databases/tests/main.nf.test.snap +++ b/modules/nf-core/mmseqs/databases/tests/main.nf.test.snap @@ -1,50 +1,28 @@ { "test-mmseqs-databases": { "content": [ - { - "0": [ - [ - "database:md5,1c0ce0899156843604869205a1fdebf7", - "database.dbtype:md5,c8ed20c23ba91f4577f84c940c86c7db", - "database.index:md5,19128cfcc6d0fa5dd7451938e8e7481f", - "database.lookup:md5,03cb3ae6b0580a858ddf5fd5eb1e4cab", - "database.source:md5,acf29bfb5e2a3febe53a3349d778cacd", - "database.version:md5,03643ccd1930642c55e3cfca40a7309f", - "database_h:md5,8931d1d093e2332a134ec5f2b6c12ca4", - "database_h.dbtype:md5,8895d3d8e9322aedbf45249dfb3ddb0a", - "database_h.index:md5,976c04c17837a4ba64ec119588339f14", - "database_mapping:md5,712219037a5f289aa210c0681e4dc82f", - "database_taxonomy:md5,b3d9d456534c691fdd3e158887892bab" - ] - ], - "1": [ - "versions.yml:md5,b038db45e5934b8f0f743449bbac01b4" - ], - "database": [ - [ - "database:md5,1c0ce0899156843604869205a1fdebf7", - "database.dbtype:md5,c8ed20c23ba91f4577f84c940c86c7db", - "database.index:md5,19128cfcc6d0fa5dd7451938e8e7481f", - "database.lookup:md5,03cb3ae6b0580a858ddf5fd5eb1e4cab", - "database.source:md5,acf29bfb5e2a3febe53a3349d778cacd", - "database.version:md5,03643ccd1930642c55e3cfca40a7309f", - "database_h:md5,8931d1d093e2332a134ec5f2b6c12ca4", - "database_h.dbtype:md5,8895d3d8e9322aedbf45249dfb3ddb0a", - "database_h.index:md5,976c04c17837a4ba64ec119588339f14", - "database_mapping:md5,712219037a5f289aa210c0681e4dc82f", - "database_taxonomy:md5,b3d9d456534c691fdd3e158887892bab" - ] - ], - "versions": [ - "versions.yml:md5,b038db45e5934b8f0f743449bbac01b4" - ] - } + [ + "database", + "database.lookup", + "database.dbtype", + "database.source", + "database_taxonomy", + "database_h", + "database.version", + "database_h.index", + "database_h.dbtype", + "database.index", + "database_mapping" + ], + [ + "versions.yml:md5,b038db45e5934b8f0f743449bbac01b4" + ] ], "meta": { "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-09-05T17:00:12.286094" + "timestamp": "2024-09-06T15:16:09.610461" }, "test-mmseqs-databases-stub": { "content": [ From 6af7fa769642d0cb1ef9e975263c4ee2dc37717d Mon Sep 17 00:00:00 2001 From: Usman Rashid Date: Fri, 6 Sep 2024 15:32:41 +1200 Subject: [PATCH 3/4] Removed defaults --- modules/nf-core/mmseqs/createtsv/environment.yml | 1 - modules/nf-core/mmseqs/taxonomy/environment.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/modules/nf-core/mmseqs/createtsv/environment.yml b/modules/nf-core/mmseqs/createtsv/environment.yml index 4840fc02945..6f1bd86b312 100644 --- a/modules/nf-core/mmseqs/createtsv/environment.yml +++ b/modules/nf-core/mmseqs/createtsv/environment.yml @@ -2,6 +2,5 @@ name: mmseqs_createtsv channels: - conda-forge - bioconda - - defaults dependencies: - bioconda::mmseqs2=15.6f452 diff --git a/modules/nf-core/mmseqs/taxonomy/environment.yml b/modules/nf-core/mmseqs/taxonomy/environment.yml index fa40c2770e1..89bc7c503d6 100644 --- a/modules/nf-core/mmseqs/taxonomy/environment.yml +++ b/modules/nf-core/mmseqs/taxonomy/environment.yml @@ -4,6 +4,5 @@ name: "mmseqs_taxonomy" channels: - conda-forge - bioconda - - defaults dependencies: - "bioconda::mmseqs2=15.6f452" From 2b5129d23389812a22c236f6227f6e7de3a5a786 Mon Sep 17 00:00:00 2001 From: Usman Rashid Date: Fri, 6 Sep 2024 15:46:11 +1200 Subject: [PATCH 4/4] Now sorting list --- .../nf-core/mmseqs/databases/tests/main.nf.test | 2 +- .../mmseqs/databases/tests/main.nf.test.snap | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/nf-core/mmseqs/databases/tests/main.nf.test b/modules/nf-core/mmseqs/databases/tests/main.nf.test index 094868202d5..3fe5d20069d 100644 --- a/modules/nf-core/mmseqs/databases/tests/main.nf.test +++ b/modules/nf-core/mmseqs/databases/tests/main.nf.test @@ -25,7 +25,7 @@ nextflow_process { assertAll( { assert process.success }, { assert snapshot( - file(process.out.database[0]).listFiles().collect { it.name }, // unstable + file(process.out.database[0]).listFiles().collect { it.name }.toSorted(), // unstable process.out.versions ).match() } diff --git a/modules/nf-core/mmseqs/databases/tests/main.nf.test.snap b/modules/nf-core/mmseqs/databases/tests/main.nf.test.snap index ba41217378b..00d3003ebbc 100644 --- a/modules/nf-core/mmseqs/databases/tests/main.nf.test.snap +++ b/modules/nf-core/mmseqs/databases/tests/main.nf.test.snap @@ -3,16 +3,16 @@ "content": [ [ "database", - "database.lookup", "database.dbtype", + "database.index", + "database.lookup", "database.source", - "database_taxonomy", - "database_h", "database.version", - "database_h.index", + "database_h", "database_h.dbtype", - "database.index", - "database_mapping" + "database_h.index", + "database_mapping", + "database_taxonomy" ], [ "versions.yml:md5,b038db45e5934b8f0f743449bbac01b4" @@ -22,7 +22,7 @@ "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-09-06T15:16:09.610461" + "timestamp": "2024-09-06T15:43:58.454012" }, "test-mmseqs-databases-stub": { "content": [