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