Good morning all, Great to see all the movement he...
# riboseq
f
Good morning all, Great to see all the movement here, and that riboWaltz PR is now ready to go! As a little update from our side, quite some work has gone into a comparisons between Plastid and ORFquant, I am sure Sebastian can give an update on this soon. @Jonathan Manning is planning to integrate the RibotishQC into MultiQC this week, which should be a great QC feature for Ribo-seq data! As next steps, we would be looking to integrate Ribocode as an optional tool into the Ribo-seq workflow. @Jack Tierney we know that you have already made a start on this some 2 years ago (https://github.com/JackCurragh/custom-nf-core-modules/tree/main/modules/jackcurragh/ribocode), is this something you intend to finish, and/or have time to do? If not, we could ask for assistance for this from Jon? In terms of a new release, as Sebastian outlined earlier we intend to add a few new features and fix some issues over the coming few weeks (hopefully this side of Christmas), but this shouldnโ€™t be a reason to delay a release if you feel that there should be one soon. We could always aim for another release to start the New Year?
j
j
Thanks Felix. I think the blocker I hit at the time was the lack of appropriate test data as RiboCode fails when given low periodicity samples. I will have another look at it this week and if I feel its above my capacity I will report back rather than letting it run on any longer un-done
i
hey @Jack Tierney . for
RIBOCODE_PREPARE
only fasta and gtf needed, so prolly what you have is closer than you think! for the rest (assuming there's no test data already uploaded that satisfies the periodicity requirement, worth checking first) - for anyone going forward with it - in case helpful, I successfully used ribocode with these samples
SRR9693978
and
SRR9693980
(good data in mouse). i guess it's a matter of downloading, sub-sampling the fastqs, running the riboseq pipeline on them (also useful for pipeline testing actually) and uploading the BAMs (the ribocode input) as a PR into https://github.com/nf-core/test-datasets/tree/modules. then we can write the module tests to use this data.
f
That sounds like a great way forward!
j
f
Great work on the Ribotish module, @Jonathan Manning! @Jack Tierney, @Ira Iosub: Can you please take a quick look at the very first Example Report https://github.com/user-attachments/files/23460461/ribotish_example_report.html that Jon attached in the PR here (https://github.com/MultiQC/MultiQC/pull/3384). Do you like the terms Frame 0, Frame 1 and Frame 2 (or F0โ€ฆ)? Or is there a better term for that that is preferred in the field?
The tool creators spell it
Ribo-TISH
(https://bioinformatics.mdanderson.org/public-software/ribo-tish/), shall we adopt that?
j
Frame 0, 1, 2 is what Ingolia used in the initial paper and its quite commonly used but I have seen 1 indexed also. I think its good as is. The one thing I mildly object to is saying >70% periodicity is good quality Ribo-Seq. While good quality Ribo-Seq will often have high periodicity and poor quality often have low, there are so many caveats to it that I'd prefer to be less opinionated in what many non-Ribo-Seq people may see as a reference pipeline. I am not familiar with writing multiqc modules and perhaps these kind of guideline interpretations are recommended but thats my intuition on it anyway
j
It's definitely a work in progress, I'll take comments from here, but feel free to comment on the PR for posterity too (if you have permissions)
i
@Jack Tierney precisely, that's what i said, worth checking our existing alignments first! (the dataset addition suggestion is backup) i had forgotten i uploaded both the genomic and transcriptomic BAMs ๐Ÿ™‚
๐Ÿคฆ 1
i don't have permissions to post on the MultiQC github. It looks fantastic so far @Jonathan Manning and @Felix Krueger: โ€ข Frame 0,1,2 is the most common indeed. And best to stick w terminology
Ribo-TISH
is using โ€ข yep, let's use the developer's tool name i.ie.
Ribo-TISH
โ€ข in description before the plot it would be useful to clarify if the Frame assignment is based on either 5'end of the reads OR P-sites OR A-sites โ€ข I agree w @Jack Tierney 70% periodicity is not necessarily a "standard" threshold to define high quality ribo-seq, especially for protocols using other RNases apart from RNase I (e.g. P1, or MNase). Although some degree of frame preference should be expected. Maybe safer to leave it purely descriptive and say it's the proprtion in each frame? โ€ข For read length distribution would it be more intuitive to have a line chart or bar chart - this is how it's typically visualised. but this is a very small comment, heatmap does the job!
j
The heatmap is based on @Felix Kruegerโ€™s prototype code, but we can certainly flip to a line graph view if there's consensus that that would be better
f
Happy to go with with more conventional or typical representations, could we get a line graph underneath to see the difference? In my experience, line graphs tend to get messy if you plot some 20-60 samples?
i
I am thinking sth fastqc-esque. And it can get messy, but multiQC allows users to filter on subsets/select samples if one wishes to while viewing. but honestly, I am happy either way
j
Here's a take on the MultiQC report with both the line plots and the heatmap. To my eye the line plot does a much better job of showing the shift in distribution between samples, so I'm with @Ira Iosub
We could of course keep both! That's probably my preference now.
๐Ÿ‘ 1
f
I agree, keeping both would be great (maybe with a little button switching between the two)? In my example code I used to have line graphs at first, but this became unworkable with dozens of samples, which is when the heatmap came inโ€ฆ.
j
I don't think we can have a switcher with native MultiQC stuff (I tried quickly), but I think it works fine like this
Would you like the 1/3 reference lines back from your prototype Felix?
f
I quite like them (maybe a bit finer and without text) for orientation. What do others think?
j
Looks nicer in the HTML
I think it's useful
f
We (as in, you) are so getting there! ๐Ÿ‘
๐Ÿ‘ 1
j
If you look carefully at the commits you'll see that this has been AI-accelerated ๐Ÿ˜‰. Perfect job for Claudy-C, rapid prototyping until you get what you want.
๐ŸŽ‰ 1
I believe I've addressed all comments, have asked Phil for another review when he has time.
๐Ÿ‘ 1
i
just looked at the example multiQC report, it looks really good! I also like the switch away from the diverging color scale for the heatmap
๐Ÿ‘ 1
p
Hi folks, looking at this PR now (there's been quite a bit of upstream work to get to this point - the new sample grouping bargraph stuff is now merged)
I don't like having two plots showing the same thing, so I will ditch the heatmap if that's ok.
Shout now if you feel like this is a #C0749PAEU9F for you!
f
I donโ€™t want to die for this, but as discussed the line graph becomes rather messy and un-interpretable with many samples (isnโ€™t there test data with ~70 samples?). Would it be a lot of work having a heatmap/line graph button so one can switch back and forth if required? The codebase for it is there, so it seems a little wastefulโ€ฆ.
p
Would it be a lot of work having a heatmap/line graph button so one can switch back and forth if required?
Yes, quite a lot of work
I'll throw claude at it
We could switch from one plot type to another at a certain level of samples perhaps? In the back end. That'd be a lot easier.
f
That might be an option. This is an example:
Screenshot 2025-12-08 at 13.47.47.png
Letโ€™s see if Claude has a strong opinion either way?
p
No need, Phil has a strong opinion ๐Ÿ˜…
What do you want the threshold to be? 50 samples?
f
Iโ€™m sure youโ€™ve got an opinion on a good threshold? 30 maybe? But donโ€™t you want to write a good prompt first to see how hard it would be to have linegraph/heatmap first?
p
I have Claude going in the background already for the toggle button, I just don't want to delay getting this PR merged any longer.
๐Ÿ˜ 1
f
ah there we go. Just 1 toggle button, how hard can it be?
๐Ÿ˜† 1
p
For quite a simple / short module, this PR has created more core-MultiQC work than any others for quite a while ๐Ÿ˜…
homer disappear 1
f
I think we discussed back at the hackathon in Oct 2024 that this kind of data is a little tricky to get into MultiQC ๐Ÿ˜›
I can still see you, Jon!
๐Ÿ˜† 1
p
This is why we can't have nice things claude lurk
j
Hey, I said it was the first scrappy AI draft!
p
Wrong thread ๐Ÿ˜‰
This is my scrappy AI draft
j
(for context for observers, I thought Phil was referring to my latest adventure https://github.com/MultiQC/MultiQC/pull/3425)
Since we now have the release (thanks Phil!) here's the associated workflow PR to get the Ribo-TISH plots: https://github.com/nf-core/riboseq/pull/131. Not too tricky to review if someone has a sec. I'm also just updating snapshots
๐Ÿš€ 1
โœ… 1
merged 1