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