:sos: Hi all, I am struggling with a simple questi...
# rnasplice
s
πŸ†˜ Hi all, I am struggling with a simple question: when we give our contrasts and run diffsplice from SUPPA, how should I interpret the contrasts? I am reading the github documentation (https://github.com/comprna/SUPPA) but I am confused because usually for other tools when we give condition A x condition B, the positive (+) values are the ones increasing in A. But in SUPPA is the opposite, right? 😧 πŸ†˜
An example of my contrast: contrast,treatment,control Col0_23_t24-Col0_23_t0,Col0_23_t24,Col0_23_t0
How should I interpret gain and loss? For instance: local_Col0_23_t24-local_Col0_23_t0_dPSI local_Col0_23_t24-local_Col0_23_t0_p-val AT1G01020;A5Chr18464-85718464 8594- 0.0410589252 0.3086913087
t
I don't know. The way I think about it, positive (fold) changes or differences mean to me "higher in the treatment/mutant/whatever than in the control". What is find confusing to me are labels like "A vs B", because I never know what the control is, but the contrasts file actually states that unambiguously. When I get confused, I always look at the raw number or even the reads in the BAM (e.g. with IGV). You should see one splice form that has more reads supporting it than the other. (I have not looked at the SUPPA output enough to confirm or refute your suspicion that it works differently, but the reads should tell you.)
s
Unfortunately, I used salmon input and I dont have the bam files. But in your interpretation in a contrast like this :
contrast,treatment,control
Col0_23_t24-Col0_23_t0,Col0_23_t24,Col0_23_t0
a positive value will be more event in the
Col0_23_t24
sample?
t
That is what I would expect. With splicing you have to be careful though -- you are looking at ratios between isoforms, not absolute counts. Because of simultaneous gene expression changes, you might have more of the alternate isoform at 0h than at 24h, but if the fraction of the total is higher at 24h, it should show a positive change. Actually, another really tricky point with splicing is that you have to know the convention of what is the "alternate" splice form, as opposed to the "canonical" one. This is actually something that can be different between tools, and even within the same tool. For example, in rMATS everything is based on the PSI (= "% spliced in") values. The difference between them is positive, if there is more "spliced in" stuff, but for an exon-skipping (SE) event that means more "canonical" form (i.e. with all exons), but for an intron retention even (RI), it mean more of the retained-intron form, which is the alternate one. So you have to carefully work through this and corroborate anything you get from the manuals by looking at actual counts and ratios. Even if you don't have BAMs, Salmon should give you counts for each transcript, so you can for the ratios from that. You will have to look how those transcripts differ, e.g. which one has a missing exon or extra intron, etc. If your annotation is Ensembl-based (ENST0... transcript IDs), the Ensemble website can be helpful, since it has graphs with all the exons, etc.🀞 (Once you have worked through one example, you can assume that others of the same type [SE, RI, etc.] follow the same convention, so it should get easier.)
s
Yes. It’s been very tricky for me to evaluate these results. Thank you very much for these discussions here.
t
You are welcome. I agree, splicing is much more difficult than differential expression analysis. And even if you find something, there is still the question if it's enough to trust it, or just the result of some artifact. When evaluating an even in a key gene that my collaborators are really interested in, I find myself often staring at the reads in the BAM, contemplating if that event is "real" ...
s
It is the best indeed. I need to find more storage and compute resources to be able to have the bam files.
t
In these situations it is good to remember a saying if a former boss of mine -- "If it were easy, they would not need us." πŸ˜€
πŸ˜ƒ 1
s
I will repeat it as a mantra. πŸ˜ƒ
πŸ‘ 1
Just to share a check that makes me think what we see as gain or loss of splicing event must be the opposite for suppa2 than what we expect, is that for the example I gave earlier:
local_Col0_23_t24-local_Col0_23_t0_dPSI	local_Col0_23_t24-local_Col0_23_t0_p-val AT1G01370;RI:Chr1:145345:145435-146164:146479:+	-0.1225289892	0.1785714286
, if we check the psivec values, they are:
local_Col0_23_t24_1	local_Col0_23_t24_2	local_Col0_23_t24_3	local_Col0_23_t0_1	local_Col0_23_t0_2	local_Col0_23_t0_3 AT1G01370;RI:Chr1:145345:145435-146164:146479:+	0.614960009044543	0.600676507936864	0.714835825504207	0.557070872876991	0.4945347048916121	0.511279797153923
clearly Col0_23_t24_1 has bigger psivec values, but
local_Col0_23_t24-local_Col0_23_t0_dPSI is negative
I just really needed to share that, because I guess everyone must assume the opposite. 🀯
t
Yes, thank you! I think it is because there are some many moving parts, the developers of splicing tools have thrown out expectation out of the window. In rMATS the delta-PSI is calculated as "PSI.sample1 - PPSI.sample2". If you know that and make sure sample2 is your control, it makes it easier to think about (but still confusing, since the meaning changes between SE and RI), but I am still working through my first experiment with the pipeline, so I can't tell you what it does.
s
Yes, I just wondered because I came into the dpsi file dpsi is a tab separated file, with the (transcript or local) event ID in the first column, followed by a variable even number of fields, two for each pair of conditions being compared: 1. Cond1_Cond2_dPSI: Event PSI difference (Ξ”PSI) between Cond1 and Cond2 (Ξ”PSI = PSI_2 - PSI_1). 2. Cond1_Cond2_pvalue: Significance of the difference of PSI between Cond1 and Cond2 in the github.
But it should be just to invert the + and -, I assume. And not re-run the tool all over.
t
You entered the correct things in the contrasts sheet, so no point running things again. It is hard to develop a pipeline with so many tools, each with its own conventions. If you find that the control and "treatment" should really be swapped for this tool (and sometimes this is debatable, since the meaning of a sign can change with the event type), you can open an issue on GitHub. If the developers agree, it should be an easy fix.
Of course the problem is "precendent" -- some people maybe go use to it being the "wrong" way and flip it in their head, and any change would throw them off ... But in the end, I am favor of correctness over precedent.
πŸ‘ 1
s
True.
I guess for now, I can only invert + and - lists to address correctly what is increasing or decreasing in the treatment. But I will open an issue when I am 100% convinced. Please get back to me once you also go through suppa! πŸ™ I will be happy to know about your experience.
πŸ‘ 2