Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 31 16:04
    ewels closed #894
  • Jan 31 16:04
    ewels commented #894
  • Jan 31 15:38
    ewels closed #896
  • Jan 31 15:38

    ewels on master

    Replace inf values with nan in … Update of changelog Merge pull request #896 from al… (compare)

  • Jan 31 15:37
    ewels commented #894
  • Jan 31 15:30
    alneberg edited #896
  • Jan 31 15:28
    alneberg synchronize #896
  • Jan 31 15:20
    alneberg opened #896
  • Jan 31 11:36
    alneberg commented #894
  • Jan 31 08:40
  • Jan 30 17:46

    ewels on master

    Add biobambam2 to config.module… (compare)

  • Jan 30 17:22
    ewels commented #895
  • Jan 30 17:21
    ewels closed #895
  • Jan 30 17:21

    ewels on master

    New module: biobambam2/bamsorma… (compare)

  • Jan 30 16:41
    ewels commented #895
  • Jan 30 12:37
    fgvieira commented #895
  • Jan 30 11:18
    ewels commented #895
  • Jan 30 11:17
    ewels labeled #895
  • Jan 30 11:06
    ewels commented #894
  • Jan 30 10:59
    ewels labeled #894
I hope that makes sense - shout if you need any pointers
Steve Frenk
@sfrenk

Thanks a lot @ewels, that works beautifully! I noticed that files must have the "_mqc" suffix in order to be located by the find_log_files() method:

https://github.com/ewels/MultiQC/blob/master/multiqc/utils/report.py#L198

This is pretty easy for me to work around as I need to symlink the image files anyway so I can just change the name of the symlnik, but thought I'd point this out in case anyone else was interested in external images.

Phil Ewels
@ewels
Huh, interesting! I should probably move that into a config file so that it can be overwritten..
Feel free to make an issue about it if it's annoying :)
Nicolas Servant
@nservant
Hi @ewels ! We have some issues fixing sample names with custom content. When data are provided in separate files, it seems that MultiQC is using the entire data filename as sample name ? is that correct ? At the beginning, I was thinking that the extention specified in the config such as 'fn: '*_myextension'' would be removed ? Could you explain me how it is working in this case ? thanks
Phil Ewels
@ewels
Is this what you're looking for? https://multiqc.info/docs/#sample-name-cleaning
Nicolas Servant
@nservant
ah yes. Looks nice. I will have a look at it
Phil Ewels
@ewels
:+1:
Roxane Legaie
@RoxaneLS

Hi @ewels am I reading that you are back from parental leave? : ) (crossing my fingers..)

I have been asked by multiple users now, if there is a possibility for them to manually edit the html report from the web browser. For example, once they have looked at all metrics for a sample, they would like to "annotate" that sample with a PASS or FAIL. Would that be possible at all?

Phil Ewels
@ewels
Almost! Next week is my first week officially, though I won’t have time to sit down with MultiQC for a couple of weeks at least yet (working 50% for now and have a conference and other catch up stuff)
Editing the HTML report - short answer: no, not possible sorry.
I looked in to saving the annotation configs (highlighting etc) in early versions of MultiQC in a way that it would persist for users, and it’s effectively impossible.
That’s not that surprising I guess, it’s intentionally difficult to modify the file system from web pages, as a security setting from web browsers
So you really need some kind of web server or something running behind the web page to have any persistent interactivity like that.
Step in from stage left: ChronQC (by a group in Singapore) and MegaQC (by me, tough collecting collaborators from Norway and Australia)
ChronQC is very simple and is probably not what you want
MegaQC is a lot more powerful and flexible and could potentially do what you want. But probably not yet, and possibly not in the way that you want :sweat:
So - that’s the bad news. The good news is that it wouldn’t actually be that difficult to whip something up like this with a custom plugin (often my fallback reply!!)
Phil Ewels
@ewels
You’ll need to write a package to run a simple web server with a basic API interface. For example, a Flask service with a mysqlite database back end would be pretty trivial and would run basically anywhere. But whatever flavour works best for you.
Important thing is that it must be accessible for all of your users (with security etc as appropriate)
Once you have a way to store your sample statuses and an API to modify this, you can then write a MultiQC plugin to give an interface to this API.
Using hooks and / or custom templates, it should be possible to add in buttons / drop downs / whatever which know sample IDs and can send off a POST data request to your API.
Then you can use JavaScript to call that API to load the statuses when the report loads.
This way, any of your users will see the statuses for any MultiQC reports when they load, as well as being able to change them.
Ok, now that I’ve written all that, maybe it doesn’t sound as simple as all that.
A totally different method would be to write a web package that wraps around MultiQC reports and data.
eg. Load the report in an iframe and use the associated data file to get info about the samples.
Then everything is there and you can write some kind of interface to sit alongside.
Roxane Legaie
@RoxaneLS

