annotate 0.7.0/modules/cat_cat/main.nf @ 17:0e7a0053e4a6

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