diff --git a/modules/nf-core/kma/kma/environment.yml b/modules/nf-core/kma/kma/environment.yml new file mode 100644 index 00000000000..6bc1acaf1a9 --- /dev/null +++ b/modules/nf-core/kma/kma/environment.yml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - bioconda + - conda-forge +dependencies: + - kma==1.4.15 \ No newline at end of file diff --git a/modules/nf-core/kma/kma/main.nf b/modules/nf-core/kma/kma/main.nf new file mode 100644 index 00000000000..dbbb0e6a4e5 --- /dev/null +++ b/modules/nf-core/kma/kma/main.nf @@ -0,0 +1,68 @@ +process KMA_KMA { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container + ? 'https://depot.galaxyproject.org/singularity/kma:1.4.15--h577a1d6_1' + : 'community.wave.seqera.io/library/kma:1.4.15--8c4917292aa92df7'}" + + input: + tuple val(meta), path(reads) + tuple val(meta2), path(index) + val interleaved + val mat_format + + output: + tuple val(meta), path("*.res"), optional: true, emit: res + tuple val(meta), path("*.fsa"), optional: true, emit: fsa + tuple val(meta), path("*.aln"), optional: true, emit: aln + tuple val(meta), path("*.frag.gz"), optional: true, emit: frag + tuple val(meta), path("*.mat.gz"), optional: true, emit: mat + // if mat_format == true + tuple val(meta), path("*.spa"), optional: true, emit: spa + // if ext.args contains '-Sparse' (only output in this case) + path "versions.yml", emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}.${meta2.id}" + def input_style = interleaved ? "-int ${reads}" : "-ipe ${reads}" + def create_mat = mat_format ? "-matrix" : '' + """ + INDEX=`find -L ./ -name "*.name" | sed 's/\\.name\$//'` + + kma \\ + ${input_style} \\ + -o ${prefix} \\ + -t_db \$INDEX \\ + ${create_mat} \\ + ${args} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + kma: \$(echo \$(kma -v 2>&1) | sed 's/^KMA-\$//') + END_VERSIONS + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}.${meta2.id}" + def create_spa = task.ext.args.contains('-Sparse') ? + "touch ${prefix}.spa" : + "touch ${prefix}.res; touch ${prefix}.fsa; touch ${prefix}.aln; echo \"\" | gzip > ${prefix}.frag.gz" + def create_mat = mat_format ? + "echo \"\" | gzip > ${prefix}.mat.gz " : "" + + """ + ${create_spa} + ${create_mat} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + kma: \$(echo \$(kma -v 2>&1) | sed 's/^KMA-\$//') + END_VERSIONS + """ +} diff --git a/modules/nf-core/kma/kma/meta.yml b/modules/nf-core/kma/kma/meta.yml new file mode 100644 index 00000000000..920ac66ae35 --- /dev/null +++ b/modules/nf-core/kma/kma/meta.yml @@ -0,0 +1,117 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json +name: "KMA_KMA" +description: Aligning reads to a DB via KMA alignment +keywords: + - fastq + - reads + - alignment + - kma +tools: + - "kma": + description: "Rapid and precise alignment of raw reads against redundant databases with KMA" + homepage: "https://bitbucket.org/genomicepidemiology/kma/src/master/" + documentation: "https://bitbucket.org/genomicepidemiology/kma/src/master/" + tool_dev_url: "https://bitbucket.org/genomicepidemiology/kma/src/master/" + doi: "10.1186/s12859-018-2336-6" + licence: ["Apache-2.0"] + +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'sample' ] + - reads: + type: file + description: FASTQ files + pattern: "*.{fastq,fq}" + - - meta2: + type: map + description: | + Groovy Map containing reference index information + e.g. [ id:'reference' ] + - index: + type: file + description: kma database file generated via kma_index + pattern: "*.{comp.b,length.b,name,seq.b}" + - - interleaved: + type: boolean + description: use one interleaved fastq file (true) or two paired fastq files (false) + pattern: "true or false" + - - mat_format: + type: boolean + description: generate additional matrix file (true) or not (false) + pattern: "true or false" + +output: + - res: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'reference' ] + - "*.res": + type: file + description: A result overview giving the most common statistics for each mapped template. + pattern: "*.{res}" + - fsa: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'reference' ] + - "*.fsa": + type: file + description: The consensus sequences drawn from the alignments. + pattern: "*.{fsa}" + - aln: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'reference' ] + - "*.aln": + type: file + description: The consensus alignment of the reads against their template. + pattern: "*.{aln}" + - frag: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'reference' ] + - "*.frag.gz": + type: file + description: Mapping information on each mapped read, where the columns are read, number of equally well mapping templates, mapping score, start position, end position (w.r.t. template), the choosen template. + pattern: "*.{frag.gz}" + - mat: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'reference' ] + - "*.mat.gz": + type: file + description: Base counts on each position in each template, (only if -matrix is enabled). + pattern: "*.{mat.gz}" + - spa: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'reference' ] + - "*.spa": + type: file + description: Text file containing the top scoring references. Note that kma (v1.4.15) can only use spare alignment if the kma index was also build with the sparse option. + pattern: "*.{spa}" + - versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + +authors: + - "@Krannich479" +maintainers: + - "@Krannich479" diff --git a/modules/nf-core/kma/kma/tests/main.nf.test b/modules/nf-core/kma/kma/tests/main.nf.test new file mode 100644 index 00000000000..7acb56d52c5 --- /dev/null +++ b/modules/nf-core/kma/kma/tests/main.nf.test @@ -0,0 +1,262 @@ +nextflow_process { + + name "Test Process KMA_KMA" + tag "modules" + tag "modules_nfcore" + tag "kma" + tag "kma/index" + tag "kma/kma" + + script "../main.nf" + process "KMA_KMA" + config "./nextflow.config" + + + setup { + + run("KMA_INDEX", alias: "KMA_INDEX_SPARSE") { + script "../../index/main.nf" + + params { + module_args = '-Sparse' + } + + process { + """ + input[0] = [ + [ id: 'MT192765.1', single_end:false ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + + run("KMA_INDEX", alias: "KMA_INDEX_ALL") { + script "../../index/main.nf" + + params { + module_args = '' + } + + process { + """ + input[0] = [ + [ id: 'MT192765.1', single_end:false ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + + } + + test("sarscov2 - fasta - sparse") { + + when { + + params{ + module_args = '-Sparse' + } + + process { + """ + input[0] = [ + [ id:'nfcore_testsample', single_end:false ], + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ] + ] + input[1] = KMA_INDEX_SPARSE.out.index + input[2] = false + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + + test("sarscov2 - fasta - sparse - stub") { + + options "-stub" + + when { + + params{ + module_args = '-Sparse' + } + + process { + """ + input[0] = [ + [ id:'nfcore_testsample', single_end:false ], + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ] + ] + input[1] = KMA_INDEX_SPARSE.out.index + input[2] = false + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("sarscov2 - fasta") { + + when { + + params { + module_args = '' + } + + process { + """ + input[0] = [ + [ id:'nfcore_testsample', single_end:false ], + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ] + ] + input[1] = KMA_INDEX_ALL.out.index + input[2] = false + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + + test("sarscov2 - fasta - stub") { + + options "-stub" + + when { + + params { + module_args = '' + } + + process { + """ + input[0] = [ + [ id:'nfcore_testsample', single_end:false ], + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ] + ] + input[1] = KMA_INDEX_ALL.out.index + input[2] = false + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + + test("sarscov2 - fasta - matrix") { + + when { + + params { + module_args = '' + } + + process { + """ + input[0] = [ + [ id:'nfcore_testsample', single_end:false ], + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ] + ] + input[1] = KMA_INDEX_ALL.out.index + input[2] = false + input[3] = true + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + + test("sarscov2 - fasta - matrix - stub") { + + options "-stub" + + when { + + params { + module_args = '' + } + + process { + """ + input[0] = [ + [ id:'nfcore_testsample', single_end:false ], + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ] + ] + input[1] = KMA_INDEX_ALL.out.index + input[2] = false + input[3] = true + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + +} \ No newline at end of file diff --git a/modules/nf-core/kma/kma/tests/main.nf.test.snap b/modules/nf-core/kma/kma/tests/main.nf.test.snap new file mode 100644 index 00000000000..1791bf076e2 --- /dev/null +++ b/modules/nf-core/kma/kma/tests/main.nf.test.snap @@ -0,0 +1,560 @@ +{ + "sarscov2 - fasta - stub": { + "content": [ + { + "0": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.res:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.fsa:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.aln:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.frag.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "4": [ + + ], + "5": [ + + ], + "6": [ + "versions.yml:md5,34dfbb526ffb5af00ea74f1a1d4ed24a" + ], + "aln": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.aln:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "frag": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.frag.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "fsa": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.fsa:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "mat": [ + + ], + "res": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.res:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "spa": [ + + ], + "versions": [ + "versions.yml:md5,34dfbb526ffb5af00ea74f1a1d4ed24a" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-15T17:45:52.992725036" + }, + "sarscov2 - fasta - matrix - stub": { + "content": [ + { + "0": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.res:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.fsa:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.aln:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.frag.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "4": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.mat.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "5": [ + + ], + "6": [ + "versions.yml:md5,34dfbb526ffb5af00ea74f1a1d4ed24a" + ], + "aln": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.aln:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "frag": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.frag.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "fsa": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.fsa:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "mat": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.mat.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "res": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.res:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "spa": [ + + ], + "versions": [ + "versions.yml:md5,34dfbb526ffb5af00ea74f1a1d4ed24a" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-15T17:46:04.920221183" + }, + "sarscov2 - fasta - sparse": { + "content": [ + { + "0": [ + + ], + "1": [ + + ], + "2": [ + + ], + "3": [ + + ], + "4": [ + + ], + "5": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.spa:md5,301526477a85b79818e648d3ed6fe770" + ] + ], + "6": [ + "versions.yml:md5,34dfbb526ffb5af00ea74f1a1d4ed24a" + ], + "aln": [ + + ], + "frag": [ + + ], + "fsa": [ + + ], + "mat": [ + + ], + "res": [ + + ], + "spa": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.spa:md5,301526477a85b79818e648d3ed6fe770" + ] + ], + "versions": [ + "versions.yml:md5,34dfbb526ffb5af00ea74f1a1d4ed24a" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-15T17:45:34.737539356" + }, + "sarscov2 - fasta - sparse - stub": { + "content": [ + { + "0": [ + + ], + "1": [ + + ], + "2": [ + + ], + "3": [ + + ], + "4": [ + + ], + "5": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.spa:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "6": [ + "versions.yml:md5,34dfbb526ffb5af00ea74f1a1d4ed24a" + ], + "aln": [ + + ], + "frag": [ + + ], + "fsa": [ + + ], + "mat": [ + + ], + "res": [ + + ], + "spa": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.spa:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,34dfbb526ffb5af00ea74f1a1d4ed24a" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-15T17:45:40.829730985" + }, + "sarscov2 - fasta": { + "content": [ + { + "0": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.res:md5,552e159bed8f639a7accfa02d0d4a844" + ] + ], + "1": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.fsa:md5,610fd9c7f59264fb9681139eeb29db05" + ] + ], + "2": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.aln:md5,4a45f6f80dfc89ecaff98714ac8f83a3" + ] + ], + "3": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.frag.gz:md5,c8a5b5f17493b32c4fbb8f197c290b3c" + ] + ], + "4": [ + + ], + "5": [ + + ], + "6": [ + "versions.yml:md5,34dfbb526ffb5af00ea74f1a1d4ed24a" + ], + "aln": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.aln:md5,4a45f6f80dfc89ecaff98714ac8f83a3" + ] + ], + "frag": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.frag.gz:md5,c8a5b5f17493b32c4fbb8f197c290b3c" + ] + ], + "fsa": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.fsa:md5,610fd9c7f59264fb9681139eeb29db05" + ] + ], + "mat": [ + + ], + "res": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.res:md5,552e159bed8f639a7accfa02d0d4a844" + ] + ], + "spa": [ + + ], + "versions": [ + "versions.yml:md5,34dfbb526ffb5af00ea74f1a1d4ed24a" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-15T17:45:46.809305392" + }, + "sarscov2 - fasta - matrix": { + "content": [ + { + "0": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.res:md5,552e159bed8f639a7accfa02d0d4a844" + ] + ], + "1": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.fsa:md5,610fd9c7f59264fb9681139eeb29db05" + ] + ], + "2": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.aln:md5,4a45f6f80dfc89ecaff98714ac8f83a3" + ] + ], + "3": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.frag.gz:md5,c8a5b5f17493b32c4fbb8f197c290b3c" + ] + ], + "4": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.mat.gz:md5,5f5894f6a923ab2b45aa5f31fbacc92c" + ] + ], + "5": [ + + ], + "6": [ + "versions.yml:md5,34dfbb526ffb5af00ea74f1a1d4ed24a" + ], + "aln": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.aln:md5,4a45f6f80dfc89ecaff98714ac8f83a3" + ] + ], + "frag": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.frag.gz:md5,c8a5b5f17493b32c4fbb8f197c290b3c" + ] + ], + "fsa": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.fsa:md5,610fd9c7f59264fb9681139eeb29db05" + ] + ], + "mat": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.mat.gz:md5,5f5894f6a923ab2b45aa5f31fbacc92c" + ] + ], + "res": [ + [ + { + "id": "nfcore_testsample", + "single_end": false + }, + "nfcore_testsample.MT192765.1.res:md5,552e159bed8f639a7accfa02d0d4a844" + ] + ], + "spa": [ + + ], + "versions": [ + "versions.yml:md5,34dfbb526ffb5af00ea74f1a1d4ed24a" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-15T17:45:59.012661145" + } +} \ No newline at end of file diff --git a/modules/nf-core/kma/kma/tests/nextflow.config b/modules/nf-core/kma/kma/tests/nextflow.config new file mode 100644 index 00000000000..0722800d382 --- /dev/null +++ b/modules/nf-core/kma/kma/tests/nextflow.config @@ -0,0 +1,11 @@ +process { + + withName: 'KMA_INDEX' { + ext.args = params.module_args + } + + withName: 'KMA_KMA' { + ext.args = params.module_args + } + +} \ No newline at end of file diff --git a/modules/nf-core/kma/kma/tests/tags.yml b/modules/nf-core/kma/kma/tests/tags.yml new file mode 100644 index 00000000000..e9aeb09fc87 --- /dev/null +++ b/modules/nf-core/kma/kma/tests/tags.yml @@ -0,0 +1,2 @@ +kma/kma: + - "modules/nf-core/kma/kma/**" \ No newline at end of file