Here's the post saying pvalue=0 can be interpreted as less than 2.2e-16:
https://groups.google.com/g/rmats-user-group/c/TW534af62fg/m/tZXBs0Y4BAAJThe smallest PValue I managed to get from the rMATS statistical model is 1.11022302463e-16
Here is output from: rMATSexe -i input.txt -t 1 -o output.txt -c 0.0001
ID IJC_SAMPLE_1 SJC_SAMPLE_1 IJC_SAMPLE_2 SJC_SAMPLE_2 IncFormLen SkipFormLen PValue
1
100,101,102,103
101,102,103,104
102,103,104,105
271,272,273,274
200
100
1.11022302463e-16
2
100,101,102,103
101,102,103,104
102,103,104,105
272,273,274,275
200
100
0
Both rows have high read counts showing a clear difference between the groups. The first row has a PValue of 1.11e-16. The second row has a few additional read counts and a PValue of 0
The pvalue is computed as (1 - P):
https://github.com/Xinglab/rmats-turbo/blob/v4.3.0/rMATS_C/src/myfunc.c#L478P is a double which is limited in how close it can get to 1 while being less than 1. This post (
https://stackoverflow.com/questions/71383519/largest-value-representable-by-a-floating-point-type-smaller-than-1) says that limit is 0.99999999999999988898
1 - 0.99999999999999988898 is very close to the smallest PValue I could get (1.11022302463e-16)
Eric