Skip to content
Merged
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
21 changes: 11 additions & 10 deletions modules/nf-core/seqkit/concat/main.nf
Original file line number Diff line number Diff line change
@@ -1,30 +1,31 @@
process SEQKIT_CONCAT {
tag "$meta.id"
tag "${meta.id}"
label 'process_low'

conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/seqkit:2.9.0--h9ee0642_0':
'biocontainers/seqkit:2.9.0--h9ee0642_0' }"
container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container
? 'https://depot.galaxyproject.org/singularity/seqkit:2.9.0--h9ee0642_0'
: 'biocontainers/seqkit:2.9.0--h9ee0642_0'}"

input:
tuple val(meta), path(input, stageAs: 'in/*')

output:
tuple val(meta), path("*.{fasta,fastq,fa,fq,fas,fna,faa}"), emit: fastx
path "versions.yml", emit: versions
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 file_type = input instanceof List ? input[0].getExtension() : input.getExtension()
def args = task.ext.args ?: ""
def prefix = task.ext.prefix ?: "${meta.id}"
def file_type = input instanceof List ? input[0].getExtension() : input.getExtension()
"""
seqkit \\
concat \\
$args \\
--threads ${task.cpus} \\
${args} \\
in/* > ${prefix}.${file_type}

cat <<-END_VERSIONS > versions.yml
Expand All @@ -34,7 +35,7 @@ process SEQKIT_CONCAT {
"""

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

Expand Down
52 changes: 28 additions & 24 deletions modules/nf-core/seqkit/seq/main.nf
Original file line number Diff line number Diff line change
@@ -1,41 +1,43 @@
process SEQKIT_SEQ {
tag "$meta.id"
tag "${meta.id}"
label 'process_low'
// File IO can be a bottleneck. See: https://bioinf.shenwei.me/seqkit/usage/#parallelization-of-cpu-intensive-jobs

conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/seqkit:2.9.0--h9ee0642_0':
'biocontainers/seqkit:2.9.0--h9ee0642_0' }"
container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container
? 'https://depot.galaxyproject.org/singularity/seqkit:2.9.0--h9ee0642_0'
: 'biocontainers/seqkit:2.9.0--h9ee0642_0'}"

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

output:
tuple val(meta), path("${prefix}.*") , emit: fastx
path "versions.yml" , emit: versions
tuple val(meta), path("${prefix}.*"), emit: fastx
path "versions.yml", emit: versions

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

