annotate 0.2.0/modules/gunc/run/main.nf @ 17:b571995ddb51

planemo upload
author kkonganti
date Mon, 15 Jul 2024 19:01:29 -0400
parents a5f31c44f8c9
children
rev   line source
kkonganti@11 1 process GUNC_RUN {
kkonganti@11 2 tag "$meta.id"
kkonganti@11 3 label 'process_medium'
kkonganti@11 4
kkonganti@11 5 module (params.enable_module ? "${params.swmodulepath}${params.fs}gunc${params.fs}1.0.5" : null)
kkonganti@11 6 conda (params.enable_conda ? "conda-forge::pandas=1.5.1 bioconda::gunc=1.0.5" : null)
kkonganti@11 7 container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
kkonganti@11 8 'https://depot.galaxyproject.org/singularity/gunc:1.0.5--pyhdfd78af_0' :
kkonganti@11 9 'quay.io/biocontainers/gunc:1.0.5--pyhdfd78af_0' }"
kkonganti@11 10
kkonganti@11 11 input:
kkonganti@11 12 tuple val(meta), path(database_path), path(fasta_ford, stageAs: 'fasta_ford.txt')
kkonganti@11 13
kkonganti@11 14 output:
kkonganti@11 15 tuple val(meta), path("**${params.fs}*maxCSS_level.tsv") , emit: maxcss_level_tsv
kkonganti@11 16 tuple val(meta), path("**${params.fs}*all_levels.tsv") , emit: all_levels_tsv, optional: true
kkonganti@11 17 tuple val(meta), path("**${params.fs}*.maxCSS_level.passed.tsv"), emit: quality_report_passed
kkonganti@11 18 path "versions.yml" , emit: versions
kkonganti@11 19
kkonganti@11 20 when:
kkonganti@11 21 task.ext.when == null || task.ext.when
kkonganti@11 22
kkonganti@11 23 script:
kkonganti@11 24 def args = task.ext.args ?: ''
kkonganti@11 25 def prefix = task.ext.prefix ?: "${meta.id}"
kkonganti@11 26 def outdir = prefix + (task.index ?: '')
kkonganti@11 27 def input = "${fasta_ford}"
kkonganti@11 28 def fgq_py_args = []
kkonganti@11 29 fgq_py_args.addAll([
kkonganti@11 30 ("${params.fgq_py_gunc_extract}" ? "-extract ${params.fgq_py_gunc_extract}" : "-extract genome"),
kkonganti@11 31 ("${params.fgq_py_gunc_fcn}" ? "-fcn ${params.fgq_py_gunc_fcn}" : "-fcn 'clade_separation_score,contamination_portion'"),
kkonganti@11 32 ("${params.fgq_py_gunc_fcv}" ? "-fcv ${params.fgq_py_gunc_fcv}" : "-fcv '0.05,0.05'"),
kkonganti@11 33 ("${params.fgq_py_gunc_conds}" ? "-conds ${params.fgq_py_gunc_conds}" : "-conds '<=,<='")
kkonganti@11 34 ])
kkonganti@11 35 if (params.guncrun_in_is_dir) {
kkonganti@11 36 input = "--input_dir ${fasta_ford}"
kkonganti@11 37 } else if (params.guncrun_in_is_fofn) {
kkonganti@11 38 input = "--input_file ${fasta_ford}"
kkonganti@11 39 } else if (params.guncrun_in_is_fasta) {
kkonganti@11 40 input = "--input_fasta ${fasta_ford}"
kkonganti@11 41 } else {
kkonganti@11 42 input = "--input_dir unscaffolded"
kkonganti@11 43 }
kkonganti@11 44 """
kkonganti@11 45 mkdir -p $outdir || exit 1
kkonganti@11 46
kkonganti@11 47 datasets download genome accession \\
kkonganti@11 48 --dehydrated \\
kkonganti@11 49 --inputfile $fasta_ford
kkonganti@11 50
kkonganti@11 51 unzip ncbi_dataset.zip
kkonganti@11 52
kkonganti@11 53 datasets rehydrate \\
kkonganti@11 54 --gzip \\
kkonganti@11 55 --max-workers $task.cpus \\
kkonganti@11 56 --directory "."
kkonganti@11 57
kkonganti@11 58 stage_ncbi_dataset_genomes.py -in ncbi_dataset
kkonganti@11 59
kkonganti@11 60 gunc \\
kkonganti@11 61 run \\
kkonganti@11 62 --db_file $database_path \\
kkonganti@11 63 --threads $task.cpus \\
kkonganti@11 64 --out_dir $outdir \\
kkonganti@11 65 $input \\
kkonganti@11 66 $args
kkonganti@11 67
kkonganti@11 68 filter_genomes_by_qual.py \\
kkonganti@11 69 -tsv $outdir${params.fs}GUNC.progenomes_2.1.maxCSS_level.tsv \\
kkonganti@11 70 -outprefix "${outdir}_" \\
kkonganti@11 71 ${fgq_py_args.join(' ')}
kkonganti@11 72
kkonganti@11 73 cat <<-END_VERSIONS > versions.yml
kkonganti@11 74 "${task.process}":
kkonganti@11 75 datasets: \$( datasets --version | sed 's/datasets version: //g' )
kkonganti@11 76 python: \$( python --version | sed 's/Python //g' )
kkonganti@11 77 gunc: \$( gunc --version )
kkonganti@11 78 END_VERSIONS
kkonganti@11 79 """
kkonganti@11 80 }