Multiqc: Customising report module order does nothing

Created on 21 Nov 2018  路  10Comments  路  Source: ewels/MultiQC

Description of bug:
When providing a 'custom' config YAML file to MultiQC where the report_section_order: section is used, no change in the output order from the default occurs in the report HTML.

MultiQC Error log:

This contains the multiqc_data folder, config file, and the report.html

multiqc_orderIssue_20181119.zip
`
File that triggers the error:
The folder that contains the stats files used in the above MultiQC logs. I have removed the BAM/FASTQ files themselves.

multiqc_orderissue_data_20181119.tar.gz

MultiQC run details (please complete the following):

  • Command used to run MultiQC: multiqc --config ~/.nextflow/assets/nf-core/eager/conf/multiqc_config.yaml .
  • MultiQC Version: MultiQC v1.6
  • Operating System: Ubuntu 14.04
  • Python Version: #Python 2.7.15
  • Method of MultiQC installation: EAGER2 Singularity (but I think conda)

Additional context
Originally reported here: https://github.com/nf-core/eager/issues/87#

bug

All 10 comments

Hi @jfy133, @apeltzer,

Is this resolved now? I can't reproduce the problem as this issue doesn't have the config file used, and it looks like you've changed it on the eager pipeline now.

I'll close for now, but if you still think that there's a bug in MultiQC and have a config file that causes it, then please let me know and I'll reopen the issue.

Phil

I think its fine now, otherwise we'll come back to you!

The config file is in the .zip file (multqc_config.zip), but yes Alex 'solved' it now by using top_modules instead.

Ah sorry, I missed it - I thought the reports were the same so just looked in the .tar.gz file..

Ok, so I'm not really sure what happens when you try to define the order of all modules in that way as it probably has some strange order-of-execution stuff that happens. The before: thing is more intended to just nudge a section here or there, when every section is relative to every other section I'm not really sure what happens.

It would be better to use module_order to specify the full list explicitly I think, instead of doing everything relative to everything else. I had a quick play and the behaviour is changing, so I don't think that it's completely broken, but more just that it's a bit of an odd edge case..

I will leave this alone for now, but if anyone else finds a nice simple case where this is broken, I'll take a look into it again 馃憤

That's fine, and re-reading the documentation more closely that makes more sense.

That said, by default my 'interpretation' of the documentation may have played into this mistake. top-modules is what I would consider a tweaking parameter based on the behaviour it's describing. Also the description of module_order comes as a second example in the 'Running modules multiple times', which I guess made me thing first time around that it was just for running modules multiple time...

Maybe it would be worth re-ordering the documentation order of that section a bit to make this clearer, in terms of what you consider to be the 'best practise' order of using each of these parameter when trying to customise content, i.e.

  • module_order
  • top_modules
  • report_section_order

Because for example, in my case I don't care in what order the each module is executed, but I do want to have the module results displayed in a certain way. So if I were to read the documentation, I would skip forward to the report_section_order because that is actually what I want to do (at least based on the name of the parameter).

Does that make sense?

Hey Jfy

could you pls share your config.yaml file i am very much confused raeding the documentation.

I need to reorder the way my report section should come like fastqc---> alignment stats-----> picard------> GATK--->snapeff

TIA

Hi @Ankita-1211,

It's better to create new issues in the future if possible, commenting on old closed ones like this you have a high chance that your question will get lost.

You can see the documentation about report order here: https://multiqc.info/docs/#order-of-modules

So in your case you would want something like:

module_order:
  - snpeff
  - gatk
  - picard
  - samtools
  - fastqc

Note that module_order is the order in which modules run, and they are appended to the report in reverse order - so having FastQC last in the list will make it appear first in the report.

Phil

While Phil is correct, you're lucky I did read my notification ;)

The final config file we use is here :https://github.com/nf-core/eager/blob/dev/assets/multiqc_config.yaml, note that it is more complicated now - but maybe it helps.

Thank You so much @ewels @jfy133

Was this page helpful?
0 / 5 - 0 ratings

Related issues

boulund picture boulund  路  4Comments

choudharis2 picture choudharis2  路  7Comments

vladsaveliev picture vladsaveliev  路  7Comments

pancheto picture pancheto  路  7Comments

jfy133 picture jfy133  路  5Comments