@@ -40,7 +40,7 @@ task krakenuniq {
4040 OUT_BASENAME = basenames_reports.txt
4141 for bam in ${sep =' ' reads_unmapped_bam }; do
4242 echo "$(basename $bam .bam).krakenuniq-reads.txt.gz" >> $OUT_READS
43- echo "$(basename $bam .bam).krakenuniq " >> $OUT_BASENAME
43+ echo "$(basename $bam .bam)" >> $OUT_BASENAME
4444 echo "$(basename $bam .bam).krakenuniq-summary_report.txt" >> $OUT_REPORTS
4545 done
4646
@@ -62,18 +62,23 @@ task krakenuniq {
6262 # run single-threaded krona on up to nproc samples at once
6363 parallel -I ,, \
6464 "metagenomics.py krona \
65- ,,-summary_report.txt \
65+ ,,.krakenuniq -summary_report.txt \
6666 $DB_DIR /krona \
67- ,,-krona.html \
67+ ,,.krakenuniq-krona.html \
68+ --sample_name ,, \
6869 --noRank --noHits --inputType krakenuniq \
6970 --loglevel=DEBUG" \
7071 ::: `cat $OUT_BASENAME `
72+
73+ # merge all krona reports
74+ ktImportKrona -o krakenuniq.krona.combined.html *.krakenuniq-krona.html
7175 }
7276
7377 output {
7478 Array [File ] krakenuniq_classified_reads = glob ("*.krakenuniq-reads.txt.gz" )
7579 Array [File ] krakenuniq_summary_reports = glob ("*.krakenuniq-summary_report.txt" )
7680 Array [File ] krona_report_html = glob ("*.krakenuniq-krona.html" )
81+ File krona_report_merged_html = "krakenuniq.krona.combined.html"
7782 String viralngs_version = read_string ("VERSION" )
7883 }
7984
@@ -302,10 +307,6 @@ task krona {
302307
303308 String input_basename = basename (classified_reads_txt_gz , ".txt.gz" )
304309
305- # parameter_meta {
306- # krona_taxonomy_db_tgz : "stream"
307- # }
308-
309310 command {
310311 set -ex -o pipefail
311312 DB_DIR = $(mktemp -d --suffix _db )
@@ -338,9 +339,35 @@ task krona {
338339
339340 runtime {
340341 docker : "${docker }"
341- memory : "4 GB"
342+ memory : "3 GB"
343+ cpu : 1
344+ disks : "local-disk 50 HDD"
345+ dx_instance_type : "mem1_ssd2_v2_x2"
346+ }
347+ }
348+
349+ task krona_merge {
350+ Array [File ] krona_reports
351+ String out_basename
352+
353+ String ? docker ="biocontainers/krona:v2.7.1_cv1"
354+
355+ command {
356+ set -ex -o pipefail
357+ ktImportKrona | head -2 | tail -1 | cut -f 2-3 -d ' ' | tee VERSION
358+ ktImportKrona -o "${out_basename} .html" ${sep =' ' krona_reports }
359+ }
360+
361+ output {
362+ File krona_report_html = "${out_basename }.html"
363+ String krona_version = read_string ("VERSION" )
364+ }
365+
366+ runtime {
367+ docker : "${docker }"
368+ memory : "3 GB"
342369 cpu : 1
343- disks : "local-disk 50 SSD "
370+ disks : "local-disk 50 HDD "
344371 dx_instance_type : "mem1_ssd2_v2_x2"
345372 }
346373}
0 commit comments