Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
f20472f
added modules for td2.longorfs & td2.predict
khersameesh24 Nov 28, 2025
34f9cb2
Merge branch 'master' into 9470-new-module-td2
khersameesh24 Nov 28, 2025
f36c6ed
Merge branch 'master' into 9470-new-module-td2
khersameesh24 Nov 30, 2025
74fea50
changes to version handling, updated snaps, and tests - resolving com…
khersameesh24 Dec 4, 2025
0f4a4fa
Merge branch 'master' into 9470-new-module-td2
khersameesh24 Dec 4, 2025
b1d83fe
added topics section in meta.yml
khersameesh24 Dec 4, 2025
9c4ba6e
fix topics section in meta.yml
khersameesh24 Dec 4, 2025
b483e0d
Merge branch 'master' into 9470-new-module-td2
khersameesh24 Dec 5, 2025
84b15d2
Merge branch 'master' into 9470-new-module-td2
khersameesh24 Dec 7, 2025
f0a0da8
Update modules/nf-core/td2/longorfs/main.nf
khersameesh24 Dec 8, 2025
f975500
Update modules/nf-core/td2/longorfs/meta.yml
khersameesh24 Dec 8, 2025
ad4fab1
Update modules/nf-core/td2/predict/main.nf
khersameesh24 Dec 8, 2025
ffdb366
Update modules/nf-core/td2/longorfs/meta.yml
khersameesh24 Dec 8, 2025
551073e
Update main.nf - stub run
khersameesh24 Dec 8, 2025
734ba50
Update meta.yml
khersameesh24 Dec 8, 2025
248e24c
resolving comments
khersameesh24 Dec 8, 2025
3b45d07
Merge branch 'master' into 9470-new-module-td2
khersameesh24 Dec 8, 2025
e930683
updated emad ontologies
khersameesh24 Dec 8, 2025
d978851
Merge branch 'master' into 9470-new-module-td2
khersameesh24 Dec 9, 2025
487a8ba
Merge branch 'master' into 9470-new-module-td2
khersameesh24 Dec 9, 2025
1d83372
Update modules/nf-core/td2/predict/tests/main.nf.test.snap
SPPearce Dec 9, 2025
24b2356
Update modules/nf-core/td2/predict/main.nf
SPPearce Dec 9, 2025
cf0a931
Update modules/nf-core/td2/longorfs/tests/main.nf.test.snap
SPPearce Dec 9, 2025
e65e57b
Update modules/nf-core/td2/longorfs/main.nf
SPPearce Dec 9, 2025
d341c3a
Update modules/nf-core/td2/predict/tests/main.nf.test.snap
SPPearce Dec 9, 2025
2b9b449
Update modules/nf-core/td2/longorfs/tests/main.nf.test.snap
SPPearce Dec 9, 2025
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
5 changes: 5 additions & 0 deletions modules/nf-core/td2/longorfs/environment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
channels:
- conda-forge
- bioconda
dependencies:
- "bioconda::td2=1.0.6"
43 changes: 43 additions & 0 deletions modules/nf-core/td2/longorfs/main.nf
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
process TD2_LONGORFS {
tag "$meta.id"
label 'process_medium'

conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/41/4155bf3b720e1e32d0615a947696fb0287ee4e8cdbeb4ec784dd4da7bb5b2e86/data':
"community.wave.seqera.io/library/td2:1.0.6--ea3e5ac09443b677"}"

input:
tuple val(meta), path(fasta)

output:
tuple val(meta), path("${prefix}/longest_orfs.{cds,gff3,pep}"), emit: orfs
tuple val("${task.process}"), val('TD2.LongOrfs'), eval("echo ${VERSION}"), emit: versions_td2, topic: versions

when:
task.ext.when == null || task.ext.when

script:
def args = task.ext.args ?: ''
VERSION = '1.0.6' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions.
prefix = task.ext.prefix ?: "${meta.id}"

"""
TD2.LongOrfs \\
-t ${fasta} \\
-O ${prefix} \\
--threads ${task.cpus} \\
${args}
"""

stub:
VERSION = 'v1.0.6' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions.
prefix = task.ext.prefix ?: "${meta.id}"

