kkonganti@11: process SOURMASH_SIG_KMERS { kkonganti@11: tag "$meta.id" kkonganti@11: label 'process_micro' kkonganti@11: kkonganti@11: module (params.enable_module ? "${params.swmodulepath}${params.fs}sourmash${params.fs}4.6.1" : null) kkonganti@11: conda (params.enable_conda ? "conda-forge::python bioconda::sourmash=4.6.1" : null) kkonganti@11: container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? kkonganti@11: 'https://depot.galaxyproject.org/singularity/sourmash:4.6.1--hdfd78af_0' : kkonganti@11: 'quay.io/biocontainers/sourmash:4.6.1--hdfd78af_0' }" kkonganti@11: kkonganti@11: input: kkonganti@11: tuple val(meta), path(sig_or_seq), path(sequence) kkonganti@11: kkonganti@11: output: kkonganti@11: tuple val(meta), path("*.csv") , emit: signatures, optional: true kkonganti@11: tuple val(meta), path("*.fasta"), emit: extracted_fasta, optional: true kkonganti@11: path "versions.yml" , emit: versions kkonganti@11: kkonganti@11: when: kkonganti@11: task.ext.when == null || task.ext.when kkonganti@11: kkonganti@11: script: kkonganti@11: // required defaults for the tool to run, but can be overridden kkonganti@11: def args = task.ext.args ?: '' kkonganti@11: def is_seq = "${sig_or_seq.baseName.findAll(/(?i)\.(fa|fasta|fna)\.{0,1}(gz){0,1}$/).size()}" kkonganti@11: def save_kmers = (params.sourmashsigkmers_save_kmers ? "--save-kmers ${meta.id}.sm.kmers.csv" : '') kkonganti@11: def save_seqs = (params.sourmashsigkmers_save_seqs ? "--save-sequences ${meta.id}.sm.seq.fasta" : '') kkonganti@11: def sketch_mode = (params.sourmashsketch_mode ?: 'dna') kkonganti@11: def sketch_p = (params.sourmashsketch_p ?: "abund,scaled=1000,k=71") kkonganti@11: def prefix = task.ext.prefix ?: "${meta.id}" kkonganti@11: """ kkonganti@11: db_sig="${sig_or_seq}" kkonganti@11: if [[ $is_seq -ge 1 ]]; then kkonganti@11: db_sig="${prefix}.db.sig" kkonganti@11: sourmash sketch \\ kkonganti@11: $sketch_mode \\ kkonganti@11: -p '$sketch_p' \\ kkonganti@11: --output \$db_sig \\ kkonganti@11: $sig_or_seq kkonganti@11: fi kkonganti@11: kkonganti@11: sourmash signature kmers \\ kkonganti@11: $args \\ kkonganti@11: $save_kmers \\ kkonganti@11: $save_seqs \\ kkonganti@11: --signatures \$db_sig \\ kkonganti@11: --sequences $sequence kkonganti@11: kkonganti@11: cat <<-END_VERSIONS > versions.yml kkonganti@11: "${task.process}": kkonganti@11: sourmash: \$(echo \$(sourmash --version 2>&1) | sed 's/^sourmash //' ) kkonganti@11: bash: \$( bash --version 2>&1 | sed '1!d; s/^.*version //; s/ (.*\$//' ) kkonganti@11: END_VERSIONS kkonganti@11: """ kkonganti@11: }