Indeed, doesn't sound that simple! :D But I like the last option, since our users already access our multiQC reports from our curation software (simply as an html link for now)

A totally different method would be to write a web package that wraps around MultiQC reports and data.

I'll have a think about how that would work.. Thanks! :)

Phil Ewels
@ewels
No problem! Thanks for the interesting question!
Writing my response actually gave me a few ideas for potential cool new features for MegaQC + MultiQC (but don’t hold your breath, there’s a lot of other more important stuff to do there first..)
Michael Milton
@TMiguelT
Since MegaQC is, in a way, a web application that wraps around MultiQC, that sounds like a feature that could go into MegaQC
Sample annotations is a feature I've considered, since it would be just another table in the existing database of samples
Phil Ewels
@ewels
For sure :+1: - I think a lot of people would find this useful..
mdeloger
@mdeloger
Hi Phil, I have a question about including custom tables in multiqc reports, please. Actually I have 3 CSV files containing the same column headers but I wan to merge these 3 files in a same table in the report. But what I obtain, is always a table with only 3 rows (the first line of each file.
sample,genotype,feature,score,position,chr,chr_position,match,counts
V430R66-HPV16_16W12E,HPV16_16W12E,right,4,92,chrY,6686576,48,2.0
V430R66-HPV16_16W12E,HPV16_16W12E,right,4,92,chrY,23048726,44,2.0
V430R66-HPV16_16W12E,HPV16_16W12E,right,4,92,chrY,14661051,47,2.0
sample,genotype,feature,score,position,chr,chr_position,match,counts
V430R66-HPV33_REF,HPV33_REF,right,4,1300,chr20,23466274,71,2.0
V430R66-HPV33_REF,HPV33_REF,right,4,1306,chrX,4558519,99,2.0
V430R66-HPV33_REF,HPV33_REF,left,4,1263,chr6,101964054,54,2.0
sample,genotype,feature,score,position,chr,chr_position,match,counts
V430R66-HPV45_Qv00550,HPV45_Qv00550,left,4,6712,chr7,106897679,41,2.0
V430R66-HPV45_Qv00550,HPV45_Qv00550,right,4,6788,chr2,97886119,81,2.0
V430R66-HPV45_Qv00550,HPV45_Qv00550,right,4,6788,chr2,89089134,81,2.0
and in the multicq report I obtain only :
sample,genotype,feature,score,position,chr,chr_position,match,counts
V430R66-HPV16_16W12E,HPV16_16W12E,right,4,92,chrY,6686576,48,2.0
V430R66-HPV33_REF,HPV33_REF,right,4,1300,chr20,23466274,71,2.0
V430R66-HPV45_Qv00550,HPV45_Qv00550,left,4,6712,chr7,106897679,41,2.0
Thank you for your help
Phil Ewels
@ewels
Hi @mdeloger! Sorry to hear that
Would you mind putting this into an issue on GitHub please?
Don’t know off the top of my head so will need to have a proper look into it when I’m at a computer
Thank you!
Luca Cozzuto
@lucacozzuto
Hi @ewels! I'm wondering if there is an easy way to add some caption to a custom image inside multiqc :)
Phil Ewels
@ewels
Hmm, probably not.. Make an issue and I’ll look into it :)
Luca Cozzuto
@lucacozzuto
:) thanks!