You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
However, it seems that the columns are sorted by the name of the header title.
I want to keep the original header order Sample Name Input Filtered % Pass Filter Denoised Non Chimeric % Non Chimeric
How can I do this?
The text was updated successfully, but these errors were encountered:
Thanks for reporting this. I just came across the same problem myself.
This appears to be a current limitation of MultiQC - that is, it's not possible to keep them sorted at the moment. It's a bug that needs fixing.
Looking back at the code, the reason basically comes down to the fact that this code was written for Python 2, pre- custom content. Headers in modules always use OrderedDict() to specify the order of table columns, as in Python 2 dictionary keys are unordered. Because in Python 2 the order would be random if not an OrderedDict, the code sorts the keys alphabetically if it's a vanilla dict, just so that the order is at least predictable and doesn't shuffle every time you run MultiQC.
The problem with custom content is that the header config is loaded from YAML, and it's not possible to import as an OrderedDict. However, MultiQC is Python 3.7+ only now, so we don't need any of this stuff any more 😓
I'll try to push a short-term fix to dev now, but longer term the codebase needs refactoring to get rid of this Python 2 junk that we don't need any more. x-ref #1919
I am now creating a custom table with the tsv file as input.
The inputs are as follows...
However, it seems that the columns are sorted by the name of the header title.
I want to keep the original header order
Sample Name Input Filtered % Pass Filter Denoised Non Chimeric % Non Chimeric
How can I do this?
The text was updated successfully, but these errors were encountered: