2022-10-25 09:26:33 +00:00
|
|
|
process KRAKENUNIQ_PRELOADEDKRAKENUNIQ {
|
|
|
|
label 'process_high'
|
|
|
|
|
|
|
|
conda (params.enable_conda ? "bioconda::krakenuniq=1.0.0" : null)
|
|
|
|
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
|
|
|
'https://depot.galaxyproject.org/singularity/krakenuniq:1.0.0--pl5321h19e8d03_0':
|
|
|
|
'quay.io/biocontainers/krakenuniq:1.0.0--pl5321h19e8d03_0' }"
|
|
|
|
|
|
|
|
input:
|
|
|
|
tuple val(meta), path(fastqs)
|
|
|
|
path db
|
|
|
|
val ram_chunk_size
|
|
|
|
val save_output_fastqs
|
|
|
|
val report_file
|
|
|
|
val save_output
|
|
|
|
|
|
|
|
output:
|
|
|
|
tuple val(meta), path('*.classified{.,_}*') , optional:true, emit: classified_reads_fastq
|
|
|
|
tuple val(meta), path('*.unclassified{.,_}*') , optional:true, emit: unclassified_reads_fastq
|
|
|
|
tuple val(meta), path('*classified.txt') , optional:true, emit: classified_assignment
|
|
|
|
tuple val(meta), path('*report.txt') , emit: report
|
|
|
|
|
|
|
|
path "versions.yml" , emit: versions
|
|
|
|
|
|
|
|
when:
|
|
|
|
task.ext.when == null || task.ext.when
|
|
|
|
|
|
|
|
script:
|
|
|
|
def args = task.ext.args ?: ''
|
|
|
|
def args2 = task.ext.args ?: ''
|
|
|
|
|
|
|
|
def paired = meta.single_end ? "" : "--paired"
|
|
|
|
def classified = meta.single_end ? '"\$PREFIX".classified.fastq' : '"\$PREFIX".classified#.fastq'
|
|
|
|
def unclassified = meta.single_end ? '"\$PREFIX".unclassified.fastq' : '"\$PREFIX".unclassified#.fastq'
|
|
|
|
def classified_option = save_output_fastqs ? "--classified-out ${classified}" : ""
|
|
|
|
def unclassified_option = save_output_fastqs ? "--unclassified-out ${unclassified}" : ""
|
|
|
|
def output_option = save_output ? '--output "\$PREFIX".krakenuniq.classified.txt' : ""
|
|
|
|
def report = report_file ? '--report-file "\$PREFIX".krakenuniq.report.txt' : ""
|
|
|
|
def compress_reads_command = save_output_fastqs ? "gzip --no-name *.fastq" : ""
|
|
|
|
|
|
|
|
"""
|
|
|
|
krakenuniq \\
|
|
|
|
$args \\
|
|
|
|
--db $db \\
|
|
|
|
--preload $ram_chunk_size \\
|
|
|
|
--threads $task.cpus
|
|
|
|
|
2022-11-22 12:33:13 +00:00
|
|
|
for fastq in "${fastqs.join('\" \"')}"; do \\
|
2022-10-25 09:26:33 +00:00
|
|
|
PREFIX=\$(echo \$fastq)
|
|
|
|
krakenuniq \\
|
|
|
|
--db $db \\
|
|
|
|
--threads $task.cpus \\
|
|
|
|
$report \\
|
|
|
|
$output_option \\
|
|
|
|
$unclassified_option \\
|
|
|
|
$classified_option \\
|
|
|
|
$output_option \\
|
|
|
|
$paired \\
|
|
|
|
$args2 \\
|
|
|
|
\$fastq
|
|
|
|
done
|
|
|
|
|
|
|
|
$compress_reads_command
|
|
|
|
|
|
|
|
cat <<-END_VERSIONS > versions.yml
|
|
|
|
"${task.process}":
|
|
|
|
krakenuniq: \$(echo \$(krakenuniq --version 2>&1) | sed 's/^.*KrakenUniq version //; s/ .*\$//')
|
|
|
|
END_VERSIONS
|
|
|
|
"""
|
|
|
|
|
|
|
|
stub:
|
|
|
|
def args = task.ext.args ?: ''
|
|
|
|
def args2 = task.ext.args ?: ''
|
|
|
|
|
|
|
|
def paired = meta.single_end ? "" : "--paired"
|
|
|
|
def classified = meta.single_end ? '"\$PREFIX".classified.fastq' : '"\$PREFIX".classified#.fastq'
|
|
|
|
def unclassified = meta.single_end ? '"\$PREFIX".unclassified.fastq' : '"\$PREFIX".unclassified#.fastq'
|
|
|
|
def classified_option = save_output_fastqs ? "--classified-out ${classified}" : ""
|
|
|
|
def unclassified_option = save_output_fastqs ? "--unclassified-out ${unclassified}" : ""
|
|
|
|
def output_option = save_output ? '--output "\$PREFIX".krakenuniq.classified.txt' : ""
|
|
|
|
def report = report_file ? '--report-file "\$PREFIX".krakenuniq.report.txt' : ""
|
|
|
|
def compress_reads_command = save_output_fastqs ? "echo 'gzip --no-name *.fastq'" : ""
|
|
|
|
"""
|
|
|
|
echo "krakenuniq \\
|
|
|
|
$args \\
|
|
|
|
--db $db \\
|
|
|
|
--preload $ram_chunk_size \\
|
|
|
|
--threads $task.cpus"
|
|
|
|
|
2022-11-22 12:27:49 +00:00
|
|
|
for fastq in "${fastqs.join('\" \"')}"; do \\
|
2022-10-25 09:26:33 +00:00
|
|
|
PREFIX=\$(echo \$fastq)
|
|
|
|
echo "krakenuniq \\
|
|
|
|
--db $db \\
|
|
|
|
--threads $task.cpus \\
|
|
|
|
$report \\
|
|
|
|
$output_option \\
|
|
|
|
$unclassified_option \\
|
|
|
|
$classified_option \\
|
|
|
|
$output_option \\
|
|
|
|
$paired \\
|
|
|
|
$args2 \\
|
|
|
|
\$fastq"
|
|
|
|
|
|
|
|
touch "\$PREFIX".classified.fastq.gz
|
|
|
|
touch "\$PREFIX".krakenuniq.classified.txt
|
|
|
|
touch "\$PREFIX".krakenuniq.report.txt
|
|
|
|
touch "\$PREFIX".unclassified.fastq.gz
|
|
|
|
done
|
|
|
|
|
|
|
|
$compress_reads_command
|
|
|
|
|
|
|
|
cat <<-END_VERSIONS > versions.yml
|
|
|
|
"${task.process}":
|
|
|
|
krakenuniq: \$(echo \$(krakenuniq --version 2>&1) | sed 's/^.*KrakenUniq version //; s/ .*\$//')
|
|
|
|
END_VERSIONS
|
|
|
|
"""
|
|
|
|
}
|