"""
mkdir -p ${prefix}/
touch ${prefix}/longest_orfs.cds
touch ${prefix}/longest_orfs.gff3
touch ${prefix}/longest_orfs.pep
"""
}
71 changes: 71 additions & 0 deletions modules/nf-core/td2/longorfs/meta.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: "td2_longorfs"
description: TD2 identifies candidate coding regions within transcript
sequences, such as those generated by de novo RNA-Seq transcript assembly
keywords:
- td2
- orfs
- longorfs
- transcripts
tools:
- td2:
description: "TD2 identifies candidate coding regions within transcript sequences,
such as those generated by de novo RNA-Seq transcript assembly"
homepage: "https://github.com/Markusjsommer/TD2"
documentation: "https://github.com/Markusjsommer/TD2"
tool_dev_url: "https://github.com/Markusjsommer/TD2"
licence: ["MIT"]
identifier: ""

input:
- - meta:
type: map
description: |
Groovy Map containing sample information
e.g. `[ id:'sample1' ]`
- fasta:
type: file
description: Fasta file containing the target transcript sequences
pattern: "*.{fasta}"
ontologies:
- edam: http://edamontology.org/format_1929 # FASTA
output:
orfs:
- - meta:
type: map
description: |
Groovy Map containing sample information
e.g. `[ id:'sample1' ]`
- ${prefix}/longest_orfs.{cds,gff3,pep}:
type: file
description: Files containing the longest ORFs predicted from the input
transcript sequences
pattern: "${prefix}/longest_orfs.{cds,gff3,pep}"
ontologies:
- edam: http://edamontology.org/format_1929 # FASTA
- edam: http://edamontology.org/format_1975 # GFF3
- edam: http://edamontology.org/format_1960 # Protein FASTA
versions_td2:
- - ${task.process}:
type: string
description: The process the versions were collected from
- TD2.LongOrfs:
type: string
description: The tool name
- echo ${VERSION}:
type: string
description: The tool version
topics:
versions:
- - ${task.process}:
type: string
description: The process the versions were collected from
- TD2.LongOrfs:
type: string
description: The tool name
- echo ${VERSION}:
type: string
description: The tool version
authors:
- "@khersameesh24"
maintainers:
- "@khersameesh24"
64 changes: 64 additions & 0 deletions modules/nf-core/td2/longorfs/tests/main.nf.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
nextflow_process {

name "Test Process TD2_LONGORFS"
script "../main.nf"
process "TD2_LONGORFS"

tag "modules"
tag "modules_nfcore"
tag "td2"
tag "td2/longorfs"

test("td2.longorfs - transcriptome.fasta") {

when {
process {
"""
input[0] = [
[ id:'test_td2_longorfs' ],
file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/transcriptome.fasta', checkIfExists: true),
]
"""
}
}

then {
assert process.success
assertAll(
{ assert snapshot(
process.out.orfs,
process.out.findAll { key, val -> key.startsWith("versions")}
).match() }
)
}

}

test("td2.longorfs - transcriptome.fasta -stub") {

options "-stub"

when {
process {
"""
input[0] = [
[ id:'test_td2_longorfs' ],
file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/transcriptome.fasta', checkIfExists: true),
]
"""
}
}

then {
assert process.success
assertAll(
{ assert snapshot(
process.out.orfs,
process.out.findAll { key, val -> key.startsWith("versions")}
).match() }
)
}

}

}
62 changes: 62 additions & 0 deletions modules/nf-core/td2/longorfs/tests/main.nf.test.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{
"td2.longorfs - transcriptome.fasta": {
"content": [
[
[
{
"id": "test_td2_longorfs"
},
[
"longest_orfs.cds:md5,4226fe196a4527f938e25061ffe7eaf6",
"longest_orfs.gff3:md5,864ae9147b65d07eb9d79c0e42968e12",
"longest_orfs.pep:md5,0151dac6998be924139a4f5a5a0c590b"
]
]
],
{
"versions_td2": [
[
"TD2_LONGORFS",
"TD2.LongOrfs",
"1.0.6"
]
]
}
],
"meta": {
"nf-test": "0.9.3",
"nextflow": "25.10.2"
},
"timestamp": "2025-12-08T22:55:17.67412706"
},
"td2.longorfs - transcriptome.fasta -stub": {
"content": [
[
[
{
"id": "test_td2_longorfs"
},
[
"longest_orfs.cds:md5,d41d8cd98f00b204e9800998ecf8427e",
"longest_orfs.gff3:md5,d41d8cd98f00b204e9800998ecf8427e",
"longest_orfs.pep:md5,d41d8cd98f00b204e9800998ecf8427e"
]
]
],
{
"versions_td2": [
[
"TD2_LONGORFS",
"TD2.LongOrfs",
"1.0.6"
]
]
}
],
"meta": {
"nf-test": "0.9.3",
"nextflow": "25.10.2"
},
"timestamp": "2025-12-08T22:57:07.433423015"
}
}
5 changes: 5 additions & 0 deletions modules/nf-core/td2/predict/environment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
channels:
- conda-forge
- bioconda
dependencies:
- "bioconda::td2=1.0.6"
47 changes: 47 additions & 0 deletions modules/nf-core/td2/predict/main.nf
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
process TD2_PREDICT {
tag "$meta.id"
label 'process_medium'

conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/41/4155bf3b720e1e32d0615a947696fb0287ee4e8cdbeb4ec784dd4da7bb5b2e86/data':
"community.wave.seqera.io/library/td2:1.0.6--ea3e5ac09443b677"}"

