kkonganti@0: process KMA_ALIGN { kkonganti@0: tag "$meta.id" kkonganti@0: label 'process_micro' kkonganti@0: kkonganti@0: module (params.enable_module ? "${params.swmodulepath}${params.fs}kma${params.fs}1.4.4" : null) kkonganti@0: conda (params.enable_conda ? "conda-forge::libgcc-ng bioconda::kma=1.4.3" : null) kkonganti@0: container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? kkonganti@0: 'https://depot.galaxyproject.org/singularity/kma:1.4.3--h7132678_1': kkonganti@0: 'quay.io/biocontainers/kma:1.4.3--h7132678_1' }" kkonganti@0: kkonganti@0: input: kkonganti@0: tuple val(meta), path(reads), path(index) kkonganti@0: kkonganti@0: output: kkonganti@0: path "${meta.id}_kma_res" kkonganti@0: tuple val(meta), path("${meta.id}_kma_res${params.fs}*.res") , emit: res kkonganti@0: tuple val(meta), path("${meta.id}_kma_res${params.fs}*.mapstat") , emit: mapstat, optional: true kkonganti@0: tuple val(meta), path("${meta.id}_kma_res${params.fs}*.frag.gz") , emit: frags, optional: true kkonganti@0: tuple val(meta), path("${meta.id}_kma_res${params.fs}*_template_hits.txt"), emit: hits, optional: true kkonganti@0: path "versions.yml" , emit: versions kkonganti@0: kkonganti@0: when: kkonganti@0: task.ext.when == null || task.ext.when kkonganti@0: kkonganti@0: script: kkonganti@0: def args = task.ext.args ?: '' kkonganti@0: def prefix = task.ext.prefix ?: "${meta.id}" kkonganti@0: def reads_in = (meta.single_end ? "-i $reads" : "-ipe ${reads[0]} ${reads[1]}") kkonganti@0: def db = (meta.kma_t_db ?: "${index}") kkonganti@0: def db_basename = (db ? "${index.baseName}" : '') kkonganti@0: def get_hit_accs = (meta.get_kma_hit_accs ? 'true' : 'false') kkonganti@0: def res_dir = prefix + '_kma_res' kkonganti@0: reads_in = (params.kmaalign_int ? "-int $reads" : "-i $reads") kkonganti@0: """ kkonganti@0: mkdir -p $res_dir || exit 1 kkonganti@0: kma \\ kkonganti@0: $args \\ kkonganti@0: -t_db $db${params.fs}$db_basename \\ kkonganti@0: -t $task.cpus \\ kkonganti@0: -o $res_dir${params.fs}$prefix \\ kkonganti@0: $reads_in kkonganti@0: kkonganti@0: if [ "$get_hit_accs" == "true" ]; then kkonganti@0: grep -v '^#' $res_dir${params.fs}${prefix}.res | \\ kkonganti@0: grep -E -o 'GC[AF]\\_[0-9]+\\.*[0-9]*' > $res_dir${params.fs}${prefix}_template_hits.txt kkonganti@0: fi kkonganti@0: kkonganti@0: cat <<-END_VERSIONS > versions.yml kkonganti@0: "${task.process}": kkonganti@0: kma: \$( kma -v | sed -e 's%KMA-%%' ) kkonganti@0: END_VERSIONS kkonganti@0: kkonganti@0: mkdirver="" kkonganti@0: cutver="" kkonganti@0: grepver="" kkonganti@0: kkonganti@0: if [ "${workflow.containerEngine}" != "null" ]; then kkonganti@0: mkdirver=\$( mkdir --help 2>&1 | sed -e '1!d; s/ (.*\$//' | cut -f1-2 -d' ' ) kkonganti@0: cutver="\$mkdirver" kkonganti@0: grepver="\$mkdirver" kkonganti@0: else kkonganti@0: mkdirver=\$( mkdir --version 2>&1 | sed '1!d; s/^.*(GNU coreutils//; s/) //;' ) kkonganti@0: cutver=\$( cut --version 2>&1 | sed '1!d; s/^.*(GNU coreutils//; s/) //;' ) kkonganti@0: grepver=\$( echo \$(grep --version 2>&1) | sed 's/^.*(GNU grep) //; s/ Copyright.*\$//' ) kkonganti@0: fi kkonganti@0: kkonganti@0: cat <<-END_VERSIONS >> versions.yml kkonganti@0: mkdir: \$mkdirver kkonganti@0: cut: \$cutver kkonganti@0: grep: \$grepver kkonganti@0: END_VERSIONS kkonganti@0: """ kkonganti@0: }