kkonganti@0: process GUNC_RUN { kkonganti@0: tag "$meta.id" kkonganti@0: label 'process_medium' kkonganti@0: kkonganti@0: module (params.enable_module ? "${params.swmodulepath}${params.fs}gunc${params.fs}1.0.5" : null) kkonganti@0: conda (params.enable_conda ? "conda-forge::pandas=1.5.1 bioconda::gunc=1.0.5" : null) kkonganti@0: container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? kkonganti@0: 'https://depot.galaxyproject.org/singularity/gunc:1.0.5--pyhdfd78af_0' : kkonganti@0: 'quay.io/biocontainers/gunc:1.0.5--pyhdfd78af_0' }" kkonganti@0: kkonganti@0: input: kkonganti@0: tuple val(meta), path(database_path), path(fasta_ford, stageAs: 'fasta_ford.txt') kkonganti@0: kkonganti@0: output: kkonganti@0: tuple val(meta), path("**${params.fs}*maxCSS_level.tsv") , emit: maxcss_level_tsv kkonganti@0: tuple val(meta), path("**${params.fs}*all_levels.tsv") , emit: all_levels_tsv, optional: true kkonganti@0: tuple val(meta), path("**${params.fs}*.maxCSS_level.passed.tsv"), emit: quality_report_passed 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 outdir = prefix + (task.index ?: '') kkonganti@0: def input = "${fasta_ford}" kkonganti@0: def fgq_py_args = [] kkonganti@0: fgq_py_args.addAll([ kkonganti@0: ("${params.fgq_py_gunc_extract}" ? "-extract ${params.fgq_py_gunc_extract}" : "-extract genome"), kkonganti@0: ("${params.fgq_py_gunc_fcn}" ? "-fcn ${params.fgq_py_gunc_fcn}" : "-fcn 'clade_separation_score,contamination_portion'"), kkonganti@0: ("${params.fgq_py_gunc_fcv}" ? "-fcv ${params.fgq_py_gunc_fcv}" : "-fcv '0.05,0.05'"), kkonganti@0: ("${params.fgq_py_gunc_conds}" ? "-conds ${params.fgq_py_gunc_conds}" : "-conds '<=,<='") kkonganti@0: ]) kkonganti@0: if (params.guncrun_in_is_dir) { kkonganti@0: input = "--input_dir ${fasta_ford}" kkonganti@0: } else if (params.guncrun_in_is_fofn) { kkonganti@0: input = "--input_file ${fasta_ford}" kkonganti@0: } else if (params.guncrun_in_is_fasta) { kkonganti@0: input = "--input_fasta ${fasta_ford}" kkonganti@0: } else { kkonganti@0: input = "--input_dir unscaffolded" kkonganti@0: } kkonganti@0: """ kkonganti@0: mkdir -p $outdir || exit 1 kkonganti@0: kkonganti@0: datasets download genome accession \\ kkonganti@0: --dehydrated \\ kkonganti@0: --inputfile $fasta_ford kkonganti@0: kkonganti@0: unzip ncbi_dataset.zip kkonganti@0: kkonganti@0: datasets rehydrate \\ kkonganti@0: --gzip \\ kkonganti@0: --max-workers $task.cpus \\ kkonganti@0: --directory "." kkonganti@0: kkonganti@0: stage_ncbi_dataset_genomes.py -in ncbi_dataset kkonganti@0: kkonganti@0: gunc \\ kkonganti@0: run \\ kkonganti@0: --db_file $database_path \\ kkonganti@0: --threads $task.cpus \\ kkonganti@0: --out_dir $outdir \\ kkonganti@0: $input \\ kkonganti@0: $args kkonganti@0: kkonganti@0: filter_genomes_by_qual.py \\ kkonganti@0: -tsv $outdir${params.fs}GUNC.progenomes_2.1.maxCSS_level.tsv \\ kkonganti@0: -outprefix "${outdir}_" \\ kkonganti@0: ${fgq_py_args.join(' ')} kkonganti@0: kkonganti@0: cat <<-END_VERSIONS > versions.yml kkonganti@0: "${task.process}": kkonganti@0: datasets: \$( datasets --version | sed 's/datasets version: //g' ) kkonganti@0: python: \$( python --version | sed 's/Python //g' ) kkonganti@0: gunc: \$( gunc --version ) kkonganti@0: END_VERSIONS kkonganti@0: """ kkonganti@0: }