1
0
Fork 0
mirror of https://github.com/MillironX/taxprofiler.git synced 2024-11-22 09:49:57 +00:00

Fix MultiQC

This commit is contained in:
James Fellows Yates 2022-09-08 12:49:38 +02:00
parent d11257b330
commit fc26948950
5 changed files with 15 additions and 13 deletions

View file

@ -12,7 +12,7 @@
params { params {
config_profile_name = 'Test profile' config_profile_name = 'Test profile'
config_profile_description = 'Minimal test dataset without performing any preprocessing nor profiling to check pipeline function. Useful when you only wish to test a single profiler without having to 'opt-out' of all the others' config_profile_description = "Minimal test dataset without performing any preprocessing nor profiling to check pipeline function. Useful when you only wish to test a single profiler without having to 'opt-out' of all the others"
// Limit resources so that this can run on GitHub Actions // Limit resources so that this can run on GitHub Actions
max_cpus = 2 max_cpus = 2

View file

@ -115,7 +115,7 @@
}, },
"multiqc": { "multiqc": {
"branch": "master", "branch": "master",
"git_sha": "5138acca0985ca01c38a1c4fba917d83772b1106" "git_sha": "16eee433b87b303bda650131ac5a0b1ad725e166"
}, },
"porechop": { "porechop": {
"branch": "master", "branch": "master",

View file

@ -8,7 +8,8 @@ process MULTIQC {
input: input:
path multiqc_files, stageAs: "?/*" path multiqc_files, stageAs: "?/*"
tuple path(multiqc_config), path(multiqc_logo) path(multiqc_config)
path(multiqc_logo)
output: output:
path "*multiqc_report.html", emit: report path "*multiqc_report.html", emit: report

View file

@ -12,6 +12,7 @@ tools:
homepage: https://multiqc.info/ homepage: https://multiqc.info/
documentation: https://multiqc.info/docs/ documentation: https://multiqc.info/docs/
licence: ["GPL-3.0-or-later"] licence: ["GPL-3.0-or-later"]
input: input:
- multiqc_files: - multiqc_files:
type: file type: file
@ -19,12 +20,13 @@ input:
List of reports / files recognised by MultiQC, for example the html and zip output of FastQC List of reports / files recognised by MultiQC, for example the html and zip output of FastQC
- multiqc_config: - multiqc_config:
type: file type: file
description: Config yml for MultiQC description: Optional config yml for MultiQC
pattern: "*.{yml,yaml}" pattern: "*.{yml,yaml}"
- multiqc_logo: - multiqc_logo:
type: file type: file
description: Logo file for MultiQC description: Optional logo file for MultiQC
pattern: "*.{png}" pattern: "*.{png}"
output: output:
- report: - report:
type: file type: file
@ -46,3 +48,4 @@ authors:
- "@abhi18av" - "@abhi18av"
- "@bunop" - "@bunop"
- "@drpatelh" - "@drpatelh"
- "@jfy133"

View file

@ -42,8 +42,7 @@ if (params.run_malt && params.run_krona && !params.krona_taxonomy_directory) log
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/ */
ch_multiqc_config = file("$projectDir/assets/multiqc_config.yml", checkIfExists: true) ch_multiqc_config = params.multiqc_config ? file( params.multiqc_config, checkIfExists: true ) : file("$projectDir/assets/multiqc_config.yml", checkIfExists: true)
ch_multiqc_custom_config = params.multiqc_config ? Channel.fromPath(params.multiqc_config) : Channel.empty()
/* /*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -93,7 +92,7 @@ def multiqc_report = []
workflow TAXPROFILER { workflow TAXPROFILER {
ch_versions = Channel.empty() ch_versions = Channel.empty()
ch_taxprofiler_logo = Channel.fromPath("$projectDir/docs/images/nf-core-taxprofiler_logo_custom_light.png") ch_multiqc_logo= Channel.fromPath("$projectDir/docs/images/nf-core-taxprofiler_logo_custom_light.png")
/* /*
SUBWORKFLOW: Read in samplesheet, validate and stage input files SUBWORKFLOW: Read in samplesheet, validate and stage input files
@ -241,14 +240,11 @@ workflow TAXPROFILER {
ch_workflow_summary = Channel.value(workflow_summary) ch_workflow_summary = Channel.value(workflow_summary)
ch_multiqc_files = Channel.empty() ch_multiqc_files = Channel.empty()
ch_multiqc_files = ch_multiqc_files.mix(Channel.from(ch_multiqc_config))
ch_multiqc_files = ch_multiqc_files.mix(ch_multiqc_custom_config.collect().ifEmpty([]))
ch_multiqc_files = ch_multiqc_files.mix(ch_workflow_summary.collectFile(name: 'workflow_summary_mqc.yaml')) ch_multiqc_files = ch_multiqc_files.mix(ch_workflow_summary.collectFile(name: 'workflow_summary_mqc.yaml'))
ch_multiqc_files = ch_multiqc_files.mix(CUSTOM_DUMPSOFTWAREVERSIONS.out.mqc_yml.collect()) ch_multiqc_files = ch_multiqc_files.mix(CUSTOM_DUMPSOFTWAREVERSIONS.out.mqc_yml.collect())
ch_multiqc_files = ch_multiqc_files.mix(FASTQC.out.zip.collect{it[1]}.ifEmpty([])) ch_multiqc_files = ch_multiqc_files.mix(FASTQC.out.zip.collect{it[1]}.ifEmpty([]))
ch_multiqc_files = ch_multiqc_files.mix(ch_taxprofiler_logo.ifEmpty([]))
if (params.perform_shortread_qc) { if (params.perform_shortread_qc) {
ch_multiqc_files = ch_multiqc_files.mix( SHORTREAD_PREPROCESSING.out.mqc.collect{it[1]}.ifEmpty([]) ) ch_multiqc_files = ch_multiqc_files.mix( SHORTREAD_PREPROCESSING.out.mqc.collect{it[1]}.ifEmpty([]) )
} }
@ -269,7 +265,9 @@ workflow TAXPROFILER {
// TODO create multiQC module for metaphlan // TODO create multiQC module for metaphlan
MULTIQC ( MULTIQC (
ch_multiqc_files.collect(), [[], []] ch_multiqc_files.collect(),
ch_multiqc_config,
ch_multiqc_logo
) )
multiqc_report = MULTIQC.out.report.toList() multiqc_report = MULTIQC.out.report.toList()
ch_versions = ch_versions.mix(MULTIQC.out.versions) ch_versions = ch_versions.mix(MULTIQC.out.versions)