From ab8184be2d1b71611da89645f4cc3c5529437644 Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Wed, 13 Mar 2024 12:03:12 +0000 Subject: [PATCH 01/21] Add ribotricer/detectorfs --- .../ribotricer/detectorfs/environment.yml | 9 + modules/nf-core/ribotricer/detectorfs/main.nf | 55 +++++ .../nf-core/ribotricer/detectorfs/meta.yml | 41 ++++ .../ribotricer/detectorfs/tests/main.nf.test | 70 ++++++ .../detectorfs/tests/main.nf.test.snap | 205 ++++++++++++++++++ .../detectorfs/tests/nextflow.config | 11 + .../ribotricer/detectorfs/tests/tags.yml | 2 + tests/config/nf-test.config | 2 +- 8 files changed, 394 insertions(+), 1 deletion(-) create mode 100644 modules/nf-core/ribotricer/detectorfs/environment.yml create mode 100644 modules/nf-core/ribotricer/detectorfs/main.nf create mode 100644 modules/nf-core/ribotricer/detectorfs/meta.yml create mode 100644 modules/nf-core/ribotricer/detectorfs/tests/main.nf.test create mode 100644 modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap create mode 100644 modules/nf-core/ribotricer/detectorfs/tests/nextflow.config create mode 100644 modules/nf-core/ribotricer/detectorfs/tests/tags.yml diff --git a/modules/nf-core/ribotricer/detectorfs/environment.yml b/modules/nf-core/ribotricer/detectorfs/environment.yml new file mode 100644 index 00000000000..74d510404f7 --- /dev/null +++ b/modules/nf-core/ribotricer/detectorfs/environment.yml @@ -0,0 +1,9 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +name: "ribotricer_detectorfs" +channels: + - conda-forge + - bioconda + - defaults +dependencies: + - "bioconda::ribotricer=1.3.3" diff --git a/modules/nf-core/ribotricer/detectorfs/main.nf b/modules/nf-core/ribotricer/detectorfs/main.nf new file mode 100644 index 00000000000..efa4750c2f7 --- /dev/null +++ b/modules/nf-core/ribotricer/detectorfs/main.nf @@ -0,0 +1,55 @@ +process RIBOTRICER_DETECTORFS { + tag '$bam' + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/ribotricer:1.3.3--pyhdfd78af_0': + 'biocontainers/ribotricer:1.3.3--pyhdfd78af_0' }" + + input: + tuple val(meta), path(bam), path(bai) + tuple val(meta2), path(candidate_orfs) + + output: + tuple val(meta), path('*_protocol.txt') , emit: protocol, optional: true + tuple val(meta), path('*_bam_summary.txt') , emit: bam_summary + tuple val(meta), path('*_read_length_dist.pdf') , emit: read_length_dist + tuple val(meta), path('*_metagene_profiles_5p.tsv') , emit: metagene_profile_5p + tuple val(meta), path('*_metagene_profiles_3p.tsv') , emit: metagene_profile_3p + tuple val(meta), path('*_metagene_plots.pdf') , emit: metagene_plots + tuple val(meta), path('*_psite_offsets.txt') , emit: psite_offsets, optional: true + tuple val(meta), path('*_pos.wig') , emit: pos_wig + tuple val(meta), path('*_neg.wig') , emit: neg_wig + tuple val(meta), path('*_translating_ORFs.tsv') , emit: orfs + 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}" + + def strandedness_cmd = '' + if (meta.strandedness == 'forward') { + strandedness_cmd = '--stranded yes' + } else if (meta.strandedness == 'reverse') { + strandedness_cmd = '--stranded revers' + } else if (mea.strandedness == 'unstranded') { + strandedness_cmd = '--stranded no' + } + """ + ribotricer detect-orfs \\ + --bam $bam \\ + --ribotricer_index $candidate_orfs \\ + --prefix $prefix \\ + $strandedness_cmd \\ + $args + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + ribotricer: \$(ribotricer --version | grep ribotricer |& sed '1!d ; s/ribotricer, version //') + END_VERSIONS + """ +} diff --git a/modules/nf-core/ribotricer/detectorfs/meta.yml b/modules/nf-core/ribotricer/detectorfs/meta.yml new file mode 100644 index 00000000000..da873950314 --- /dev/null +++ b/modules/nf-core/ribotricer/detectorfs/meta.yml @@ -0,0 +1,41 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json +name: "ribotricer_detectorfs" +description: write your description here +keywords: + - sort + - example + - genomics +tools: + - "ribotricer": + description: "Python package to detect translating ORF from Ribo-seq data" + homepage: "None" + documentation: "None" + tool_dev_url: "None" + doi: "" + licence: ['GNU General Public v3 (GPL v3)'] + +input: + # + + - input: + type: file + description: + pattern: + +output: + # + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" + + - output: + type: file + description: + pattern: + +authors: + - "@pinin4fjords" +maintainers: + - "@pinin4fjords" diff --git a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test new file mode 100644 index 00000000000..6eac212b55a --- /dev/null +++ b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test @@ -0,0 +1,70 @@ +nextflow_process { + + name "Test Process RIBOTRICER_DETECTORFS" + script "../main.nf" + process "RIBOTRICER_DETECTORFS" + + tag "modules" + tag "modules_nfcore" + tag "ribotricer" + tag "ribotricer/prepareorfs" + tag "ribotricer/detectorfs" + tag "gunzip" + + setup { + run("GUNZIP") { + script "modules/nf-core/gunzip/main.nf" + process { + """ + input[0] = [ + [ ], + file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/Homo_sapiens.GRCh38.dna.chromosome.20.fa.gz", checkIfExists: true) + ] + """ + } + } + run("RIBOTRICER_PREPAREORFS") { + script "modules/nf-core/ribotricer/prepareorfs/main.nf" + process { + """ + input[0] = GUNZIP.out.gunzip.map{[ + [id:'homo_sapiens_chr20'], + it[1], + file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/Homo_sapiens.GRCh38.111_chr20.gtf", checkIfExists: true) + ]} + """ + } + } + + } + + test("human chr20 - bam") { + + config './nextflow.config' + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:true, strandedness:'forward' ], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/aligned_reads/SRX11780888_chr20.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/aligned_reads/SRX11780888_chr20.bam.bai", checkIfExists: true) + ] + input[1] = RIBOTRICER_PREPAREORFS.out.candidate_orfs + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } +} + + + + diff --git a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap new file mode 100644 index 00000000000..b07f5a57dd3 --- /dev/null +++ b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap @@ -0,0 +1,205 @@ +{ + "human chr20 - bam": { + "content": [ + { + "0": [ + + ], + "1": [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_bam_summary.txt:md5,3d4a99d779b42755bf3ff6dc9802f9a9" + ] + ], + "10": [ + "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + ], + "2": [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_read_length_dist.pdf:md5,f43b42756b6f7e6750a40909c5cf356e" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_metagene_profiles_5p.tsv:md5,c7c36a2748f89ae3b2f1e7ae448d1237" + ] + ], + "4": [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_metagene_profiles_3p.tsv:md5,fd0e278692ca2a4689f444e1e392304c" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_metagene_plots.pdf:md5,1c27ef0d5144424c2d54649845ac6ab5" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_psite_offsets.txt:md5,32c34c6201b3efc8e7f84db370405e30" + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_pos.wig:md5,29330801b0d9a1ca7fe1abfc7aea8bf6" + ] + ], + "8": [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_neg.wig:md5,bc036bbb6b2518f85a60c70829e48229" + ] + ], + "9": [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_translating_ORFs.tsv:md5,9b3f1b4f1ab361035357717e22b95e2d" + ] + ], + "bam_summary": [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_bam_summary.txt:md5,3d4a99d779b42755bf3ff6dc9802f9a9" + ] + ], + "metagene_plots": [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_metagene_plots.pdf:md5,1c27ef0d5144424c2d54649845ac6ab5" + ] + ], + "metagene_profile_3p": [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_metagene_profiles_3p.tsv:md5,fd0e278692ca2a4689f444e1e392304c" + ] + ], + "metagene_profile_5p": [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_metagene_profiles_5p.tsv:md5,c7c36a2748f89ae3b2f1e7ae448d1237" + ] + ], + "neg_wig": [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_neg.wig:md5,bc036bbb6b2518f85a60c70829e48229" + ] + ], + "orfs": [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_translating_ORFs.tsv:md5,9b3f1b4f1ab361035357717e22b95e2d" + ] + ], + "pos_wig": [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_pos.wig:md5,29330801b0d9a1ca7fe1abfc7aea8bf6" + ] + ], + "protocol": [ + + ], + "psite_offsets": [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_psite_offsets.txt:md5,32c34c6201b3efc8e7f84db370405e30" + ] + ], + "read_length_dist": [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_read_length_dist.pdf:md5,f43b42756b6f7e6750a40909c5cf356e" + ] + ], + "versions": [ + "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T11:55:25.373232" + } +} \ No newline at end of file diff --git a/modules/nf-core/ribotricer/detectorfs/tests/nextflow.config b/modules/nf-core/ribotricer/detectorfs/tests/nextflow.config new file mode 100644 index 00000000000..7ebc47048d3 --- /dev/null +++ b/modules/nf-core/ribotricer/detectorfs/tests/nextflow.config @@ -0,0 +1,11 @@ +process { + + withName: RIBOTRICER_DETECTORFS { + + // NOTE: this is not a sensible value, but makes the module run for + // testing purposes + + ext.args = '--phase_score_cutoff 0.05' + } + +} diff --git a/modules/nf-core/ribotricer/detectorfs/tests/tags.yml b/modules/nf-core/ribotricer/detectorfs/tests/tags.yml new file mode 100644 index 00000000000..43264805423 --- /dev/null +++ b/modules/nf-core/ribotricer/detectorfs/tests/tags.yml @@ -0,0 +1,2 @@ +ribotricer/detectorfs: + - "modules/nf-core/ribotricer/detectorfs/**" diff --git a/tests/config/nf-test.config b/tests/config/nf-test.config index 269f2dc3ca1..b90d6cd5fb3 100644 --- a/tests/config/nf-test.config +++ b/tests/config/nf-test.config @@ -2,7 +2,7 @@ params { publish_dir_mode = "copy" singularity_pull_docker_container = false test_data_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules' - modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' + modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/update_riboseq_bams/data/' } process { From 57091f1fc9245979341ad845ec8a857f4a3eb537 Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Wed, 13 Mar 2024 13:15:04 +0000 Subject: [PATCH 02/21] Don't snapshot PDFs --- .../ribotricer/detectorfs/tests/main.nf.test | 12 +- .../detectorfs/tests/main.nf.test.snap | 364 ++++++++---------- 2 files changed, 180 insertions(+), 196 deletions(-) diff --git a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test index 6eac212b55a..46be57c17c6 100644 --- a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test +++ b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test @@ -58,7 +58,17 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(process.out.protocol).match('protocol') }, + { assert snapshot(process.out.bam_summary).match('bam_summary') }, + { assert snapshot(file(process.out.read_length_dist[0][1]).name).match("read_length_dist") }, + { assert snapshot(process.out.metagene_profile_5p).match('metagene_profile_5p') }, + { assert snapshot(process.out.metagene_profile_3p).match('metagene_profile_3p') }, + { assert snapshot(file(process.out.metagene_plots[0][1]).name).match("metagene_plots") }, + { assert snapshot(process.out.psite_offsets).match('psite_offsets') }, + { assert snapshot(process.out.pos_wig).match('pos_wig') }, + { assert snapshot(process.out.neg_wig).match('neg_wig') }, + { assert snapshot(process.out.orfs).match('orfs') }, + { assert snapshot(process.out.versions).match('versions') } ) } diff --git a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap index b07f5a57dd3..eec1d178fcc 100644 --- a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap +++ b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap @@ -1,205 +1,179 @@ { - "human chr20 - bam": { + "metagene_profile_3p": { "content": [ - { - "0": [ - - ], - "1": [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_bam_summary.txt:md5,3d4a99d779b42755bf3ff6dc9802f9a9" - ] - ], - "10": [ - "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" - ], - "2": [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_read_length_dist.pdf:md5,f43b42756b6f7e6750a40909c5cf356e" - ] - ], - "3": [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_metagene_profiles_5p.tsv:md5,c7c36a2748f89ae3b2f1e7ae448d1237" - ] - ], - "4": [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_metagene_profiles_3p.tsv:md5,fd0e278692ca2a4689f444e1e392304c" - ] - ], - "5": [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_metagene_plots.pdf:md5,1c27ef0d5144424c2d54649845ac6ab5" - ] - ], - "6": [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_psite_offsets.txt:md5,32c34c6201b3efc8e7f84db370405e30" - ] - ], - "7": [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_pos.wig:md5,29330801b0d9a1ca7fe1abfc7aea8bf6" - ] - ], - "8": [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_neg.wig:md5,bc036bbb6b2518f85a60c70829e48229" - ] - ], - "9": [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_translating_ORFs.tsv:md5,9b3f1b4f1ab361035357717e22b95e2d" - ] - ], - "bam_summary": [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_bam_summary.txt:md5,3d4a99d779b42755bf3ff6dc9802f9a9" - ] - ], - "metagene_plots": [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_metagene_plots.pdf:md5,1c27ef0d5144424c2d54649845ac6ab5" - ] - ], - "metagene_profile_3p": [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_metagene_profiles_3p.tsv:md5,fd0e278692ca2a4689f444e1e392304c" - ] - ], - "metagene_profile_5p": [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_metagene_profiles_5p.tsv:md5,c7c36a2748f89ae3b2f1e7ae448d1237" - ] - ], - "neg_wig": [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_neg.wig:md5,bc036bbb6b2518f85a60c70829e48229" - ] - ], - "orfs": [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_translating_ORFs.tsv:md5,9b3f1b4f1ab361035357717e22b95e2d" - ] - ], - "pos_wig": [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_pos.wig:md5,29330801b0d9a1ca7fe1abfc7aea8bf6" - ] - ], - "protocol": [ - - ], - "psite_offsets": [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_psite_offsets.txt:md5,32c34c6201b3efc8e7f84db370405e30" - ] - ], - "read_length_dist": [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_read_length_dist.pdf:md5,f43b42756b6f7e6750a40909c5cf356e" - ] - ], - "versions": [ - "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_metagene_profiles_3p.tsv:md5,fd0e278692ca2a4689f444e1e392304c" ] - } + ] ], "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T11:55:25.373232" + "timestamp": "2024-03-13T13:14:03.396807" + }, + "psite_offsets": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_psite_offsets.txt:md5,32c34c6201b3efc8e7f84db370405e30" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T13:14:03.403988" + }, + "protocol": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T13:14:03.383439" + }, + "read_length_dist": { + "content": [ + "test_read_length_dist.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T13:14:03.392883" + }, + "orfs": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_translating_ORFs.tsv:md5,9b3f1b4f1ab361035357717e22b95e2d" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T13:14:03.416653" + }, + "versions": { + "content": [ + [ + "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T13:14:03.435705" + }, + "neg_wig": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_neg.wig:md5,bc036bbb6b2518f85a60c70829e48229" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T13:14:03.412218" + }, + "bam_summary": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_bam_summary.txt:md5,3d4a99d779b42755bf3ff6dc9802f9a9" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T13:14:03.387479" + }, + "metagene_profile_5p": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_metagene_profiles_5p.tsv:md5,c7c36a2748f89ae3b2f1e7ae448d1237" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T13:14:03.394462" + }, + "metagene_plots": { + "content": [ + "test_metagene_plots.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T13:14:03.399778" + }, + "pos_wig": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_pos.wig:md5,29330801b0d9a1ca7fe1abfc7aea8bf6" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T13:14:03.407915" } } \ No newline at end of file From d9eb3cafe02bc709e0aab363577ef4b17b4194b1 Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Wed, 13 Mar 2024 14:29:16 +0000 Subject: [PATCH 03/21] Complete meta.yml --- .../nf-core/ribotricer/detectorfs/meta.yml | 98 +++++++++++++++---- 1 file changed, 78 insertions(+), 20 deletions(-) diff --git a/modules/nf-core/ribotricer/detectorfs/meta.yml b/modules/nf-core/ribotricer/detectorfs/meta.yml index da873950314..d634bd56602 100644 --- a/modules/nf-core/ribotricer/detectorfs/meta.yml +++ b/modules/nf-core/ribotricer/detectorfs/meta.yml @@ -1,39 +1,97 @@ ---- # yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "ribotricer_detectorfs" -description: write your description here +description: "Accurate detection of short and long active ORFs using Ribo-seq data" keywords: - - sort - - example + - riboseq + - orf - genomics tools: - "ribotricer": description: "Python package to detect translating ORF from Ribo-seq data" - homepage: "None" - documentation: "None" - tool_dev_url: "None" - doi: "" - licence: ['GNU General Public v3 (GPL v3)'] + homepage: "https://github.com/smithlabcode/ribotricer" + documentation: "https://github.com/smithlabcode/ribotricer" + tool_dev_url: "https://github.com/smithlabcode/ribotricer" + doi: "10.1093/bioinformatics/btz878" + licence: ["GNU General Public v3 (GPL v3)"] input: - # - - - input: + - meta: + type: map + description: | + Groovy Map containing riboseq sample information + e.g. `[ id:'sample1', single_end:false ] + - bam_ribo: type: file - description: - pattern: + description: Sorted riboseq BAM file(s) + pattern: "*.{bam}" + - bai_ribo: + type: file + description: Index for sorted riboseq bam file(s) + pattern: "*.{bai}" + - meta2: + type: map + description: | + Groovy Map containing reference information for the candidate ORFs + e.g. `[ id:'Ensembl human v.111' ]` + - candidate_orfs: + type: file + description: "TSV file with candidate ORFs from 'ribotricer prepareorfs'" + pattern: "*.tsv" output: - # + - meta: + type: map + description: | + Groovy Map containing riboseq sample information + e.g. `[ id:'sample1', single_end:false ] + - protocol: + type: file + description: "txt file containing inferred protocol (if not specified, optional)" + pattern: "*_protocol.txt" + - bam_summary: + type: file + description: "Text summary of reads found in the BAM" + pattern: "*_bam_summary.txt" + - read_length_dist: + type: file + description: "PDF-format read length distribution as quality control" + pattern: "*_read_length_dist.pdf" + - metagene_profile_5p: + type: file + description: "Metagene profile aligning with the start codon" + pattern: "*_metagene_profiles_5p.tsv" + - metagene_profile_3p: + type: file + description: "Metagene profile aligning with the stop codon" + pattern: "*_metagene_profiles_3p.tsv" + - metagene_plots: + type: file + description: "Metagene plots for quality control" + pattern: "*_metagene_plots.pdf" + - psite_offsets: + type: file + description: | + "If the P-site offsets are not provided, txt file containing the + derived relative offsets" + pattern: "*_psite_offsets.txt" + - pos_wig: + type: file + description: "Positive strand WIG file for visualization in Genome Browser" + pattern: "*_pos.wig" + - neg_wig: + type: file + description: "Negative strand WIG file for visualization in Genome Browser" + pattern: "*_neg.wig" + - orfs: + type: file + description: | + "TSV with ORFs assessed as translating in this BAM file. You can output + all ORFs regardless of the translation status with option --report_all" + pattern: "*_translating_ORFs.tsv" - versions: type: file description: File containing software versions pattern: "versions.yml" - - - output: - type: file - description: - pattern: authors: - "@pinin4fjords" From bcbdbc956813e5dcbeed5ef5d56d27a6023d304a Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Wed, 13 Mar 2024 14:30:17 +0000 Subject: [PATCH 04/21] Add test for --report_all, address linting things --- modules/nf-core/ribotricer/detectorfs/main.nf | 4 +- .../ribotricer/detectorfs/tests/main.nf.test | 39 ++- .../detectorfs/tests/main.nf.test.snap | 229 ++++++++++++++++-- .../detectorfs/tests/nextflow.config | 11 - 4 files changed, 242 insertions(+), 41 deletions(-) delete mode 100644 modules/nf-core/ribotricer/detectorfs/tests/nextflow.config diff --git a/modules/nf-core/ribotricer/detectorfs/main.nf b/modules/nf-core/ribotricer/detectorfs/main.nf index efa4750c2f7..cbb1713615e 100644 --- a/modules/nf-core/ribotricer/detectorfs/main.nf +++ b/modules/nf-core/ribotricer/detectorfs/main.nf @@ -1,7 +1,7 @@ process RIBOTRICER_DETECTORFS { tag '$bam' label 'process_single' - + conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://depot.galaxyproject.org/singularity/ribotricer:1.3.3--pyhdfd78af_0': @@ -30,7 +30,7 @@ process RIBOTRICER_DETECTORFS { script: def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" - + def strandedness_cmd = '' if (meta.strandedness == 'forward') { strandedness_cmd = '--stranded yes' diff --git a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test index 46be57c17c6..e1e6fb6d33e 100644 --- a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test +++ b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test @@ -38,9 +38,9 @@ nextflow_process { } - test("human chr20 - bam") { + test("human chr20 - bam - default") { - config './nextflow.config' + config './nextflow.default.config' when { process { @@ -71,6 +71,41 @@ nextflow_process { { assert snapshot(process.out.versions).match('versions') } ) } + } + + test("human chr20 - bam - all") { + + config './nextflow.all.config' + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:true, strandedness:'forward' ], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/aligned_reads/SRX11780888_chr20.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/aligned_reads/SRX11780888_chr20.bam.bai", checkIfExists: true) + ] + input[1] = RIBOTRICER_PREPAREORFS.out.candidate_orfs + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.protocol).match('protocol_all') }, + { assert snapshot(process.out.bam_summary).match('bam_summary_all') }, + { assert snapshot(file(process.out.read_length_dist[0][1]).name).match("read_length_dist_all") }, + { assert snapshot(process.out.metagene_profile_5p).match('metagene_profile_5p_all') }, + { assert snapshot(process.out.metagene_profile_3p).match('metagene_profile_3p_all') }, + { assert snapshot(file(process.out.metagene_plots[0][1]).name).match("metagene_plots_all") }, + { assert snapshot(process.out.psite_offsets).match('psite_offsets_all') }, + { assert snapshot(process.out.pos_wig).match('pos_wig_all') }, + { assert snapshot(process.out.neg_wig).match('neg_wig_all') }, + { assert snapshot(process.out.orfs).match('orfs_all') }, + { assert snapshot(process.out.versions).match('versions_all') } + ) + } } } diff --git a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap index eec1d178fcc..21f35834892 100644 --- a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap +++ b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap @@ -1,5 +1,5 @@ { - "metagene_profile_3p": { + "psite_offsets": { "content": [ [ [ @@ -8,7 +8,7 @@ "single_end": true, "strandedness": "forward" }, - "test_metagene_profiles_3p.tsv:md5,fd0e278692ca2a4689f444e1e392304c" + "test_psite_offsets.txt:md5,32c34c6201b3efc8e7f84db370405e30" ] ] ], @@ -16,9 +16,19 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T13:14:03.396807" + "timestamp": "2024-03-13T14:25:13.482169" }, - "psite_offsets": { + "read_length_dist": { + "content": [ + "test_read_length_dist.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:25:13.469003" + }, + "orfs": { "content": [ [ [ @@ -27,7 +37,7 @@ "single_end": true, "strandedness": "forward" }, - "test_psite_offsets.txt:md5,32c34c6201b3efc8e7f84db370405e30" + "test_translating_ORFs.tsv:md5,9b3f1b4f1ab361035357717e22b95e2d" ] ] ], @@ -35,9 +45,9 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T13:14:03.403988" + "timestamp": "2024-03-13T14:25:13.493984" }, - "protocol": { + "protocol_all": { "content": [ [ @@ -47,9 +57,28 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T13:14:03.383439" + "timestamp": "2024-03-13T14:25:57.300996" }, - "read_length_dist": { + "metagene_profile_3p_all": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_metagene_profiles_3p.tsv:md5,fd0e278692ca2a4689f444e1e392304c" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:25:57.344319" + }, + "read_length_dist_all": { "content": [ "test_read_length_dist.pdf" ], @@ -57,9 +86,9 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T13:14:03.392883" + "timestamp": "2024-03-13T14:25:57.322862" }, - "orfs": { + "neg_wig_all": { "content": [ [ [ @@ -68,7 +97,7 @@ "single_end": true, "strandedness": "forward" }, - "test_translating_ORFs.tsv:md5,9b3f1b4f1ab361035357717e22b95e2d" + "test_neg.wig:md5,bc036bbb6b2518f85a60c70829e48229" ] ] ], @@ -76,9 +105,9 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T13:14:03.416653" + "timestamp": "2024-03-13T14:25:57.383846" }, - "versions": { + "versions_all": { "content": [ [ "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" @@ -88,9 +117,9 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T13:14:03.435705" + "timestamp": "2024-03-13T14:25:57.63086" }, - "neg_wig": { + "orfs_all": { "content": [ [ [ @@ -99,7 +128,7 @@ "single_end": true, "strandedness": "forward" }, - "test_neg.wig:md5,bc036bbb6b2518f85a60c70829e48229" + "test_translating_ORFs.tsv:md5,f6c89bcedde63960339e8486a69e9317" ] ] ], @@ -107,7 +136,7 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T13:14:03.412218" + "timestamp": "2024-03-13T14:25:57.393859" }, "bam_summary": { "content": [ @@ -126,7 +155,146 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T13:14:03.387479" + "timestamp": "2024-03-13T14:25:13.462012" + }, + "metagene_plots": { + "content": [ + "test_metagene_plots.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:25:13.47872" + }, + "psite_offsets_all": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_psite_offsets.txt:md5,32c34c6201b3efc8e7f84db370405e30" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:25:57.36405" + }, + "pos_wig": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_pos.wig:md5,29330801b0d9a1ca7fe1abfc7aea8bf6" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:25:13.48629" + }, + "metagene_profile_3p": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_metagene_profiles_3p.tsv:md5,fd0e278692ca2a4689f444e1e392304c" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:25:13.475047" + }, + "protocol": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:25:13.456502" + }, + "pos_wig_all": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_pos.wig:md5,29330801b0d9a1ca7fe1abfc7aea8bf6" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:25:57.373654" + }, + "versions": { + "content": [ + [ + "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:25:13.516462" + }, + "neg_wig": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_neg.wig:md5,bc036bbb6b2518f85a60c70829e48229" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:25:13.489944" + }, + "metagene_plots_all": { + "content": [ + "test_metagene_plots.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:25:57.354119" }, "metagene_profile_5p": { "content": [ @@ -145,19 +313,28 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T13:14:03.394462" + "timestamp": "2024-03-13T14:25:13.470954" }, - "metagene_plots": { + "bam_summary_all": { "content": [ - "test_metagene_plots.pdf" + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_bam_summary.txt:md5,3d4a99d779b42755bf3ff6dc9802f9a9" + ] + ] ], "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T13:14:03.399778" + "timestamp": "2024-03-13T14:25:57.312775" }, - "pos_wig": { + "metagene_profile_5p_all": { "content": [ [ [ @@ -166,7 +343,7 @@ "single_end": true, "strandedness": "forward" }, - "test_pos.wig:md5,29330801b0d9a1ca7fe1abfc7aea8bf6" + "test_metagene_profiles_5p.tsv:md5,c7c36a2748f89ae3b2f1e7ae448d1237" ] ] ], @@ -174,6 +351,6 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T13:14:03.407915" + "timestamp": "2024-03-13T14:25:57.333075" } } \ No newline at end of file diff --git a/modules/nf-core/ribotricer/detectorfs/tests/nextflow.config b/modules/nf-core/ribotricer/detectorfs/tests/nextflow.config deleted file mode 100644 index 7ebc47048d3..00000000000 --- a/modules/nf-core/ribotricer/detectorfs/tests/nextflow.config +++ /dev/null @@ -1,11 +0,0 @@ -process { - - withName: RIBOTRICER_DETECTORFS { - - // NOTE: this is not a sensible value, but makes the module run for - // testing purposes - - ext.args = '--phase_score_cutoff 0.05' - } - -} From f93450b6f0789770442fb8a5a698fef4142844e9 Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Wed, 13 Mar 2024 14:57:49 +0000 Subject: [PATCH 05/21] Fix tag, add stub tests --- modules/nf-core/ribotricer/detectorfs/main.nf | 23 +- .../ribotricer/detectorfs/tests/main.nf.test | 75 +++ .../detectorfs/tests/main.nf.test.snap | 464 ++++++++++++++++-- 3 files changed, 513 insertions(+), 49 deletions(-) diff --git a/modules/nf-core/ribotricer/detectorfs/main.nf b/modules/nf-core/ribotricer/detectorfs/main.nf index cbb1713615e..4b32a43e139 100644 --- a/modules/nf-core/ribotricer/detectorfs/main.nf +++ b/modules/nf-core/ribotricer/detectorfs/main.nf @@ -1,5 +1,5 @@ process RIBOTRICER_DETECTORFS { - tag '$bam' + tag "$meta.id" label 'process_single' conda "${moduleDir}/environment.yml" @@ -52,4 +52,25 @@ process RIBOTRICER_DETECTORFS { ribotricer: \$(ribotricer --version | grep ribotricer |& sed '1!d ; s/ribotricer, version //') END_VERSIONS """ + + stub: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + """ + touch ${prefix}_protocol.txt + touch ${prefix}_bam_summary.txt + touch ${prefix}_read_length_dist.pdf + touch ${prefix}_metagene_profiles_5p.tsv + touch ${prefix}_metagene_profiles_3p.tsv + touch ${prefix}_metagene_plots.pdf + touch ${prefix}_psite_offsets.txt + touch ${prefix}_pos.wig + touch ${prefix}_neg.wig + touch ${prefix}_translating_ORFs.tsv + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + ribotricer: \$(ribotricer --version | grep ribotricer |& sed '1!d ; s/ribotricer, version //') + END_VERSIONS + """ } diff --git a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test index e1e6fb6d33e..64d0f92dfe6 100644 --- a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test +++ b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test @@ -108,6 +108,81 @@ nextflow_process { } } + + test("human chr20 - bam - default - stub") { + + options '-stub' + + config './nextflow.default.config' + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:true, strandedness:'forward' ], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/aligned_reads/SRX11780888_chr20.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/aligned_reads/SRX11780888_chr20.bam.bai", checkIfExists: true) + ] + input[1] = RIBOTRICER_PREPAREORFS.out.candidate_orfs + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.protocol).match('protocol_stub') }, + { assert snapshot(process.out.bam_summary).match('bam_summary_stub') }, + { assert snapshot(file(process.out.read_length_dist[0][1]).name).match("read_length_dist_stub") }, + { assert snapshot(process.out.metagene_profile_5p).match('metagene_profile_5p_stub') }, + { assert snapshot(process.out.metagene_profile_3p).match('metagene_profile_3p_stub') }, + { assert snapshot(file(process.out.metagene_plots[0][1]).name).match("metagene_plots_stub") }, + { assert snapshot(process.out.psite_offsets).match('psite_offsets_stub') }, + { assert snapshot(process.out.pos_wig).match('pos_wig_stub') }, + { assert snapshot(process.out.neg_wig).match('neg_wig_stub') }, + { assert snapshot(process.out.orfs).match('orfs_stub') }, + { assert snapshot(process.out.versions).match('versions_stub') } + ) + } + } + + test("human chr20 - bam - all - stub") { + + options '-stub' + + config './nextflow.all.config' + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:true, strandedness:'forward' ], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/aligned_reads/SRX11780888_chr20.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/aligned_reads/SRX11780888_chr20.bam.bai", checkIfExists: true) + ] + input[1] = RIBOTRICER_PREPAREORFS.out.candidate_orfs + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.protocol).match('protocol_all_stub') }, + { assert snapshot(process.out.bam_summary).match('bam_summary_all_stub') }, + { assert snapshot(file(process.out.read_length_dist[0][1]).name).match("read_length_dist_all_stub") }, + { assert snapshot(process.out.metagene_profile_5p).match('metagene_profile_5p_all_stub') }, + { assert snapshot(process.out.metagene_profile_3p).match('metagene_profile_3p_all_stub') }, + { assert snapshot(file(process.out.metagene_plots[0][1]).name).match("metagene_plots_all_stub") }, + { assert snapshot(process.out.psite_offsets).match('psite_offsets_all_stub') }, + { assert snapshot(process.out.pos_wig).match('pos_wig_all_stub') }, + { assert snapshot(process.out.neg_wig).match('neg_wig_all_stub') }, + { assert snapshot(process.out.orfs).match('orfs_all_stub') }, + { assert snapshot(process.out.versions).match('versions_all_stub') } + ) + } + + } } diff --git a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap index 21f35834892..0f4e3eb6b5b 100644 --- a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap +++ b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap @@ -16,19 +16,28 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:13.482169" + "timestamp": "2024-03-13T14:55:40.823397" }, - "read_length_dist": { + "orfs": { "content": [ - "test_read_length_dist.pdf" + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_translating_ORFs.tsv:md5,9b3f1b4f1ab361035357717e22b95e2d" + ] + ] ], "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:13.469003" + "timestamp": "2024-03-13T14:55:40.835739" }, - "orfs": { + "metagene_profile_3p_stub": { "content": [ [ [ @@ -37,7 +46,202 @@ "single_end": true, "strandedness": "forward" }, - "test_translating_ORFs.tsv:md5,9b3f1b4f1ab361035357717e22b95e2d" + "test_metagene_profiles_3p.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:46.615498" + }, + "orfs_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_translating_ORFs.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:47.718532" + }, + "versions_all": { + "content": [ + [ + "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:24.5335" + }, + "psite_offsets_all": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_psite_offsets.txt:md5,32c34c6201b3efc8e7f84db370405e30" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:24.217844" + }, + "pos_wig": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_pos.wig:md5,29330801b0d9a1ca7fe1abfc7aea8bf6" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:55:40.82699" + }, + "metagene_profile_3p": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_metagene_profiles_3p.tsv:md5,fd0e278692ca2a4689f444e1e392304c" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:55:40.816311" + }, + "protocol": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:55:40.799057" + }, + "psite_offsets_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_psite_offsets.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:47.055786" + }, + "protocol_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_protocol.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:45.721392" + }, + "metagene_profile_5p": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_metagene_profiles_5p.tsv:md5,c7c36a2748f89ae3b2f1e7ae448d1237" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:55:40.813489" + }, + "neg_wig_all_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_neg.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:57:09.064731" + }, + "metagene_profile_5p_all_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_metagene_profiles_5p.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] ] ], @@ -45,7 +249,46 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:13.493984" + "timestamp": "2024-03-13T14:57:07.945858" + }, + "psite_offsets_all_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_psite_offsets.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:57:08.622733" + }, + "read_length_dist": { + "content": [ + "test_read_length_dist.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:55:40.81119" + }, + "metagene_plots_all_stub": { + "content": [ + "test_metagene_plots.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:57:08.401264" }, "protocol_all": { "content": [ @@ -57,7 +300,7 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:57.300996" + "timestamp": "2024-03-13T14:56:24.158017" }, "metagene_profile_3p_all": { "content": [ @@ -76,19 +319,19 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:57.344319" + "timestamp": "2024-03-13T14:56:24.198394" }, - "read_length_dist_all": { + "metagene_plots_stub": { "content": [ - "test_read_length_dist.pdf" + "test_metagene_plots.pdf" ], "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:57.322862" + "timestamp": "2024-03-13T14:56:46.835308" }, - "neg_wig_all": { + "orfs_all_stub": { "content": [ [ [ @@ -97,7 +340,7 @@ "single_end": true, "strandedness": "forward" }, - "test_neg.wig:md5,bc036bbb6b2518f85a60c70829e48229" + "test_translating_ORFs.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] ] ], @@ -105,19 +348,55 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:57.383846" + "timestamp": "2024-03-13T14:57:09.284761" }, - "versions_all": { + "neg_wig_stub": { "content": [ [ - "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_neg.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] ] ], "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:57.63086" + "timestamp": "2024-03-13T14:56:47.498598" + }, + "read_length_dist_all": { + "content": [ + "test_read_length_dist.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:24.177835" + }, + "neg_wig_all": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_neg.wig:md5,bc036bbb6b2518f85a60c70829e48229" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:24.238246" }, "orfs_all": { "content": [ @@ -136,7 +415,17 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:57.393859" + "timestamp": "2024-03-13T14:56:24.249516" + }, + "read_length_dist_all_stub": { + "content": [ + "test_read_length_dist.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:57:07.71913" }, "bam_summary": { "content": [ @@ -155,7 +444,7 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:13.462012" + "timestamp": "2024-03-13T14:55:40.805294" }, "metagene_plots": { "content": [ @@ -165,9 +454,19 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:13.47872" + "timestamp": "2024-03-13T14:55:40.819694" }, - "psite_offsets_all": { + "read_length_dist_stub": { + "content": [ + "test_read_length_dist.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:46.17198" + }, + "pos_wig_stub": { "content": [ [ [ @@ -176,7 +475,7 @@ "single_end": true, "strandedness": "forward" }, - "test_psite_offsets.txt:md5,32c34c6201b3efc8e7f84db370405e30" + "test_pos.wig:md5,d41d8cd98f00b204e9800998ecf8427e" ] ] ], @@ -184,9 +483,9 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:57.36405" + "timestamp": "2024-03-13T14:56:47.275649" }, - "pos_wig": { + "pos_wig_all": { "content": [ [ [ @@ -203,9 +502,21 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:13.48629" + "timestamp": "2024-03-13T14:56:24.228154" }, - "metagene_profile_3p": { + "versions_stub": { + "content": [ + [ + "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:47.939129" + }, + "bam_summary_all_stub": { "content": [ [ [ @@ -214,7 +525,7 @@ "single_end": true, "strandedness": "forward" }, - "test_metagene_profiles_3p.tsv:md5,fd0e278692ca2a4689f444e1e392304c" + "test_bam_summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ] ] ], @@ -222,21 +533,21 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:13.475047" + "timestamp": "2024-03-13T14:57:07.499662" }, - "protocol": { + "versions": { "content": [ [ - + "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:13.456502" + "timestamp": "2024-03-13T14:55:40.845881" }, - "pos_wig_all": { + "pos_wig_all_stub": { "content": [ [ [ @@ -245,7 +556,7 @@ "single_end": true, "strandedness": "forward" }, - "test_pos.wig:md5,29330801b0d9a1ca7fe1abfc7aea8bf6" + "test_pos.wig:md5,d41d8cd98f00b204e9800998ecf8427e" ] ] ], @@ -253,19 +564,45 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:57.373654" + "timestamp": "2024-03-13T14:57:08.844313" }, - "versions": { + "metagene_profile_5p_stub": { "content": [ [ - "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_metagene_profiles_5p.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:46.394691" + }, + "protocol_all_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_protocol.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] ] ], "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:13.516462" + "timestamp": "2024-03-13T14:57:07.281054" }, "neg_wig": { "content": [ @@ -284,7 +621,19 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:13.489944" + "timestamp": "2024-03-13T14:55:40.831486" + }, + "versions_all_stub": { + "content": [ + [ + "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:57:09.506799" }, "metagene_plots_all": { "content": [ @@ -294,9 +643,28 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:57.354119" + "timestamp": "2024-03-13T14:56:24.208296" }, - "metagene_profile_5p": { + "bam_summary_all": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_bam_summary.txt:md5,3d4a99d779b42755bf3ff6dc9802f9a9" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:24.168332" + }, + "metagene_profile_5p_all": { "content": [ [ [ @@ -313,9 +681,9 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:13.470954" + "timestamp": "2024-03-13T14:56:24.188253" }, - "bam_summary_all": { + "bam_summary_stub": { "content": [ [ [ @@ -324,7 +692,7 @@ "single_end": true, "strandedness": "forward" }, - "test_bam_summary.txt:md5,3d4a99d779b42755bf3ff6dc9802f9a9" + "test_bam_summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ] ] ], @@ -332,9 +700,9 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:57.312775" + "timestamp": "2024-03-13T14:56:45.946051" }, - "metagene_profile_5p_all": { + "metagene_profile_3p_all_stub": { "content": [ [ [ @@ -343,7 +711,7 @@ "single_end": true, "strandedness": "forward" }, - "test_metagene_profiles_5p.tsv:md5,c7c36a2748f89ae3b2f1e7ae448d1237" + "test_metagene_profiles_3p.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] ] ], @@ -351,6 +719,6 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:25:57.333075" + "timestamp": "2024-03-13T14:57:08.176629" } } \ No newline at end of file From aadbccd8d237b36620b450fbbd32582d5803677b Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Wed, 13 Mar 2024 14:59:22 +0000 Subject: [PATCH 06/21] Appease eclint --- modules/nf-core/ribotricer/detectorfs/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/ribotricer/detectorfs/main.nf b/modules/nf-core/ribotricer/detectorfs/main.nf index 4b32a43e139..d56f0ab6ba0 100644 --- a/modules/nf-core/ribotricer/detectorfs/main.nf +++ b/modules/nf-core/ribotricer/detectorfs/main.nf @@ -52,7 +52,7 @@ process RIBOTRICER_DETECTORFS { ribotricer: \$(ribotricer --version | grep ribotricer |& sed '1!d ; s/ribotricer, version //') END_VERSIONS """ - + stub: def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" From ae7c5b4d467d3c9bc58ea0099611d46b4833664f Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Wed, 13 Mar 2024 15:40:58 +0000 Subject: [PATCH 07/21] Add missing configs --- .../ribotricer/detectorfs/tests/nextflow.all.config | 11 +++++++++++ .../detectorfs/tests/nextflow.default.config | 11 +++++++++++ 2 files changed, 22 insertions(+) create mode 100644 modules/nf-core/ribotricer/detectorfs/tests/nextflow.all.config create mode 100644 modules/nf-core/ribotricer/detectorfs/tests/nextflow.default.config diff --git a/modules/nf-core/ribotricer/detectorfs/tests/nextflow.all.config b/modules/nf-core/ribotricer/detectorfs/tests/nextflow.all.config new file mode 100644 index 00000000000..4e8344ed5de --- /dev/null +++ b/modules/nf-core/ribotricer/detectorfs/tests/nextflow.all.config @@ -0,0 +1,11 @@ +process { + + withName: RIBOTRICER_DETECTORFS { + + // NOTE: this is not a sensible value, but makes the module run for + // testing purposes + + ext.args = '--phase_score_cutoff 0.05 --report_all' + } + +} diff --git a/modules/nf-core/ribotricer/detectorfs/tests/nextflow.default.config b/modules/nf-core/ribotricer/detectorfs/tests/nextflow.default.config new file mode 100644 index 00000000000..7ebc47048d3 --- /dev/null +++ b/modules/nf-core/ribotricer/detectorfs/tests/nextflow.default.config @@ -0,0 +1,11 @@ +process { + + withName: RIBOTRICER_DETECTORFS { + + // NOTE: this is not a sensible value, but makes the module run for + // testing purposes + + ext.args = '--phase_score_cutoff 0.05' + } + +} From ad9dceeb2ef619c36d260e03f1484df5d49bb963 Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Wed, 13 Mar 2024 18:11:07 +0000 Subject: [PATCH 08/21] Make ribotricer versioning more reliable in conda --- modules/nf-core/ribotricer/detectorfs/main.nf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/nf-core/ribotricer/detectorfs/main.nf b/modules/nf-core/ribotricer/detectorfs/main.nf index d56f0ab6ba0..4b721a73672 100644 --- a/modules/nf-core/ribotricer/detectorfs/main.nf +++ b/modules/nf-core/ribotricer/detectorfs/main.nf @@ -49,7 +49,7 @@ process RIBOTRICER_DETECTORFS { cat <<-END_VERSIONS > versions.yml "${task.process}": - ribotricer: \$(ribotricer --version | grep ribotricer |& sed '1!d ; s/ribotricer, version //') + ribotricer: \$(ribotricer --version 2>&1 | grep ribotricer | sed '1!d ; s/ribotricer, version //') END_VERSIONS """ @@ -70,7 +70,7 @@ process RIBOTRICER_DETECTORFS { cat <<-END_VERSIONS > versions.yml "${task.process}": - ribotricer: \$(ribotricer --version | grep ribotricer |& sed '1!d ; s/ribotricer, version //') + ribotricer: \$(ribotricer --version 2>&1 | grep ribotricer | sed '1!d ; s/ribotricer, version //') END_VERSIONS """ } From fd25d0908ff84115313c532d45561bb2ee80ac0d Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Wed, 13 Mar 2024 18:46:57 +0000 Subject: [PATCH 09/21] Conda differs in floating point precision --- .../ribotricer/detectorfs/tests/main.nf.test | 8 +- .../detectorfs/tests/main.nf.test.snap | 76 ------------------- 2 files changed, 4 insertions(+), 80 deletions(-) diff --git a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test index 64d0f92dfe6..a51c173ad72 100644 --- a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test +++ b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test @@ -62,12 +62,12 @@ nextflow_process { { assert snapshot(process.out.bam_summary).match('bam_summary') }, { assert snapshot(file(process.out.read_length_dist[0][1]).name).match("read_length_dist") }, { assert snapshot(process.out.metagene_profile_5p).match('metagene_profile_5p') }, - { assert snapshot(process.out.metagene_profile_3p).match('metagene_profile_3p') }, + { assert path(process.out.metagene_profile_3p[0][1]).getText().contains("26\t0\t[0.0, 0.0, 0.0, 0.0, 2.6132404181184667") }, { assert snapshot(file(process.out.metagene_plots[0][1]).name).match("metagene_plots") }, { assert snapshot(process.out.psite_offsets).match('psite_offsets') }, { assert snapshot(process.out.pos_wig).match('pos_wig') }, { assert snapshot(process.out.neg_wig).match('neg_wig') }, - { assert snapshot(process.out.orfs).match('orfs') }, + { assert path(process.out.orfs[0][1]).getText().contains("ENST00000370861_62136860_62140830_534\tannotated\ttranslating\t0.515078753637712") }, { assert snapshot(process.out.versions).match('versions') } ) } @@ -97,12 +97,12 @@ nextflow_process { { assert snapshot(process.out.bam_summary).match('bam_summary_all') }, { assert snapshot(file(process.out.read_length_dist[0][1]).name).match("read_length_dist_all") }, { assert snapshot(process.out.metagene_profile_5p).match('metagene_profile_5p_all') }, - { assert snapshot(process.out.metagene_profile_3p).match('metagene_profile_3p_all') }, + { assert path(process.out.metagene_profile_3p[0][1]).getText().contains("26\t0\t[0.0, 0.0, 0.0, 0.0, 2.6132404181184667") }, { assert snapshot(file(process.out.metagene_plots[0][1]).name).match("metagene_plots_all") }, { assert snapshot(process.out.psite_offsets).match('psite_offsets_all') }, { assert snapshot(process.out.pos_wig).match('pos_wig_all') }, { assert snapshot(process.out.neg_wig).match('neg_wig_all') }, - { assert snapshot(process.out.orfs).match('orfs_all') }, + { assert path(process.out.orfs[0][1]).getText().contains("ENST00000370861_62136860_62140830_534\tannotated\ttranslating\t0.515078753637712") }, { assert snapshot(process.out.versions).match('versions_all') } ) } diff --git a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap index 0f4e3eb6b5b..e737d0aed7d 100644 --- a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap +++ b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap @@ -18,25 +18,6 @@ }, "timestamp": "2024-03-13T14:55:40.823397" }, - "orfs": { - "content": [ - [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_translating_ORFs.tsv:md5,9b3f1b4f1ab361035357717e22b95e2d" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-03-13T14:55:40.835739" - }, "metagene_profile_3p_stub": { "content": [ [ @@ -125,25 +106,6 @@ }, "timestamp": "2024-03-13T14:55:40.82699" }, - "metagene_profile_3p": { - "content": [ - [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_metagene_profiles_3p.tsv:md5,fd0e278692ca2a4689f444e1e392304c" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-03-13T14:55:40.816311" - }, "protocol": { "content": [ [ @@ -302,25 +264,6 @@ }, "timestamp": "2024-03-13T14:56:24.158017" }, - "metagene_profile_3p_all": { - "content": [ - [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_metagene_profiles_3p.tsv:md5,fd0e278692ca2a4689f444e1e392304c" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-03-13T14:56:24.198394" - }, "metagene_plots_stub": { "content": [ "test_metagene_plots.pdf" @@ -398,25 +341,6 @@ }, "timestamp": "2024-03-13T14:56:24.238246" }, - "orfs_all": { - "content": [ - [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_translating_ORFs.tsv:md5,f6c89bcedde63960339e8486a69e9317" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-03-13T14:56:24.249516" - }, "read_length_dist_all_stub": { "content": [ "test_read_length_dist.pdf" From 6254042198f68b565ebd7df8cf907a57c2bd63d2 Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Thu, 14 Mar 2024 09:35:47 +0000 Subject: [PATCH 10/21] Update nf-test.config --- tests/config/nf-test.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/config/nf-test.config b/tests/config/nf-test.config index b90d6cd5fb3..269f2dc3ca1 100644 --- a/tests/config/nf-test.config +++ b/tests/config/nf-test.config @@ -2,7 +2,7 @@ params { publish_dir_mode = "copy" singularity_pull_docker_container = false test_data_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules' - modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/update_riboseq_bams/data/' + modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' } process { From 649e5c3a6c11a872da2064b06f7d219886576cc1 Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Thu, 14 Mar 2024 09:52:17 +0000 Subject: [PATCH 11/21] Apply suggestions from code review Co-authored-by: Adam Talbot <12817534+adamrtalbot@users.noreply.github.com> --- modules/nf-core/ribotricer/detectorfs/meta.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/nf-core/ribotricer/detectorfs/meta.yml b/modules/nf-core/ribotricer/detectorfs/meta.yml index d634bd56602..2fd539bb59c 100644 --- a/modules/nf-core/ribotricer/detectorfs/meta.yml +++ b/modules/nf-core/ribotricer/detectorfs/meta.yml @@ -18,8 +18,8 @@ input: - meta: type: map description: | - Groovy Map containing riboseq sample information - e.g. `[ id:'sample1', single_end:false ] + Map containing riboseq sample information + e.g. `[ id:'sample1', single_end:false, strandedness: 'single' ] - bam_ribo: type: file description: Sorted riboseq BAM file(s) @@ -31,7 +31,7 @@ input: - meta2: type: map description: | - Groovy Map containing reference information for the candidate ORFs + Map containing reference information for the candidate ORFs e.g. `[ id:'Ensembl human v.111' ]` - candidate_orfs: type: file From c068c11936038f109a7d8f4c93fb52e03f2512d9 Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Thu, 14 Mar 2024 09:52:46 +0000 Subject: [PATCH 12/21] Update modules/nf-core/ribotricer/detectorfs/main.nf Co-authored-by: Adam Talbot <12817534+adamrtalbot@users.noreply.github.com> --- modules/nf-core/ribotricer/detectorfs/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/ribotricer/detectorfs/main.nf b/modules/nf-core/ribotricer/detectorfs/main.nf index 4b721a73672..a08cf2a5618 100644 --- a/modules/nf-core/ribotricer/detectorfs/main.nf +++ b/modules/nf-core/ribotricer/detectorfs/main.nf @@ -36,7 +36,7 @@ process RIBOTRICER_DETECTORFS { strandedness_cmd = '--stranded yes' } else if (meta.strandedness == 'reverse') { strandedness_cmd = '--stranded revers' - } else if (mea.strandedness == 'unstranded') { + } else if (meta.strandedness == 'unstranded') { strandedness_cmd = '--stranded no' } """ From d74c37cdf49e5f51fc7038c8a12a44286dd85341 Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Thu, 14 Mar 2024 09:54:47 +0000 Subject: [PATCH 13/21] Clarify language around strandedness inference --- modules/nf-core/ribotricer/detectorfs/meta.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/ribotricer/detectorfs/meta.yml b/modules/nf-core/ribotricer/detectorfs/meta.yml index 2fd539bb59c..430f232d001 100644 --- a/modules/nf-core/ribotricer/detectorfs/meta.yml +++ b/modules/nf-core/ribotricer/detectorfs/meta.yml @@ -46,7 +46,7 @@ output: e.g. `[ id:'sample1', single_end:false ] - protocol: type: file - description: "txt file containing inferred protocol (if not specified, optional)" + description: "txt file containing inferred protocol if it was inferred (not supplied as input)" pattern: "*_protocol.txt" - bam_summary: type: file From 2f7fbead268b840356ff9e51c245e073d1eeec2b Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Thu, 14 Mar 2024 09:59:49 +0000 Subject: [PATCH 14/21] default -> filtered --- modules/nf-core/ribotricer/detectorfs/tests/main.nf.test | 8 ++++---- .../nextflow.default.config => nextflow.filtered.config | 0 2 files changed, 4 insertions(+), 4 deletions(-) rename modules/nf-core/ribotricer/detectorfs/tests/nextflow.default.config => nextflow.filtered.config (100%) diff --git a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test index a51c173ad72..19c62052512 100644 --- a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test +++ b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test @@ -38,9 +38,9 @@ nextflow_process { } - test("human chr20 - bam - default") { + test("human chr20 - bam - filtered") { - config './nextflow.default.config' + config './nextflow.filtered.config' when { process { @@ -109,11 +109,11 @@ nextflow_process { } - test("human chr20 - bam - default - stub") { + test("human chr20 - bam - filtered - stub") { options '-stub' - config './nextflow.default.config' + config './nextflow.filtered.config' when { process { diff --git a/modules/nf-core/ribotricer/detectorfs/tests/nextflow.default.config b/nextflow.filtered.config similarity index 100% rename from modules/nf-core/ribotricer/detectorfs/tests/nextflow.default.config rename to nextflow.filtered.config From 94d3e4a35cee2f8f7bd0aabaeea5dda4c206dc2c Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Thu, 14 Mar 2024 10:02:39 +0000 Subject: [PATCH 15/21] Fix typo Co-authored-by: Adam Talbot <12817534+adamrtalbot@users.noreply.github.com> --- modules/nf-core/ribotricer/detectorfs/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/ribotricer/detectorfs/main.nf b/modules/nf-core/ribotricer/detectorfs/main.nf index a08cf2a5618..37182630baf 100644 --- a/modules/nf-core/ribotricer/detectorfs/main.nf +++ b/modules/nf-core/ribotricer/detectorfs/main.nf @@ -35,7 +35,7 @@ process RIBOTRICER_DETECTORFS { if (meta.strandedness == 'forward') { strandedness_cmd = '--stranded yes' } else if (meta.strandedness == 'reverse') { - strandedness_cmd = '--stranded revers' + strandedness_cmd = '--stranded reverse' } else if (meta.strandedness == 'unstranded') { strandedness_cmd = '--stranded no' } From 2964fcd663b451cb9f50d5d47ccdf311ab5db4b8 Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Thu, 14 Mar 2024 10:08:58 +0000 Subject: [PATCH 16/21] ifelse -> switch to appease @adamrtalbot --- modules/nf-core/ribotricer/detectorfs/main.nf | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/modules/nf-core/ribotricer/detectorfs/main.nf b/modules/nf-core/ribotricer/detectorfs/main.nf index a08cf2a5618..7f98e071f25 100644 --- a/modules/nf-core/ribotricer/detectorfs/main.nf +++ b/modules/nf-core/ribotricer/detectorfs/main.nf @@ -31,13 +31,19 @@ process RIBOTRICER_DETECTORFS { def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" - def strandedness_cmd = '' - if (meta.strandedness == 'forward') { - strandedness_cmd = '--stranded yes' - } else if (meta.strandedness == 'reverse') { - strandedness_cmd = '--stranded revers' - } else if (meta.strandedness == 'unstranded') { - strandedness_cmd = '--stranded no' + switch(meta.strandedness) { + case "forward": + def strandedness_cmd = "--stranded yes" + break + case "reverse": + def strandedness_cmd = "--stranded reverse" + break + case "unstranded": + def strandedness_cmd = "--stranded no" + break + default: + def strandedness_cmd = "" + break } """ ribotricer detect-orfs \\ From 6c7c120fe25e0615c64594091889699e8bf1b367 Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Thu, 14 Mar 2024 10:27:45 +0000 Subject: [PATCH 17/21] variables need to be defined outsite switch --- modules/nf-core/ribotricer/detectorfs/main.nf | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/modules/nf-core/ribotricer/detectorfs/main.nf b/modules/nf-core/ribotricer/detectorfs/main.nf index 7f98e071f25..189d485ec76 100644 --- a/modules/nf-core/ribotricer/detectorfs/main.nf +++ b/modules/nf-core/ribotricer/detectorfs/main.nf @@ -30,19 +30,17 @@ process RIBOTRICER_DETECTORFS { script: def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" + def strandedness_cmd = '' switch(meta.strandedness) { case "forward": - def strandedness_cmd = "--stranded yes" + strandedness_cmd = "--stranded yes" break case "reverse": - def strandedness_cmd = "--stranded reverse" + strandedness_cmd = "--stranded reverse" break case "unstranded": - def strandedness_cmd = "--stranded no" - break - default: - def strandedness_cmd = "" + strandedness_cmd = "--stranded no" break } """ From 9db37ff0f991a392f64cd21a5f8856e58a91dad4 Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Thu, 14 Mar 2024 11:40:04 +0000 Subject: [PATCH 18/21] unstranded is broken --- modules/nf-core/ribotricer/detectorfs/main.nf | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/modules/nf-core/ribotricer/detectorfs/main.nf b/modules/nf-core/ribotricer/detectorfs/main.nf index 189d485ec76..d86a64e58fc 100644 --- a/modules/nf-core/ribotricer/detectorfs/main.nf +++ b/modules/nf-core/ribotricer/detectorfs/main.nf @@ -39,9 +39,15 @@ process RIBOTRICER_DETECTORFS { case "reverse": strandedness_cmd = "--stranded reverse" break - case "unstranded": - strandedness_cmd = "--stranded no" - break + // + // Specifying unstranded seems broken - see + // https://github.com/smithlabcode/ribotricer/issues/153. Leaving it + // undefined works, though ribotricer may incorrectly infer + // strandednesss? + // + //case "unstranded": + // strandedness_cmd = "--stranded no" + // break } """ ribotricer detect-orfs \\ From ee969880f12dee53252d3e26d877ea78ff236951 Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Thu, 14 Mar 2024 11:40:12 +0000 Subject: [PATCH 19/21] More tests --- .../ribotricer/detectorfs/tests/main.nf.test | 152 ++- .../detectorfs/tests/main.nf.test.snap | 870 ++++++++++++++++-- 2 files changed, 921 insertions(+), 101 deletions(-) diff --git a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test index 19c62052512..540a32e412a 100644 --- a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test +++ b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test @@ -38,7 +38,7 @@ nextflow_process { } - test("human chr20 - bam - filtered") { + test("human chr20 - bam - filtered - forward") { config './nextflow.filtered.config' @@ -72,8 +72,78 @@ nextflow_process { ) } } + + test("human chr20 - bam - filtered - reverse") { + + config './nextflow.filtered.config' + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:true, strandedness:'reverse' ], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/aligned_reads/SRX11780888_chr20.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/aligned_reads/SRX11780888_chr20.bam.bai", checkIfExists: true) + ] + input[1] = RIBOTRICER_PREPAREORFS.out.candidate_orfs + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.protocol).match('protocol_reverse') }, + { assert snapshot(process.out.bam_summary).match('bam_summary_reverse') }, + { assert snapshot(file(process.out.read_length_dist[0][1]).name).match("read_length_dist_reverse") }, + { assert snapshot(process.out.metagene_profile_5p).match('metagene_profile_5p_reverse') }, + { assert snapshot(process.out.metagene_profile_3p).match('metagene_profile_3p_reverse') }, + { assert snapshot(file(process.out.metagene_plots[0][1]).name).match("metagene_plots_reverse") }, + { assert snapshot(process.out.psite_offsets).match('psite_offsets_reverse') }, + { assert snapshot(process.out.pos_wig).match('pos_wig_reverse') }, + { assert snapshot(process.out.neg_wig).match('neg_wig_reverse') }, + { assert path(process.out.orfs[0][1]).getText().contains("ENST00000463943_50840572_50840805_234\tdORF\ttranslating\t0.1428571428571428") }, + { assert snapshot(process.out.versions).match('versions_reverse') } + ) + } + } + + test("human chr20 - bam - filtered - unspecified strand") { - test("human chr20 - bam - all") { + config './nextflow.filtered.config' + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:true ], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/aligned_reads/SRX11780888_chr20.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/aligned_reads/SRX11780888_chr20.bam.bai", checkIfExists: true) + ] + input[1] = RIBOTRICER_PREPAREORFS.out.candidate_orfs + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.protocol).match('protocol_unspecified') }, + { assert snapshot(process.out.bam_summary).match('bam_summary_unspecified') }, + { assert snapshot(file(process.out.read_length_dist[0][1]).name).match("read_length_dist_unspecified") }, + { assert snapshot(process.out.metagene_profile_5p).match('metagene_profile_5p_unspecified') }, + { assert snapshot(process.out.metagene_profile_3p).match('metagene_profile_3p_unspecified') }, + { assert snapshot(file(process.out.metagene_plots[0][1]).name).match("metagene_plots_unspecified") }, + { assert snapshot(process.out.psite_offsets).match('psite_offsets_unspecified') }, + { assert snapshot(process.out.pos_wig).match('pos_wig_unspecified') }, + { assert snapshot(process.out.neg_wig).match('neg_wig_unspecified') }, + { assert path(process.out.orfs[0][1]).getText().contains("ENST00000463943_50840572_50840805_234\tdORF\ttranslating\t0.1428571428571428") }, + { assert snapshot(process.out.versions).match('versions_unspecified') } + ) + } + } + + test("human chr20 - bam - all - forward") { config './nextflow.all.config' @@ -109,7 +179,7 @@ nextflow_process { } - test("human chr20 - bam - filtered - stub") { + test("human chr20 - bam - filtered - forward - stub") { options '-stub' @@ -145,8 +215,82 @@ nextflow_process { ) } } + + test("human chr20 - bam - filtered - reverse - stub") { + + options '-stub' + + config './nextflow.filtered.config' + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:true, strandedness:'reverse' ], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/aligned_reads/SRX11780888_chr20.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/aligned_reads/SRX11780888_chr20.bam.bai", checkIfExists: true) + ] + input[1] = RIBOTRICER_PREPAREORFS.out.candidate_orfs + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.protocol).match('protocol_reverse_stub') }, + { assert snapshot(process.out.bam_summary).match('bam_summary_reverse_stub') }, + { assert snapshot(file(process.out.read_length_dist[0][1]).name).match("read_length_dist_reverse_stub") }, + { assert snapshot(process.out.metagene_profile_5p).match('metagene_profile_5p_reverse_stub') }, + { assert snapshot(process.out.metagene_profile_3p).match('metagene_profile_3p_reverse_stub') }, + { assert snapshot(file(process.out.metagene_plots[0][1]).name).match("metagene_plots_reverse_stub") }, + { assert snapshot(process.out.psite_offsets).match('psite_offsets_reverse_stub') }, + { assert snapshot(process.out.pos_wig).match('pos_wig_reverse_stub') }, + { assert snapshot(process.out.neg_wig).match('neg_wig_reverse_stub') }, + { assert snapshot(process.out.orfs).match('orfs_reverse_stub') }, + { assert snapshot(process.out.versions).match('versions_reverse_stub') } + ) + } + } + + test("human chr20 - bam - filtered - unspecified strand - stub") { + + options '-stub' + + config './nextflow.filtered.config' + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:true ], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/aligned_reads/SRX11780888_chr20.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/aligned_reads/SRX11780888_chr20.bam.bai", checkIfExists: true) + ] + input[1] = RIBOTRICER_PREPAREORFS.out.candidate_orfs + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.protocol).match('protocol_unspecified_stub') }, + { assert snapshot(process.out.bam_summary).match('bam_summary_unspecified_stub') }, + { assert snapshot(file(process.out.read_length_dist[0][1]).name).match("read_length_dist_unspecified_stub") }, + { assert snapshot(process.out.metagene_profile_5p).match('metagene_profile_5p_unspecified_stub') }, + { assert snapshot(process.out.metagene_profile_3p).match('metagene_profile_3p_unspecified_stub') }, + { assert snapshot(file(process.out.metagene_plots[0][1]).name).match("metagene_plots_unspecified_stub") }, + { assert snapshot(process.out.psite_offsets).match('psite_offsets_unspecified_stub') }, + { assert snapshot(process.out.pos_wig).match('pos_wig_unspecified_stub') }, + { assert snapshot(process.out.neg_wig).match('neg_wig_unspecified_stub') }, + { assert snapshot(process.out.orfs).match('orfs_unspecified_stub') }, + { assert snapshot(process.out.versions).match('versions_unspecified_stub') } + ) + } + } - test("human chr20 - bam - all - stub") { + test("human chr20 - bam - all - forward - stub") { options '-stub' diff --git a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap index e737d0aed7d..659eaac8bde 100644 --- a/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap +++ b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap @@ -1,4 +1,629 @@ { + "versions_unspecified_stub": { + "content": [ + [ + "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:18:35.629937" + }, + "versions_all": { + "content": [ + [ + "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:24.5335" + }, + "pos_wig_unspecified": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test_pos.wig:md5,1322405703845f8bec05c169eb36e2c0" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:12:11.639155" + }, + "pos_wig_reverse": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "reverse" + }, + "test_pos.wig:md5,1322405703845f8bec05c169eb36e2c0" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T10:23:53.26671" + }, + "psite_offsets_all": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_psite_offsets.txt:md5,32c34c6201b3efc8e7f84db370405e30" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:24.217844" + }, + "protocol": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:55:40.799057" + }, + "metagene_profile_5p_unspecified_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test_metagene_profiles_5p.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:18:35.591335" + }, + "neg_wig_unspecified_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test_neg.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:18:35.621865" + }, + "read_length_dist_reverse": { + "content": [ + "test_read_length_dist.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T10:23:53.236982" + }, + "metagene_profile_3p_reverse": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "reverse" + }, + "test_metagene_profiles_3p.tsv:md5,fa00b17c8093d7a9a2bb4f83c24f7315" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T10:43:24.607592" + }, + "neg_wig_all_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_neg.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:57:09.064731" + }, + "pos_wig_unspecified_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test_pos.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:18:35.614509" + }, + "protocol_unspecified_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test_protocol.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:18:35.567122" + }, + "psite_offsets_all_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_psite_offsets.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:57:08.622733" + }, + "metagene_plots_all_stub": { + "content": [ + "test_metagene_plots.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:57:08.401264" + }, + "metagene_profile_3p_unspecified_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test_metagene_profiles_3p.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:32:24.661133" + }, + "versions_unspecified": { + "content": [ + [ + "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:12:11.653884" + }, + "bam_summary_unspecified_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test_bam_summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:18:35.576923" + }, + "bam_summary": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_bam_summary.txt:md5,3d4a99d779b42755bf3ff6dc9802f9a9" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T10:23:17.882713" + }, + "orfs_reverse_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "reverse" + }, + "test_translating_ORFs.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:38:30.43685" + }, + "metagene_plots": { + "content": [ + "test_metagene_plots.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:55:40.819694" + }, + "read_length_dist_stub": { + "content": [ + "test_read_length_dist.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:46.17198" + }, + "metagene_plots_unspecified_stub": { + "content": [ + "test_metagene_plots.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:18:35.599678" + }, + "bam_summary_all_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_bam_summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:57:07.499662" + }, + "versions": { + "content": [ + [ + "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T10:23:17.984684" + }, + "pos_wig_reverse_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "reverse" + }, + "test_pos.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:18:15.258994" + }, + "metagene_profile_5p_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_metagene_profiles_5p.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:46.394691" + }, + "neg_wig_reverse_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "reverse" + }, + "test_neg.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:18:15.265052" + }, + "neg_wig": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_neg.wig:md5,bc036bbb6b2518f85a60c70829e48229" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T10:23:17.965289" + }, + "metagene_profile_3p_reverse_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "reverse" + }, + "test_metagene_profiles_3p.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:32:05.192565" + }, + "bam_summary_reverse": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "reverse" + }, + "test_bam_summary.txt:md5,3d4a99d779b42755bf3ff6dc9802f9a9" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T10:23:53.230879" + }, + "protocol_reverse_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "reverse" + }, + "test_protocol.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:18:15.199816" + }, + "bam_summary_unspecified": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test_bam_summary.txt:md5,3d4a99d779b42755bf3ff6dc9802f9a9" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:12:11.605103" + }, + "metagene_plots_unspecified": { + "content": [ + "test_metagene_plots.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:12:11.625406" + }, + "bam_summary_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_bam_summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:45.946051" + }, + "metagene_profile_3p_all_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_metagene_profiles_3p.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:57:08.176629" + }, + "metagene_profile_5p_reverse": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "reverse" + }, + "test_metagene_profiles_5p.tsv:md5,0767434b9ed0d95f07dd5e87612f1014" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T10:23:53.242312" + }, + "bam_summary_reverse_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "reverse" + }, + "test_bam_summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:18:15.222899" + }, "psite_offsets": { "content": [ [ @@ -16,7 +641,7 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:55:40.823397" + "timestamp": "2024-03-14T10:23:17.932169" }, "metagene_profile_3p_stub": { "content": [ @@ -56,28 +681,34 @@ }, "timestamp": "2024-03-13T14:56:47.718532" }, - "versions_all": { + "metagene_profile_5p_unspecified": { "content": [ [ - "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + [ + { + "id": "test", + "single_end": true + }, + "test_metagene_profiles_5p.tsv:md5,0767434b9ed0d95f07dd5e87612f1014" + ] ] ], "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:56:24.5335" + "timestamp": "2024-03-14T11:16:52.638629" }, - "psite_offsets_all": { + "neg_wig_reverse": { "content": [ [ [ { "id": "test", "single_end": true, - "strandedness": "forward" + "strandedness": "reverse" }, - "test_psite_offsets.txt:md5,32c34c6201b3efc8e7f84db370405e30" + "test_neg.wig:md5,3c1c2f9e2c32652f00325bcc643d92ba" ] ] ], @@ -85,7 +716,17 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:56:24.217844" + "timestamp": "2024-03-14T10:23:53.297502" + }, + "metagene_plots_reverse_stub": { + "content": [ + "test_metagene_plots.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:18:15.247322" }, "pos_wig": { "content": [ @@ -104,30 +745,36 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:55:40.82699" + "timestamp": "2024-03-14T10:23:17.949136" }, - "protocol": { + "psite_offsets_stub": { "content": [ [ - + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_psite_offsets.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] ] ], "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:55:40.799057" + "timestamp": "2024-03-13T14:56:47.055786" }, - "psite_offsets_stub": { + "orfs_unspecified_stub": { "content": [ [ [ { "id": "test", - "single_end": true, - "strandedness": "forward" + "single_end": true }, - "test_psite_offsets.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + "test_translating_ORFs.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] ] ], @@ -135,7 +782,7 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:56:47.055786" + "timestamp": "2024-03-14T11:38:48.579416" }, "protocol_stub": { "content": [ @@ -156,16 +803,26 @@ }, "timestamp": "2024-03-13T14:56:45.721392" }, - "metagene_profile_5p": { + "read_length_dist_unspecified_stub": { + "content": [ + "test_read_length_dist.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:18:35.584352" + }, + "psite_offsets_reverse_stub": { "content": [ [ [ { "id": "test", "single_end": true, - "strandedness": "forward" + "strandedness": "reverse" }, - "test_metagene_profiles_5p.tsv:md5,c7c36a2748f89ae3b2f1e7ae448d1237" + "test_psite_offsets.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ] ] ], @@ -173,9 +830,37 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:55:40.813489" + "timestamp": "2024-03-14T11:18:15.253256" }, - "neg_wig_all_stub": { + "metagene_profile_3p_unspecified": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test_metagene_profiles_3p.tsv:md5,fa00b17c8093d7a9a2bb4f83c24f7315" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:16:52.657937" + }, + "read_length_dist_reverse_stub": { + "content": [ + "test_read_length_dist.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:18:15.229571" + }, + "metagene_profile_5p": { "content": [ [ [ @@ -184,7 +869,7 @@ "single_end": true, "strandedness": "forward" }, - "test_neg.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + "test_metagene_profiles_5p.tsv:md5,c7c36a2748f89ae3b2f1e7ae448d1237" ] ] ], @@ -192,7 +877,7 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:57:09.064731" + "timestamp": "2024-03-14T10:23:17.912506" }, "metagene_profile_5p_all_stub": { "content": [ @@ -213,16 +898,15 @@ }, "timestamp": "2024-03-13T14:57:07.945858" }, - "psite_offsets_all_stub": { + "protocol_unspecified": { "content": [ [ [ { "id": "test", - "single_end": true, - "strandedness": "forward" + "single_end": true }, - "test_psite_offsets.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + "test_protocol.txt:md5,78ca4b6682ea8b5187eb512127544a0f" ] ] ], @@ -230,7 +914,7 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:57:08.622733" + "timestamp": "2024-03-14T11:12:11.589918" }, "read_length_dist": { "content": [ @@ -242,15 +926,17 @@ }, "timestamp": "2024-03-13T14:55:40.81119" }, - "metagene_plots_all_stub": { + "versions_reverse": { "content": [ - "test_metagene_plots.pdf" + [ + "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + ] ], "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:57:08.401264" + "timestamp": "2024-03-14T10:23:53.312637" }, "protocol_all": { "content": [ @@ -293,6 +979,18 @@ }, "timestamp": "2024-03-13T14:57:09.284761" }, + "protocol_reverse": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T10:23:53.224089" + }, "neg_wig_stub": { "content": [ [ @@ -351,16 +1049,15 @@ }, "timestamp": "2024-03-13T14:57:07.71913" }, - "bam_summary": { + "psite_offsets_unspecified_stub": { "content": [ [ [ { "id": "test", - "single_end": true, - "strandedness": "forward" + "single_end": true }, - "test_bam_summary.txt:md5,3d4a99d779b42755bf3ff6dc9802f9a9" + "test_psite_offsets.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ] ] ], @@ -368,27 +1065,19 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:55:40.805294" - }, - "metagene_plots": { - "content": [ - "test_metagene_plots.pdf" - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-03-13T14:55:40.819694" + "timestamp": "2024-03-14T11:18:35.606622" }, - "read_length_dist_stub": { + "versions_reverse_stub": { "content": [ - "test_read_length_dist.pdf" + [ + "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + ] ], "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:56:46.17198" + "timestamp": "2024-03-14T11:18:15.272599" }, "pos_wig_stub": { "content": [ @@ -409,6 +1098,16 @@ }, "timestamp": "2024-03-13T14:56:47.275649" }, + "metagene_plots_reverse": { + "content": [ + "test_metagene_plots.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T10:23:53.251928" + }, "pos_wig_all": { "content": [ [ @@ -440,16 +1139,15 @@ }, "timestamp": "2024-03-13T14:56:47.939129" }, - "bam_summary_all_stub": { + "neg_wig_unspecified": { "content": [ [ [ { "id": "test", - "single_end": true, - "strandedness": "forward" + "single_end": true }, - "test_bam_summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + "test_neg.wig:md5,3c1c2f9e2c32652f00325bcc643d92ba" ] ] ], @@ -457,19 +1155,17 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:57:07.499662" + "timestamp": "2024-03-14T11:12:11.646179" }, - "versions": { + "read_length_dist_unspecified": { "content": [ - [ - "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" - ] + "test_read_length_dist.pdf" ], "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:55:40.845881" + "timestamp": "2024-03-14T11:12:11.614371" }, "pos_wig_all_stub": { "content": [ @@ -490,14 +1186,14 @@ }, "timestamp": "2024-03-13T14:57:08.844313" }, - "metagene_profile_5p_stub": { + "metagene_profile_5p_reverse_stub": { "content": [ [ [ { "id": "test", "single_end": true, - "strandedness": "forward" + "strandedness": "reverse" }, "test_metagene_profiles_5p.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] @@ -507,7 +1203,7 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:56:46.394691" + "timestamp": "2024-03-14T11:18:15.235454" }, "protocol_all_stub": { "content": [ @@ -528,16 +1224,16 @@ }, "timestamp": "2024-03-13T14:57:07.281054" }, - "neg_wig": { + "psite_offsets_reverse": { "content": [ [ [ { "id": "test", "single_end": true, - "strandedness": "forward" + "strandedness": "reverse" }, - "test_neg.wig:md5,bc036bbb6b2518f85a60c70829e48229" + "test_psite_offsets.txt:md5,32c34c6201b3efc8e7f84db370405e30" ] ] ], @@ -545,7 +1241,7 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:55:40.831486" + "timestamp": "2024-03-14T10:23:53.259415" }, "versions_all_stub": { "content": [ @@ -569,35 +1265,15 @@ }, "timestamp": "2024-03-13T14:56:24.208296" }, - "bam_summary_all": { - "content": [ - [ - [ - { - "id": "test", - "single_end": true, - "strandedness": "forward" - }, - "test_bam_summary.txt:md5,3d4a99d779b42755bf3ff6dc9802f9a9" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-03-13T14:56:24.168332" - }, - "metagene_profile_5p_all": { + "psite_offsets_unspecified": { "content": [ [ [ { "id": "test", - "single_end": true, - "strandedness": "forward" + "single_end": true }, - "test_metagene_profiles_5p.tsv:md5,c7c36a2748f89ae3b2f1e7ae448d1237" + "test_psite_offsets.txt:md5,32c34c6201b3efc8e7f84db370405e30" ] ] ], @@ -605,9 +1281,9 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:56:24.188253" + "timestamp": "2024-03-14T11:12:11.632172" }, - "bam_summary_stub": { + "bam_summary_all": { "content": [ [ [ @@ -616,7 +1292,7 @@ "single_end": true, "strandedness": "forward" }, - "test_bam_summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + "test_bam_summary.txt:md5,3d4a99d779b42755bf3ff6dc9802f9a9" ] ] ], @@ -624,9 +1300,9 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:56:45.946051" + "timestamp": "2024-03-13T14:56:24.168332" }, - "metagene_profile_3p_all_stub": { + "metagene_profile_5p_all": { "content": [ [ [ @@ -635,7 +1311,7 @@ "single_end": true, "strandedness": "forward" }, - "test_metagene_profiles_3p.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + "test_metagene_profiles_5p.tsv:md5,c7c36a2748f89ae3b2f1e7ae448d1237" ] ] ], @@ -643,6 +1319,6 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-03-13T14:57:08.176629" + "timestamp": "2024-03-13T14:56:24.188253" } } \ No newline at end of file From 8b796660414f78ba7ba5c77a9b668c3f25a22900 Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Thu, 14 Mar 2024 11:44:05 +0000 Subject: [PATCH 20/21] Appease eclint --- nextflow.filtered.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextflow.filtered.config b/nextflow.filtered.config index 7ebc47048d3..0f7d7a77279 100644 --- a/nextflow.filtered.config +++ b/nextflow.filtered.config @@ -1,7 +1,7 @@ process { withName: RIBOTRICER_DETECTORFS { - + // NOTE: this is not a sensible value, but makes the module run for // testing purposes From 9244a2583ae530e7b34c1230a1055fa9acee2db5 Mon Sep 17 00:00:00 2001 From: Jonathan Manning Date: Thu, 14 Mar 2024 11:52:12 +0000 Subject: [PATCH 21/21] Fix configs --- .../nf-core/ribotricer/detectorfs/tests/nextflow.filtered.config | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename nextflow.filtered.config => modules/nf-core/ribotricer/detectorfs/tests/nextflow.filtered.config (100%) diff --git a/nextflow.filtered.config b/modules/nf-core/ribotricer/detectorfs/tests/nextflow.filtered.config similarity index 100% rename from nextflow.filtered.config rename to modules/nf-core/ribotricer/detectorfs/tests/nextflow.filtered.config