kkonganti@92: process SPADES_ASSEMBLE { kkonganti@92: tag "$meta.id" kkonganti@92: label 'process_high' kkonganti@92: kkonganti@92: module (params.enable_module ? "${params.swmodulepath}${params.fs}spades${params.fs}3.15.3" : null) kkonganti@92: conda (params.enable_conda ? 'bioconda::spades=3.15.3' : null) kkonganti@92: container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? kkonganti@92: 'https://depot.galaxyproject.org/singularity/spades:3.15.3--h95f258a_0' : kkonganti@92: 'quay.io/biocontainers/spades:3.15.3--h95f258a_0' }" kkonganti@92: kkonganti@92: input: kkonganti@92: tuple val(meta), path(illumina), path(pacbio), path(nanopore) kkonganti@92: kkonganti@92: output: kkonganti@92: path "${meta.id}${params.fs}*" kkonganti@92: tuple val(meta), path("${meta.id}${params.fs}scaffolds.fasta"), emit: assembly, optional: true kkonganti@92: tuple val(meta), path("${meta.id}${params.fs}spades.log") , emit: log kkonganti@92: path "versions.yml" , emit: versions kkonganti@92: kkonganti@92: when: kkonganti@92: task.ext.when == null || task.ext.when kkonganti@92: kkonganti@92: script: kkonganti@92: def args = task.ext.args ?: '' kkonganti@92: def prefix = task.ext.prefix ?: "${meta.id}" kkonganti@92: def maxmem = task.memory ? "--memory ${task.memory.toGiga()}" : "" kkonganti@92: def illumina_reads = illumina ? ( meta.single_end ? "-s $illumina" : "-1 ${illumina[0]} -2 ${illumina[1]}" ) : "" kkonganti@92: def pacbio_reads = !(pacbio.simpleName ==~ 'dummy_file.*') ? "--pacbio $pacbio" : "" kkonganti@92: def nanopore_reads = !(nanopore.simpleName ==~ 'dummy_file.*') ? "--nanopore $nanopore" : "" kkonganti@92: def custom_hmms = params.spades_hmm ? "--custom-hmms ${params.spades_hmm}" : "" kkonganti@92: """ kkonganti@92: spades.py \\ kkonganti@92: $args \\ kkonganti@92: --threads $task.cpus \\ kkonganti@92: $maxmem \\ kkonganti@92: $custom_hmms \\ kkonganti@92: $illumina_reads \\ kkonganti@92: $pacbio_reads \\ kkonganti@92: $nanopore_reads \\ kkonganti@92: -o ${prefix} kkonganti@92: kkonganti@92: cat <<-END_VERSIONS > versions.yml kkonganti@92: "${task.process}": kkonganti@92: spades: \$(spades.py --version 2>&1 | sed 's/^.*SPAdes genome assembler v//; s/ .*\$//') kkonganti@92: END_VERSIONS kkonganti@92: """ kkonganti@92: }