Transdecoder predict (#1251)

* create transdecoder/longorf module

* module transdecoder

* main.nf

* transdecoder/longorf ready to PR

* review comments update

* transdecoder/predict module create

* test transdecoder/predict module

* fix pytest

* pytest passed

* removed whitespace

* Update meta.yml

* Update meta.yml

Co-authored-by: Danilo Di Leo <danilo.dileo@lnu.se>
Co-authored-by: Daniel Lundin <erik.rikard.daniel@gmail.com>
This commit is contained in:
Danilo Di Leo 2022-02-02 09:46:07 +01:00 committed by GitHub
parent f207f6c870
commit aa97b1be3e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 139 additions and 0 deletions

View file

@ -0,0 +1,37 @@
process TRANSDECODER_PREDICT {
tag "$meta.id"
label 'process_medium'
conda (params.enable_conda ? "bioconda::transdecoder=5.5.0" : null)
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/transdecoder:5.5.0--pl5262hdfd78af_4':
'quay.io/comp-bio-aging/transdecoder' }"
input:
tuple val(meta), path(fasta)
path(fold)
output:
tuple val(meta), path("*.transdecoder.pep") , emit: pep
tuple val(meta), path("*.transdecoder.gff3") , emit: gff3
tuple val(meta), path("*.transdecoder.cds") , emit: cds
tuple val(meta), path("*.transdecoder.bed") , emit: bed
path "versions.yml" , emit: versions
script:
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"
"""
TransDecoder.Predict \\
$args \\
-O ${prefix} \\
-t \\
$fasta
cat <<-END_VERSIONS > versions.yml
"${task.process}":
transdecoder: \$(echo \$(TransDecoder.Predict --version) | sed -e "s/TransDecoder.Predict //g")
END_VERSIONS
"""
}

View file

@ -0,0 +1,59 @@
name: transdecoder_predict
description: TransDecoder identifies candidate coding regions within transcript sequences. It is used to build gff file. You can use this module after transdecoder_longorf
keywords:
- eukaryotes
- gff
tools:
- transdecoder:
description: TransDecoder identifies candidate coding regions within transcript sequences, such as those generated by de novo RNA-Seq transcript assembly using Trinity, or constructed based on RNA-Seq alignments to the genome using Tophat and Cufflinks.
homepage: https://github.com/TransDecoder
documentation: https://github.com/TransDecoder/TransDecoder/wiki
tool_dev_url: https://github.com/TransDecoder/TransDecoder
doi: ""
licence: ['Broad Institute']
input:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- fasta:
type: file
description: fasta file
pattern: "*.{fasta}"
- fold:
type: folder
description: Output from the module transdecoder_longorf
pattern: "*"
output:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- versions:
type: file
description: File containing software versions
pattern: "versions.yml"
- pep:
type: amino acids fasta file
description: All ORFs meeting the minimum length criteria, regardless of coding potential
pattern: "*.{pep}"
- gff3:
type: gff3 file
description: Positions of all ORFs as found in the target transcripts
pattern: "*.{gff3}"
- cds:
type: nucleotide fasta file
description: the nucleotide coding sequence for all detected ORFs
pattern: "*{cds}"
- bed:
type: bed file
description: bed file
pattern: "*{bed}"
authors:
- "@Danilo2771"

View file

@ -1457,6 +1457,10 @@ tbprofiler/profile:
- modules/tbprofiler/profile/** - modules/tbprofiler/profile/**
- tests/modules/tbprofiler/profile/** - tests/modules/tbprofiler/profile/**
test/template:
- modules/test/template/**
- tests/modules/test/template/**
tiddit/cov: tiddit/cov:
- modules/tiddit/cov/** - modules/tiddit/cov/**
- tests/modules/tiddit/cov/** - tests/modules/tiddit/cov/**
@ -1469,6 +1473,10 @@ transdecoder/longorf:
- modules/transdecoder/longorf/** - modules/transdecoder/longorf/**
- tests/modules/transdecoder/longorf/** - tests/modules/transdecoder/longorf/**
transdecoder/predict:
- modules/transdecoder/predict/**
- tests/modules/transdecoder/predict/**
trimgalore: trimgalore:
- modules/trimgalore/** - modules/trimgalore/**
- tests/modules/trimgalore/** - tests/modules/trimgalore/**

View file

@ -0,0 +1,18 @@
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
include { TRANSDECODER_PREDICT } from '../../../../modules/transdecoder/predict/main.nf'
include { TRANSDECODER_LONGORF } from '../../../../modules/transdecoder/longorf/main.nf'
workflow test_transdecoder_predict {
input = [
[ id:'test', single_end:false ], // meta map
file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true)]
TRANSDECODER_LONGORF ( input )
TRANSDECODER_PREDICT ( input, TRANSDECODER_LONGORF.out.folder )
}

View file

@ -0,0 +1,5 @@
process {
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
}

View file

@ -0,0 +1,12 @@
- name: transdecoder predict test_transdecoder_predict
command: nextflow run tests/modules/transdecoder/predict -entry test_transdecoder_predict -c tests/config/nextflow.config
tags:
- transdecoder
- transdecoder/predict
files:
- path: output/transdecoder/genome.fasta.transdecoder.bed
- path: output/transdecoder/genome.fasta.transdecoder.cds
- path: output/transdecoder/genome.fasta.transdecoder.gff3
- path: output/transdecoder/genome.fasta.transdecoder.pep
- path: output/transdecoder/versions.yml
md5sum: 2847cc159dc93e9014b57d76987623ea