KissDE : Magnitude of the effect and NaN
1
0
Entering edit mode
3.0 years ago

Hi,

I have some results in KissDE (for AS events, with filter to 0.05 adj-pval, 10% |dPSI|) that seems to contradict the manual, about the computation of the mean PSI.

For an exemple : I have a cohort of 21 mutated samples, and 6 wildtype. The problem is true for every concerned event, so to pick one :

An altA with a dPSI of -0.4673 and an adjusted p-val of 9.611E-03. The thing that surprised me is that out of the 6WT, 5 of them have a NaN for individual PSI.

The mean PSI for the group MUT is 0.7744, and the only individual (normalized) PSI for the group WT is 0.3071, so it seems that KissDE calculated the mean PSI of the group WT by taking the only individual PSI that was not NaN.

It seems to contradict the point 3.7 Magnitude of the effect of the KissDE documentation :

First, individual (per replicate) PSI/f are calculated. If counts for both upper and lower paths are too low (< 10) after normalization, the individual PSI/f are not computed.

Hence the 5 out of 6 NaN, as the counts for all 5 of them are either 0, 1 or 2 (I did not change the value (10) for the lowcount option).

Then mean PSI/f are computed for each condition. If more than half of the individual PSI/f were not calculated at the previous step, the mean PSI/f is not computed either.

Finally, we output ∆PSI/∆f. Unless one of the mean PSI/f of a condition could not be computed, ∆PSI/∆f is calculated [...]

As KissDE indeed give me a dPSI, it has computed the mean for both condition. With only one value (out of 6) for the WT condition.

The KissDE version used was 1.12. I did the same analysis after upgrading to 1.14, and althought this particular exemple have disappeared, I have at least a few hundred other cases like this (out of ~4000 events).

Maybe I am missing something, but it seems weird to me.

Thanks for your help.

kissDE kissplice • 782 views
ADD COMMENT
2
Entering edit mode
2.9 years ago

Hi David,

I think you are right, this feels wrong. I just checked the code and what I understood from it was that if half of the samples had a computed PSI, we compute the mean PSI, BUT IT DOES NOT DIVIDE THE SAMPLES BY CONDITION! In your example, you had 27 samples and 22 of them with a computed PSI, so kDE computed the mean PSIs. This feels wrong, I changed the tests in kissDE to: Then mean PSI/f are computed for each condition. For each condition, if more than half of the individual PSI/f were not calculated at the previous step, the mean PSI/f is not computed either.

I also noticed that computed PSI were not outputed in the psi table if the deltaPSI could not be computed (strange behaviour...). I modified it so that all computed PSIs are outputed in the PSI table.

It has been updated in the github of the kissDE project.

Thanks a lot for your bug report! And Happy New Year! :D

Audric

ADD COMMENT
0
Entering edit mode

Hi Audric,

Thank you for the update, everything seems to be working fine know. Happy New Year !

David

ADD REPLY

Login before adding your answer.

Traffic: 2662 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6