script:
def args = task.ext.args ?: ''
def args2 = task.ext.args2 ?: ''
prefix = task.ext.prefix ?: "${meta.id}"
def extension = "fastq"
if ("$fastx" ==~ /.+\.fasta|.+\.fasta.gz|.+\.fa|.+\.fa.gz|.+\.fas|.+\.fas.gz|.+\.fna|.+\.fna.gz|.+\.fsa|.+\.fsa.gz/ ) {
extension = "fasta"
def args = task.ext.args ?: ''
def args2 = task.ext.args2 ?: ''
prefix = task.ext.prefix ?: "${meta.id}"
def extension = "fastq"
if ("${fastx}" ==~ /.+\.fasta|.+\.fasta.gz|.+\.fa|.+\.fa.gz|.+\.fas|.+\.fas.gz|.+\.fna|.+\.fna.gz|.+\.fsa|.+\.fsa.gz/) {
extension = "fasta"
}
extension = fastx.toString().endsWith('.gz') ? "${extension}.gz" : extension
def call_gzip = extension.endsWith('.gz') ? "| gzip -c ${args2}" : ''
if ("${prefix}.${extension}" == "${fastx}") {
error("Input and output names are the same, use \"task.ext.prefix\" to disambiguate!")
}
extension = fastx.toString().endsWith('.gz') ? "${extension}.gz" : extension
def call_gzip = extension.endsWith('.gz') ? "| gzip -c $args2" : ''
if("${prefix}.${extension}" == "$fastx") error "Input and output names are the same, use \"task.ext.prefix\" to disambiguate!"
"""
seqkit \\
seq \\
--threads $task.cpus \\
$args \\
$fastx \\
$call_gzip \\
--threads ${task.cpus} \\
${args} \\
${fastx} \\
${call_gzip} \\
> ${prefix}.${extension}

cat <<-END_VERSIONS > versions.yml
Expand All @@ -45,13 +47,15 @@ process SEQKIT_SEQ {
"""

stub:
prefix = task.ext.prefix ?: "${meta.id}"
def extension = "fastq"
if ("$fastx" ==~ /.+\.fasta|.+\.fasta.gz|.+\.fa|.+\.fa.gz|.+\.fas|.+\.fas.gz|.+\.fna|.+\.fna.gz|.+\.fsa|.+\.fsa.gz/ ) {
extension = "fasta"
prefix = task.ext.prefix ?: "${meta.id}"
def extension = "fastq"
if ("${fastx}" ==~ /.+\.fasta|.+\.fasta.gz|.+\.fa|.+\.fa.gz|.+\.fas|.+\.fas.gz|.+\.fna|.+\.fna.gz|.+\.fsa|.+\.fsa.gz/) {
extension = "fasta"
}
extension = fastx.toString().endsWith('.gz') ? "${extension}.gz" : extension
if("${prefix}.${extension}" == "$fastx") error "Input and output names are the same, use \"task.ext.prefix\" to disambiguate!"
if ("${prefix}.${extension}" == "${fastx}") {
error("Input and output names are the same, use \"task.ext.prefix\" to disambiguate!")
}
"""
touch ${prefix}.${extension}

Expand Down
15 changes: 8 additions & 7 deletions modules/nf-core/seqkit/stats/main.nf
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
process SEQKIT_STATS {
tag "$meta.id"
tag "${meta.id}"
label 'process_low'

conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/seqkit:2.9.0--h9ee0642_0' :
'biocontainers/seqkit:2.9.0--h9ee0642_0' }"
container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container
? 'https://depot.galaxyproject.org/singularity/seqkit:2.9.0--h9ee0642_0'
: 'biocontainers/seqkit:2.9.0--h9ee0642_0'}"

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

output:
tuple val(meta), path("*.tsv"), emit: stats
path "versions.yml" , emit: versions
path "versions.yml", emit: versions

when:
task.ext.when == null || task.ext.when
Expand All @@ -23,8 +23,9 @@ process SEQKIT_STATS {
"""
seqkit stats \\
--tabular \\
$args \\
$reads > '${prefix}.tsv'
--threads ${task.cpus} \\
${args} \\
${reads} > '${prefix}.tsv'

cat <<-END_VERSIONS > versions.yml
"${task.process}":
Expand Down
44 changes: 24 additions & 20 deletions modules/nf-core/seqkit/translate/main.nf
Original file line number Diff line number Diff line change
@@ -1,33 +1,35 @@
process SEQKIT_TRANSLATE {
tag "$meta.id"
label 'process_single'
tag "${meta.id}"
label 'process_low'

conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/seqkit:2.9.0--h9ee0642_0':
'biocontainers/seqkit:2.9.0--h9ee0642_0' }"
container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container
? 'https://depot.galaxyproject.org/singularity/seqkit:2.9.0--h9ee0642_0'
: 'biocontainers/seqkit:2.9.0--h9ee0642_0'}"

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

output:
tuple val(meta), path("${prefix}.*"), emit: fastx
path "versions.yml" , emit: versions
path "versions.yml", emit: versions

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

script:
def args = task.ext.args ?: ''
def args2 = task.ext.args2 ?: ''
prefix = task.ext.prefix ?: "${meta.id}"
def extension = "fastq"
if ("$fastx" ==~ /.+\.fasta|.+\.fasta.gz|.+\.fa|.+\.fa.gz|.+\.fas|.+\.fas.gz|.+\.fna|.+\.fna.gz|.+\.fsa|.+\.fsa.gz/ ) {
extension = "fasta"
def args = task.ext.args ?: ''
def args2 = task.ext.args2 ?: ''
prefix = task.ext.prefix ?: "${meta.id}"
def extension = "fastq"
if ("${fastx}" ==~ /.+\.fasta|.+\.fasta.gz|.+\.fa|.+\.fa.gz|.+\.fas|.+\.fas.gz|.+\.fna|.+\.fna.gz|.+\.fsa|.+\.fsa.gz/) {
extension = "fasta"
}
extension = fastx.toString().endsWith('.gz') ? "${extension}.gz" : extension
def call_gzip = extension.endsWith('.gz') ? "| gzip -c ${args2}" : ''
if ("${prefix}.${extension}" == "${fastx}") {
error("Input and output names are the same, use \"task.ext.prefix\" to disambiguate!")
}
extension = fastx.toString().endsWith('.gz') ? "${extension}.gz" : extension
def call_gzip = extension.endsWith('.gz') ? "| gzip -c $args2" : ''
if("${prefix}.${extension}" == "$fastx") error "Input and output names are the same, use \"task.ext.prefix\" to disambiguate!"
"""
seqkit \\
translate \\
Expand All @@ -44,13 +46,15 @@ process SEQKIT_TRANSLATE {
"""

stub:
prefix = task.ext.prefix ?: "${meta.id}"
def extension = "fastq"
if ("$fastx" ==~ /.+\.fasta|.+\.fasta.gz|.+\.fa|.+\.fa.gz|.+\.fas|.+\.fas.gz|.+\.fna|.+\.fna.gz|.+\.fsa|.+\.fsa.gz/ ) {
extension = "fasta"
prefix = task.ext.prefix ?: "${meta.id}"
def extension = "fastq"
if ("${fastx}" ==~ /.+\.fasta|.+\.fasta.gz|.+\.fa|.+\.fa.gz|.+\.fas|.+\.fas.gz|.+\.fna|.+\.fna.gz|.+\.fsa|.+\.fsa.gz/) {
extension = "fasta"
}
extension = fastx.toString().endsWith('.gz') ? "${extension}.gz" : extension
if("${prefix}.${extension}" == "$fastx") error "Input and output names are the same, use \"task.ext.prefix\" to disambiguate!"
if ("${prefix}.${extension}" == "${fastx}") {
error("Input and output names are the same, use \"task.ext.prefix\" to disambiguate!")
}
"""
touch ${prefix}.${extension}

Expand Down
Loading