input:
tuple val(meta), path(fasta), path(orfs_dir, stageAs: 'orfs')

output:
tuple val(meta), path("${prefix}/*.TD2.{bed,cds,gff3,pep}") , emit: predictions
tuple val("${task.process}"), val('TD2.Predict'), eval("echo ${VERSION}"), emit: versions_td2, topic: versions

when:
task.ext.when == null || task.ext.when

script:
def args = task.ext.args ?: ''
VERSION = '1.0.6' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions.
prefix = task.ext.prefix ?: "${meta.id}"

"""
mkdir -p ${prefix}/

TD2.Predict \\
-t ${fasta} \\
-O ${orfs_dir} \\
${args}

mv *.TD2.{bed,cds,gff3,pep} ${prefix}/
"""

stub:
VERSION = 'v1.0.6' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions.
prefix = task.ext.prefix ?: "${meta.id}"

"""
mkdir -p ${prefix}/
touch ${prefix}/${fasta}.TD2.bed
touch ${prefix}/${fasta}.TD2.cds
touch ${prefix}/${fasta}.TD2.gff3
touch ${prefix}/${fasta}.TD2.pep
"""
}
77 changes: 77 additions & 0 deletions modules/nf-core/td2/predict/meta.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: "td2_predict"
description: TD2 identifies candidate coding regions within transcript
sequences, such as those generated by de novo RNA-Seq transcript assembly
keywords:
- predict
- orfs
- coding regions
- td2.predict
tools:
- "td2":
description: "TD2 identifies candidate coding regions within transcript sequences,
such as those generated by de novo RNA-Seq transcript assembly"
homepage: "https://github.com/Markusjsommer/TD2"
documentation: "https://github.com/Markusjsommer/TD2"
tool_dev_url: "https://github.com/Markusjsommer/TD2"
licence: ["MIT"]
identifier: ""

input:
- - meta:
type: map
description: |
Groovy Map containing sample information
e.g. `[ id:'sample1' ]`
- fasta:
type: file
description: Transcripts fasta file
pattern: "*.fasta"
ontologies:
- edam: http://edamontology.org/format_1929 # FASTA
- orfs_dir:
type: file
description: Directory containing the ORF prediction files generated by
the `td2_longorfs` module
pattern: "orfs_dir/"
ontologies: []
output:
predictions:
- - meta:
type: map
description: |
Groovy Map containing sample information
e.g. `[ id:'sample1' ]`
- ${prefix}/*.TD2.{bed,cds,gff3,pep}:
type: file
description: Files containing the TD2 ORF predictions for the input
transcript sequences
pattern: "${prefix}/*.TD2.{bed,cds,gff3,pep}"
ontologies:
- edam: http://edamontology.org/format_3003 # BED
- edam: http://edamontology.org/format_1929 # FASTA
- edam: http://edamontology.org/format_1975 # GFF3
versions_td2:
- - ${task.process}:
type: string
description: The process the versions were collected from
- TD2.Predict:
type: string
description: The tool name
- echo ${VERSION}:
type: string
description: The tool version
topics:
versions:
- - ${task.process}:
type: string
description: The process the versions were collected from
- TD2.Predict:
type: string
description: The tool name
- echo ${VERSION}:
type: string
description: The tool version
authors:
- "@khersameesh24"
maintainers:
- "@khersameesh24"
Loading
Loading