annotate 0.6.1/modules/cat_cat/main.nf @ 12:c5faadb3386f

"planemo upload"
author kkonganti
date Tue, 05 Sep 2023 11:57:15 -0400
parents 749faef1caa9
children
rev   line source
kkonganti@11 1 process CAT_CAT {
kkonganti@11 2 tag "$meta.id"
kkonganti@11 3 label 'process_micro'
kkonganti@11 4
kkonganti@11 5 module (params.enable_module ? "${params.swmodulepath}${params.fs}pigz${params.fs}2.7" : null)
kkonganti@11 6 conda (params.enable_conda ? "conda-forge::pigz=2.6" : null)
kkonganti@11 7 container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
kkonganti@11 8 'https://depot.galaxyproject.org/singularity/pigz:2.3.4' :
kkonganti@11 9 'quay.io/biocontainers/pigz:2.3.4' }"
kkonganti@11 10
kkonganti@11 11 input:
kkonganti@11 12 tuple val(meta), path(files_in)
kkonganti@11 13
kkonganti@11 14 output:
kkonganti@11 15 tuple val(meta), path("*${prefix}"), emit: concatenated_reads
kkonganti@11 16 path "versions.yml" , emit: versions
kkonganti@11 17
kkonganti@11 18 when:
kkonganti@11 19 task.ext.when == null || task.ext.when
kkonganti@11 20
kkonganti@11 21 script:
kkonganti@11 22 def args = task.ext.args ?: ''
kkonganti@11 23 def args2 = task.ext.args2 ?: ''
kkonganti@11 24 def file_list = files_in.collect { it.toString() }
kkonganti@11 25
kkonganti@11 26 // | input | output | command1 | command2 |
kkonganti@11 27 // |-----------|------------|----------|----------|
kkonganti@11 28 // | gzipped | gzipped | cat | |
kkonganti@11 29 // | ungzipped | ungzipped | cat | |
kkonganti@11 30 // | gzipped | ungzipped | zcat | |
kkonganti@11 31 // | ungzipped | gzipped | cat | pigz |
kkonganti@11 32
kkonganti@11 33 // Use input file ending as default
kkonganti@11 34 prefix = task.ext.prefix ? "${meta.id}.${task.ext.prefix}" : "${meta.id}${file_list[0].substring(file_list[0].lastIndexOf('.'))}"
kkonganti@11 35 out_zip = prefix.endsWith('.gz')
kkonganti@11 36 in_zip = file_list[0].endsWith('.gz')
kkonganti@11 37 command1 = (in_zip && !out_zip) ? 'zcat' : 'cat'
kkonganti@11 38 command2 = (!in_zip && out_zip) ? "| pigz -c -p $task.cpus $args2" : ''
kkonganti@11 39 """
kkonganti@11 40 $command1 \\
kkonganti@11 41 $args \\
kkonganti@11 42 ${file_list.join(' ')} \\
kkonganti@11 43 $command2 \\
kkonganti@11 44 > ${prefix}
kkonganti@11 45
kkonganti@11 46 cat <<-END_VERSIONS > versions.yml
kkonganti@11 47 "${task.process}":
kkonganti@11 48 pigz: \$( pigz --version 2>&1 | sed 's/pigz //g' )
kkonganti@11 49 END_VERSIONS
kkonganti@11 50 """
kkonganti@11 51
kkonganti@11 52 stub:
kkonganti@11 53 def file_list = files_in.collect { it.toString() }
kkonganti@11 54 prefix = task.ext.prefix ?: "${meta.id}${file_list[0].substring(file_list[0].lastIndexOf('.'))}"
kkonganti@11 55 """
kkonganti@11 56 touch $prefix
kkonganti@11 57
kkonganti@11 58 cat <<-END_VERSIONS > versions.yml
kkonganti@11 59 "${task.process}":
kkonganti@11 60 pigz: \$( pigz --version 2>&1 | sed 's/pigz //g' )
kkonganti@11 61 END_VERSIONS
kkonganti@11 62
kkonganti@11 63 catver=""
kkonganti@11 64 zver=""
kkonganti@11 65
kkonganti@11 66 if [ "${workflow.containerEngine}" != "null" ]; then
kkonganti@11 67 catver=\$( cat --help 2>&1 | sed -e '1!d; s/ (.*\$//' | cut -f1-2 -d' ' )
kkonganti@11 68 zver=\$( zcat --help 2>&1 | sed -e '1!d; s/ (.*\$//' )
kkonganti@11 69
kkonganti@11 70 else
kkonganti@11 71 catver=\$( cat --version 2>&1 | sed '1!d; s/^.*(GNU coreutils//; s/) //;' )
kkonganti@11 72 zver=\$( zcat --version 2>&1 | sed '1!d; s/^.*(gzip) //' )
kkonganti@11 73 fi
kkonganti@11 74
kkonganti@11 75 cat <<-END_VERSIONS >> versions.yml
kkonganti@11 76 cat: \$catver
kkonganti@11 77 zcat: \$zver
kkonganti@11 78 END_VERSIONS
kkonganti@11 79 """
kkonganti@11 80 }