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