Skip to content

Commit d915206

Browse files
authored
Merge pull request #413 from nf-core/update-multiqc-freyja
Update multiqc & add freyja to MQC
2 parents de5146a + 33e7256 commit d915206

11 files changed

+37
-11
lines changed

CHANGELOG.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ Thank you to everyone else that has contributed by reporting bugs, enhancements
2020
- [[PR #387](https://github.com/nf-core/viralrecon/pull/387)] - Software closes gracefully when encountering an error
2121
- [[PR #395](https://github.com/nf-core/viralrecon/pull/395)] - Remove minia from default assemblers because it is unreliable
2222
- [[PR #393](https://github.com/nf-core/viralrecon/pull/393)] - Changed primer set to params
23-
- [[PR [#405](https://github.com/nf-core/viralrecon/issues/405)]] - Including parameter `depthcutoff` to freyja demix and boot
23+
- [[PR #405](https://github.com/nf-core/viralrecon/pull/412)] - Including parameter `depthcutoff` to freyja demix and boot
24+
- [[PR #413](https://github.com/nf-core/viralrecon/pull/413)] - Update multiqc module & include freyja in report
2425

2526
### Parameters
2627

@@ -44,6 +45,7 @@ Note, since the pipeline is now using Nextflow DSL2, each process will be run wi
4445
| Dependency | Old version | New version |
4546
| ---------- | ----------- | ----------- |
4647
| `freyja` | | 1.3.12 |
48+
| `multiqc` | 1.14 | 1.19 |
4749

4850
> **NB:** Dependency has been **updated** if both old and new version information is present.
4951
>

assets/multiqc_config_illumina.yml

+6
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ run_modules:
2020
- quast
2121
- pangolin
2222
- cutadapt
23+
- freyja
2324

2425
module_order:
2526
- fastqc:
@@ -62,6 +63,11 @@ module_order:
6263
info: "This section of the report shows Pangolin lineage analysis results for the called variants."
6364
path_filters:
6465
- "./variants/*.pangolin.csv"
66+
- freyja:
67+
name: "VARIANTS: Freyja"
68+
info: "This section of the report shows relative lineage abundances from mixed SARS-CoV-2 samples from Freyja demix."
69+
path_filters:
70+
- "./freyja_demix/*.tsv"
6571
- bcftools:
6672
name: "VARIANTS: BCFTools"
6773
info: "This section of the report shows BCFTools stats results for the called variants."

assets/multiqc_config_nanopore.yml

+4
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ run_modules:
1616
- snpeff
1717
- quast
1818
- pangolin
19+
- freyja
1920

2021
module_order:
2122
- pangolin:
@@ -26,6 +27,9 @@ module_order:
2627
path_filters:
2728
- "./samtools_stats/*"
2829
- mosdepth
30+
- freyja:
31+
path_filters:
32+
- "./freyja_demix/*.tsv"
2933
- bcftools:
3034
path_filters:
3135
- "./bcftools_stats/*.txt"

conf/modules_illumina.config

+1
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,7 @@ if (!params.skip_variants) {
226226
publishDir = [
227227
path: { "${params.outdir}/variants/freyja/" },
228228
mode: params.publish_dir_mode,
229+
saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
229230
]
230231
}
231232
}

conf/modules_nanopore.config

+1
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,7 @@ if (!params.skip_freyja) {
266266
publishDir = [
267267
path: { "${params.outdir}/${params.artic_minion_caller}/freyja/" },
268268
mode: params.publish_dir_mode,
269+
saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
269270
]
270271
}
271272
}

docs/images/freyja_screenshot.png

54.6 KB
Loading

docs/output.md

+4
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,8 @@ Phylogenetic Assignment of Named Global Outbreak LINeages ([Pangolin](https://gi
266266

267267
[Freyja](https://github.com/andersen-lab/Freyja) is a tool to recover relative lineage abundances from mixed SARS-CoV-2 samples from a sequencing dataset (BAM aligned to the Hu-1 reference). The method uses lineage-determining mutational "barcodes" derived from the [UShER](https://usher-wiki.readthedocs.io/en/latest/#) global phylogenetic tree as a basis set to solve the constrained (unit sum, non-negative) de-mixing problem.
268268

269+
<p align="center"><img src="images/freyja_screenshot.png" alt="Freyja screenshot"></p>
270+
269271
### Nanopore: ASCIIGenome
270272

271273
<details markdown="1">
@@ -641,6 +643,8 @@ iVar outputs a tsv format which is not compatible with downstream analysis such
641643

642644
[Freyja](https://github.com/andersen-lab/Freyja) is a tool to recover relative lineage abundances from mixed SARS-CoV-2 samples from a sequencing dataset (BAM aligned to the Hu-1 reference). The method uses lineage-determining mutational "barcodes" derived from the [UShER](https://usher-wiki.readthedocs.io/en/latest/#) global phylogenetic tree as a basis set to solve the constrained (unit sum, non-negative) de-mixing problem.
643645

646+
<p align="center"><img src="images/freyja_screenshot.png" alt="Freyja screenshot"></p>
647+
644648
### ASCIIGenome
645649

646650
<details markdown="1">

modules/local/multiqc_illumina.nf

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
process MULTIQC {
22
label 'process_medium'
33

4-
conda "bioconda::multiqc=1.14"
4+
conda "bioconda::multiqc=1.19"
55
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
6-
'https://depot.galaxyproject.org/singularity/multiqc:1.14--pyhdfd78af_0' :
7-
'quay.io/biocontainers/multiqc:1.14--pyhdfd78af_0' }"
6+
'https://depot.galaxyproject.org/singularity/multiqc:1.19--pyhdfd78af_0' :
7+
'quay.io/biocontainers/multiqc:1.19--pyhdfd78af_0' }"
88

99
input:
1010
path 'multiqc_config.yaml'
@@ -32,6 +32,7 @@ process MULTIQC {
3232
path ('assembly_spades/*')
3333
path ('assembly_unicycler/*')
3434
path ('assembly_minia/*')
35+
path ('freyja_demix/*')
3536

3637
output:
3738
path "*multiqc_report.html" , emit: report

modules/local/multiqc_nanopore.nf

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
process MULTIQC {
22
label 'process_medium'
33

4-
conda "bioconda::multiqc=1.14"
4+
conda "bioconda::multiqc=1.19"
55
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
6-
'https://depot.galaxyproject.org/singularity/multiqc:1.14--pyhdfd78af_0' :
7-
'quay.io/biocontainers/multiqc:1.14--pyhdfd78af_0' }"
6+
'https://depot.galaxyproject.org/singularity/multiqc:1.19--pyhdfd78af_0' :
7+
'quay.io/biocontainers/multiqc:1.19--pyhdfd78af_0' }"
88

99
input:
1010
path 'multiqc_config.yaml'
@@ -25,6 +25,7 @@ process MULTIQC {
2525
path ('snpeff/*')
2626
path pangolin_lineage
2727
path nextclade_clade
28+
path ('freyja_demix/*')
2829

2930
output:
3031
path "*multiqc_report.html", emit: report

workflows/illumina.nf

+5-2
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,7 @@ workflow ILLUMINA {
477477
//
478478
// SUBWORKFLOW: Determine variants with Freyja
479479
//
480+
ch_freyja_multiqc = Channel.empty()
480481
if (!params.skip_variants && !params.skip_freyja) {
481482
BAM_VARIANT_DEMIX_BOOT_FREYJA(
482483
ch_bam,
@@ -486,7 +487,8 @@ workflow ILLUMINA {
486487
params.freyja_barcodes,
487488
params.freyja_lineages,
488489
)
489-
ch_versions= ch_versions.mix(BAM_VARIANT_DEMIX_BOOT_FREYJA.out.versions)
490+
ch_versions = ch_versions.mix(BAM_VARIANT_DEMIX_BOOT_FREYJA.out.versions)
491+
ch_freyja_multiqc = BAM_VARIANT_DEMIX_BOOT_FREYJA.out.demix
490492
}
491493

492494
//
@@ -670,7 +672,8 @@ workflow ILLUMINA {
670672
ch_cutadapt_multiqc.collect{it[1]}.ifEmpty([]),
671673
ch_spades_quast_multiqc.collect{it[1]}.ifEmpty([]),
672674
ch_unicycler_quast_multiqc.collect{it[1]}.ifEmpty([]),
673-
ch_minia_quast_multiqc.collect{it[1]}.ifEmpty([])
675+
ch_minia_quast_multiqc.collect{it[1]}.ifEmpty([]),
676+
ch_freyja_multiqc.collect{it[1]}.ifEmpty([]),
674677
)
675678
multiqc_report = MULTIQC.out.report.toList()
676679
}

workflows/nanopore.nf

+5-2
Original file line numberDiff line numberDiff line change
@@ -444,6 +444,7 @@ workflow NANOPORE {
444444
//
445445
// SUBWORKFLOW: Determine variants with Freyja
446446
//
447+
ch_freyja_multiqc = Channel.empty()
447448
if (!params.skip_freyja) {
448449
BAM_VARIANT_DEMIX_BOOT_FREYJA(
449450
ARTIC_MINION.out.bam_primertrimmed,
@@ -453,7 +454,8 @@ workflow NANOPORE {
453454
params.freyja_barcodes,
454455
params.freyja_lineages,
455456
)
456-
ch_versions= ch_versions.mix(BAM_VARIANT_DEMIX_BOOT_FREYJA.out.versions)
457+
ch_versions = ch_versions.mix(BAM_VARIANT_DEMIX_BOOT_FREYJA.out.versions)
458+
ch_freyja_multiqc = BAM_VARIANT_DEMIX_BOOT_FREYJA.out.demix
457459
}
458460

459461
//
@@ -564,7 +566,8 @@ workflow NANOPORE {
564566
ch_quast_multiqc.collect{it[1]}.ifEmpty([]),
565567
ch_snpeff_multiqc.collect{it[1]}.ifEmpty([]),
566568
ch_pangolin_multiqc.collect{it[1]}.ifEmpty([]),
567-
ch_nextclade_multiqc.collectFile(name: 'nextclade_clade_mqc.tsv').ifEmpty([])
569+
ch_nextclade_multiqc.collectFile(name: 'nextclade_clade_mqc.tsv').ifEmpty([]),
570+
ch_freyja_multiqc.collect{it[1]}.ifEmpty([]),
568571
)
569572
multiqc_report = MULTIQC.out.report.toList()
570573
}

0 commit comments

Comments
 (0)