rMATS requires that both the inclusion isoform and skipping isoform have evidence of the 3 exons in that isoform being sequential in a transcript. That transcript evidence could either be from an annotated transcript from the --gtf or it could be from some alignment from the input bam files. Here's the code:
https://github.com/Xinglab/rmats-turbo/blob/v4.2.0/rMATS_pipeline/rmatspipeline/rmatspipeline.pyx#L1537The diagram in the README shows the structure of the inclusion and skipping isoforms for MXE events:
https://github.com/Xinglab/rmats-turbo/tree/v4.2.0#outputBasically if rMATS thinks that both the inclusion transcript and skipping transcript are real transcripts then rMATS detects an MXE event. The code doesn't require that the two exons are never found in the same transcript or that all transcripts have at least one of the exons. The criteria for rMATS to output an MXE event is not very strict which should result in most real MXE events being reported, but also many cases that are not really mutually exclusive
Eric