diff --git a/modules/nf-core/ribotricer/detectorfs/environment.yml b/modules/nf-core/ribotricer/detectorfs/environment.yml new file mode 100644 index 000000000000..74d510404f78 --- /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 000000000000..d86a64e58fce --- /dev/null +++ b/modules/nf-core/ribotricer/detectorfs/main.nf @@ -0,0 +1,86 @@ +process RIBOTRICER_DETECTORFS { + tag "$meta.id" + 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 = '' + + switch(meta.strandedness) { + case "forward": + strandedness_cmd = "--stranded yes" + break + case "reverse": + strandedness_cmd = "--stranded reverse" + 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 \\ + --bam $bam \\ + --ribotricer_index $candidate_orfs \\ + --prefix $prefix \\ + $strandedness_cmd \\ + $args + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + ribotricer: \$(ribotricer --version 2>&1 | 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 2>&1 | 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 000000000000..430f232d0011 --- /dev/null +++ b/modules/nf-core/ribotricer/detectorfs/meta.yml @@ -0,0 +1,99 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json +name: "ribotricer_detectorfs" +description: "Accurate detection of short and long active ORFs using Ribo-seq data" +keywords: + - riboseq + - orf + - genomics +tools: + - "ribotricer": + description: "Python package to detect translating ORF from Ribo-seq data" + 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: + - meta: + type: map + description: | + Map containing riboseq sample information + e.g. `[ id:'sample1', single_end:false, strandedness: 'single' ] + - bam_ribo: + type: file + 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: | + 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 it was inferred (not supplied as input)" + 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" + +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 000000000000..540a32e412a9 --- /dev/null +++ b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test @@ -0,0 +1,334 @@ +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 - filtered - forward") { + + config './nextflow.filtered.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') }, + { 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 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 path(process.out.orfs[0][1]).getText().contains("ENST00000370861_62136860_62140830_534\tannotated\ttranslating\t0.515078753637712") }, + { assert snapshot(process.out.versions).match('versions') } + ) + } + } + + 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") { + + 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' + + 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 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 path(process.out.orfs[0][1]).getText().contains("ENST00000370861_62136860_62140830_534\tannotated\ttranslating\t0.515078753637712") }, + { assert snapshot(process.out.versions).match('versions_all') } + ) + } + + } + + test("human chr20 - bam - filtered - forward - stub") { + + options '-stub' + + config './nextflow.filtered.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 - 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 - forward - 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 new file mode 100644 index 000000000000..659eaac8bde6 --- /dev/null +++ b/modules/nf-core/ribotricer/detectorfs/tests/main.nf.test.snap @@ -0,0 +1,1324 @@ +{ + "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": [ + [ + [ + { + "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-14T10:23:17.932169" + }, + "metagene_profile_3p_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: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" + }, + "metagene_profile_5p_unspecified": { + "content": [ + [ + [ + { + "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-14T11:16:52.638629" + }, + "neg_wig_reverse": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "reverse" + }, + "test_neg.wig:md5,3c1c2f9e2c32652f00325bcc643d92ba" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "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": [ + [ + [ + { + "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-14T10:23:17.949136" + }, + "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" + }, + "orfs_unspecified_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test_translating_ORFs.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:38:48.579416" + }, + "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" + }, + "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": "reverse" + }, + "test_psite_offsets.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:18:15.253256" + }, + "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": [ + [ + [ + { + "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-14T10:23:17.912506" + }, + "metagene_profile_5p_all_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:57:07.945858" + }, + "protocol_unspecified": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test_protocol.txt:md5,78ca4b6682ea8b5187eb512127544a0f" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:12:11.589918" + }, + "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" + }, + "versions_reverse": { + "content": [ + [ + "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T10:23:53.312637" + }, + "protocol_all": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:24.158017" + }, + "metagene_plots_stub": { + "content": [ + "test_metagene_plots.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:46.835308" + }, + "orfs_all_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: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": [ + [ + [ + { + "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: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" + }, + "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" + }, + "psite_offsets_unspecified_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test_psite_offsets.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:18:35.606622" + }, + "versions_reverse_stub": { + "content": [ + [ + "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:18:15.272599" + }, + "pos_wig_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_pos.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "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": [ + [ + [ + { + "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:56:24.228154" + }, + "versions_stub": { + "content": [ + [ + "versions.yml:md5,e692bbf6e4fcebbfd4b96fe0861f4fa7" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:47.939129" + }, + "neg_wig_unspecified": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test_neg.wig:md5,3c1c2f9e2c32652f00325bcc643d92ba" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:12:11.646179" + }, + "read_length_dist_unspecified": { + "content": [ + "test_read_length_dist.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:12:11.614371" + }, + "pos_wig_all_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "forward" + }, + "test_pos.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:57:08.844313" + }, + "metagene_profile_5p_reverse_stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "reverse" + }, + "test_metagene_profiles_5p.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:18:15.235454" + }, + "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:57:07.281054" + }, + "psite_offsets_reverse": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true, + "strandedness": "reverse" + }, + "test_psite_offsets.txt:md5,32c34c6201b3efc8e7f84db370405e30" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T10:23:53.259415" + }, + "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": [ + "test_metagene_plots.pdf" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-13T14:56:24.208296" + }, + "psite_offsets_unspecified": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test_psite_offsets.txt:md5,32c34c6201b3efc8e7f84db370405e30" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-14T11:12:11.632172" + }, + "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": [ + [ + [ + { + "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:56:24.188253" + } +} \ No newline at end of file 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 000000000000..4e8344ed5de9 --- /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.filtered.config b/modules/nf-core/ribotricer/detectorfs/tests/nextflow.filtered.config new file mode 100644 index 000000000000..0f7d7a772790 --- /dev/null +++ b/modules/nf-core/ribotricer/detectorfs/tests/nextflow.filtered.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 000000000000..43264805423d --- /dev/null +++ b/modules/nf-core/ribotricer/detectorfs/tests/tags.yml @@ -0,0 +1,2 @@ +ribotricer/detectorfs: + - "modules/nf-core/ribotricer/detectorfs/**"