How does the MAJIQ software determine if an event is a differential variable clipping event?

68 views
Skip to first unread message

Jiaxin Zhao

unread,
Aug 4, 2024, 3:05:45 AMAug 4
to Biociphers
Dear MAJIQ development team:
Greetings! I still haven't figured out the specific rules of the software since my last question, so please allow me to elaborate my question to you again. For example, SE events, MAJIQ determine a SE event requires 4 rows of data, so based on the PSI determination, we are in the end, each of the 4 rows of PSI to pass the threshold, or 4 rows to take the maximum value as the event (junction) of the PSI representative, or 4 rows of the average PSI value as the event (junction) of the representative? Or is it the rest of the rules?

Looking forward to your reply, this is really important for me, thanks!

San Jewell

unread,
Aug 7, 2024, 1:57:07 PMAug 7
to Biociphers
Hi <unknown name>,

Can you clarify to me what "SE" event means here? ; Also, which mode/input files are you running for modulizer? (behavior is different when using PSI files vs HET/dPSI files) There are multiple steps for the filtering. First, there are basic reads/psi/dpsi thresholds which will simply eliminate junctions if they are not met, after this, the actual modulize process is performed, and events are matched, then, more filtering can be done, for example, certain pvalue/dpsi thresholds may need to be met to call an event changing or non changing,  (which would be, any junction in the event) and also, there is a changing secondary threshold, which is required for _all_ junctions in the event. These can be disabled by setting to 0.0. Also note that by default, events which are not changing are discarded when running with HET or dPSI inputs, this can be disabled by running with --show-all. There are many fine-tune-able filters which are described in voila modulize --help ; please let me know if you have questions about how any specific filters function for your research.

Thanks,
-San

Jiaxin Zhao

unread,
Aug 29, 2024, 3:14:51 AMAug 29
to Biociphers
Hi San,

Thank you for your response! Please pardon the vagueness of my question and allow me to explain my confusion in more detail for you.
First of all, the SE event in the last question refers to an exon jump event.
Secondly, I am using a modulizer like dPSI.

When I read the results file, I found that for different types of events, majiq uses different lines of evidence to identify an event (rigorous to the point of perfection). If I understand correctly, an exon jump event requires 4 lines of output as evidence, as shown in the red box circled below:
Snipaste_2024-08-29_14-07-16.jpg

Through your detailed and patient explanation, I understand the steps of majiq filtering, but now my confusion is that for these 4 lines of evidence for the same event, it is evident that each line has its own psi and dpsi values (as shown in the figure lab1_8_median_psi, lab1_6_median_psi, lab1_6-lab1_8_ median_dpsi columns, the corresponding values are not the same in these 4 circled rows).

So when filtering, for a certain event, is it required that each of the 4 values in these 4 rows pass the filtering condition, or is it required that 1 value representing the 4 rows pass the filtering condition after performing certain operations on the associated psi and dpsi of these 4 rows? (e.g., take the maximum value, minimum value, average value, etc.)

Sincerely looking forward to your professional reply and again, I apologize for my question and please feel free to contact me if I have not expressed anything clear!

Best,
happypiggy

San Jewell

unread,
Aug 29, 2024, 4:53:29 PMAug 29
to Biociphers
Good day Happypiggy!

Hopefully I can help to clear a few things up. We here refer to the cassette exon event which is explained here: https://biociphers.bitbucket.io/majiq-docs/modulizer/event-types.html#cassette-exons  ; basically, you may look at the labels for each output row here C1_C2, C1_A, C2_C1, C2_A ; the reason that we have four rows is because there are three quantified PSI values possible in the SE event: 

-PSI of skipping exon, from the 5-prime side (C1_C2)
-PSI of keeping exon, from the 5-prime side (C1_A)
-PSI of skipping exon, from the 3-prime side (C2_C1)
-PSI of keeping exon, from the 3-prime side (C2_A)

That is why there are four rows instead of three.

Filtering:

First, each of the junctions must pass the pre-filtering --decomplexify-reads-threshold , --decomplexify-psi-threshold, --decomplexify-deltapsi-threshold  , or else the junction will be removed from consideration entirely.
Second, if the junctions make an SE event, to be considered "changing" ALL THREE junctions must pass --changing-between-group-dpsi-secondary and AT LEAST ONE junction must pass --changing-between-group-dpsi
When there are multiple experiments used, only one experiment / group / input voila file is needed to pass for each of these cases.

Let me know if it clarifies anything a little better?

Thanks!
-San

Jiaxin Zhao

unread,
Aug 29, 2024, 11:03:29 PMAug 29
to Biociphers
Hi,
San

Thank you for your professional and prompt reply, by discussing with my friend, I finally understood roughly the significance of all the columns in the output file, as well as the filtering rules you mentioned. I hope you have a great day☀, as well as allow me to chime in again if I run into any problems during my subsequent research~

Best,
happypiggy

San Jewell

unread,
Sep 3, 2024, 4:27:14 PMSep 3
to Biociphers
Hi Happypiggy, I'm glad that you were able to understand most of what I mentioned. Feel free to reply again if more questions come up!

-San
Reply all
Reply to author
Forward
0 new messages