Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions modules/nf-core/ribocode/prepare/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,18 @@ process RIBOCODE_PREPARE {
-f ${fasta} \\
-o annotation \\
$args

# Pre-build pyfasta .gdx/.flat with RiboCode's key_fn so consumers don't write to staged inputs.
python - <<'PYTHON'
from pyfasta import Fasta
def key_fn(name):
if ' ' in name:
return name.split()[0]
if '|' in name:
return name.split('|')
return name
Fasta('annotation/transcripts_sequence.fa', key_fn=key_fn)
PYTHON
"""

stub:
Expand All @@ -36,6 +48,8 @@ process RIBOCODE_PREPARE {

touch annotation/transcripts_cds.txt
touch annotation/transcripts_sequence.fa
touch annotation/transcripts_sequence.fa.gdx
touch annotation/transcripts_sequence.fa.flat
touch annotation/transcripts.pickle
"""
}
8 changes: 6 additions & 2 deletions modules/nf-core/ribocode/prepare/tests/main.nf.test.snap
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@
[
"transcripts.pickle:md5,b83be7910166b56d09c4879d38223883",
"transcripts_cds.txt:md5,6fae20439cbe378eb4db60a8bdf6a6af",
"transcripts_sequence.fa:md5,b0401ee625d655ea116528507b038c33"
"transcripts_sequence.fa:md5,b0401ee625d655ea116528507b038c33",
"transcripts_sequence.fa.flat:md5,e99a891bd574545ef72d40334b383c23",
"transcripts_sequence.fa.gdx:md5,4981ecea133628891d475215d48b9fa3"
]
]
],
Expand All @@ -47,7 +49,9 @@
[
"transcripts.pickle:md5,b83be7910166b56d09c4879d38223883",
"transcripts_cds.txt:md5,6fae20439cbe378eb4db60a8bdf6a6af",
"transcripts_sequence.fa:md5,b0401ee625d655ea116528507b038c33"
"transcripts_sequence.fa:md5,b0401ee625d655ea116528507b038c33",
"transcripts_sequence.fa.flat:md5,e99a891bd574545ef72d40334b383c23",
"transcripts_sequence.fa.gdx:md5,4981ecea133628891d475215d48b9fa3"
]
]
],
Expand Down
8 changes: 4 additions & 4 deletions modules/nf-core/ribocode/ribocode/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ process RIBOCODE_RIBOCODE {

output:

tuple val(meta), path("*.txt") , emit: orf_txt
tuple val(meta), path("*_collapsed.txt") , emit: orf_txt_collapsed
tuple val(meta), path("${prefix}.txt") , emit: orf_txt
tuple val(meta), path("${prefix}_collapsed.txt") , emit: orf_txt_collapsed
tuple val(meta), path("*_ORFs_category.pdf") , emit: orf_pdf, optional: true
tuple val(meta), path("*_psites.hd5") , emit: psites_hd5, optional: true
tuple val("${task.process}"), val('ribocode'), eval('RiboCode --version 2>&1') , emit: versions_ribocode, topic: versions
Expand All @@ -25,7 +25,7 @@ process RIBOCODE_RIBOCODE {

script:
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"
prefix = task.ext.prefix ?: "${meta.id}"
"""
# Run RiboCode and capture output to check for errors
RiboCode \\
Expand All @@ -45,7 +45,7 @@ process RIBOCODE_RIBOCODE {
"""

stub:
def prefix = task.ext.prefix ?: "${meta.id}"
prefix = task.ext.prefix ?: "${meta.id}"

"""
touch ${prefix}.txt
Expand Down
4 changes: 2 additions & 2 deletions modules/nf-core/ribocode/ribocode/meta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ output:
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- "*.txt":
- ${prefix}.txt:
type: file
description: Text file containing all detected ORFs with detailed information
pattern: "*.txt"
Expand All @@ -66,7 +66,7 @@ output:
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- "*_collapsed.txt":
- ${prefix}_collapsed.txt:
type: file
description: Text file containing collapsed ORFs (merged isoforms)
pattern: "*_collapsed.txt"
Expand Down
2 changes: 1 addition & 1 deletion modules/nf-core/ribocode/ribocode/tests/main.nf.test
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ nextflow_process {
then {
assertAll(
{ assert process.success },
{ assert process.out.orf_txt[0][1][0].toString().endsWith('.txt') },
{ assert process.out.orf_txt[0][1].toString().endsWith('.txt') },
{ assert process.out.orf_txt_collapsed[0][1].toString().endsWith('_collapsed.txt') },
{ assert process.out.orf_pdf[0][1].toString().endsWith('.pdf') },
{ assert process.out.psites_hd5[0][1].toString().endsWith('.hd5') }
Expand Down
5 changes: 1 addition & 4 deletions modules/nf-core/ribocode/ribocode/tests/main.nf.test.snap
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,7 @@
"id": "test",
"single_end": false
},
[
"test.txt:md5,3c6c1f3ffff5f9c4f4e59fd4f52c56f4",
"test_collapsed.txt:md5,d1e13bb728ad0b0e79b9326c75c6e47a"
]
"test.txt:md5,3c6c1f3ffff5f9c4f4e59fd4f52c56f4"
]
],
[
Expand Down
4 changes: 3 additions & 1 deletion modules/nf-core/ribotish/predict/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ process RIBOTISH_PREDICT {
input:
tuple val(meta), path(bam_ribo), path(bai_ribo)
tuple val(meta2), path(bam_ti), path(bai_ti)
tuple val(meta3), path(fasta), path(gtf)
tuple val(meta3), path(fasta), path(gtf), path(reference_gtf, stageAs: 'secondary.gtf')
tuple val(meta4), path(candidate_orfs)
tuple val(meta5), path(para_ribo)
tuple val(meta6), path(para_ti)
Expand All @@ -27,6 +27,7 @@ process RIBOTISH_PREDICT {
script:
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"
def reference_gtf_arg = reference_gtf ? "-a ${reference_gtf}" : ''

ribo_bam_cmd = ''
ti_bam_cmd = ''
Expand All @@ -48,6 +49,7 @@ process RIBOTISH_PREDICT {
$ti_bam_cmd \\
-f $fasta \\
-g $gtf \\
$reference_gtf_arg \\
-o ${prefix}_pred.txt \\
--allresult ${prefix}_all.txt \\
--transprofile ${prefix}_transprofile.py \\
Expand Down
7 changes: 7 additions & 0 deletions modules/nf-core/ribotish/predict/meta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,13 @@ input:
GTF-format annotation file for reference sequences used in the bam file
pattern: "*.gtf"
ontologies: []
- reference_gtf:
type: file
description: |
Optional secondary GTF annotation passed to ribotish as `-a` (e.g. a
MANE/RefSeq overlay). Pass `[]` to omit.
pattern: "*.gtf"
ontologies: []
- - meta4:
type: map
description: |
Expand Down
12 changes: 8 additions & 4 deletions modules/nf-core/ribotish/predict/tests/main.nf.test
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ nextflow_process {
input[2] = 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)
file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/Homo_sapiens.GRCh38.111_chr20.gtf", checkIfExists: true),
[]
]}
input[3] = Channel.of([[],[]])
input[4] = Channel.of([[],[]])
Expand Down Expand Up @@ -74,7 +75,8 @@ nextflow_process {
input[2] = 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)
file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/Homo_sapiens.GRCh38.111_chr20.gtf", checkIfExists: true),
[]
]}
input[3] = Channel.of([[],[]])
input[4] = Channel.of([[],[]])
Expand Down Expand Up @@ -114,7 +116,8 @@ nextflow_process {
input[2] = 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)
file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/Homo_sapiens.GRCh38.111_chr20.gtf", checkIfExists: true),
[]
]}
input[3] = Channel.of([[],[]])
input[4] = Channel.of([[],[]])
Expand Down Expand Up @@ -156,7 +159,8 @@ nextflow_process {
input[2] = 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)
file(params.modules_testdata_base_path + "genomics/homo_sapiens/riboseq_expression/Homo_sapiens.GRCh38.111_chr20.gtf", checkIfExists: true),
[]
]}
input[3] = Channel.of([[],[]])
input[4] = Channel.of([[],[]])
Expand Down
Loading