Mutual exclusion statistics and data events in Gitools

//Mutual exclusion statistics and data events in Gitools

Mutual exclusion statistics and data events in Gitools

We’re pleased to announce another incremental release of Gitools, version 2.2. Amongst the many improvements (listed at the bottom of this post) we’d like to highlight the effort that we put into improving performance, specifically with genomic data: mutual exclusion and co-occurrence statistics coupled with a new feature called “data events” – which helps to get a quick grasp of the data.

Low expression events ordered by mutual exclusion

Low expression data events events ordered by mutual exclusion

Mutual exclusivity and co-occurrence statistics 

Selective pressure of cancerogenesis on the alteration of certain pathways is expected to result in a mutually exclusive alterations pattern within a cohort of cancer samples. Similarly, other alterations may be cooperating. In order to be able to test a hypothesis directly with the prepared cancer genomics heatmap datastes we implemented a weighted permutation approach to test for mutual exclusivity and co-occurence of alterations across a group of genes which is currently available as an additional step when sorting the genes by mutual exclusivity.

If you have loaded alterations data in a Gitools heatmap with genes listed in rows, you can test for mutual exclusivity and co-occurrence via the menu Edit->Rows->Sort by mutual exclusion dialogue. Just activate the option at the lower part of the dialogue (see Screenshot 1 below). After the test has been performed for the selected genes, the results will be shown to you in a new dialogue (see Screenshot 2). For more information, see the “Mutual exclusion and Co-occurrence Test” page in the documentation.

Data Events

The mutual exclusivity sorter expects binary data: events and non-events. Therefore we have introduced “Data Events” which is an automatic way to decide which data points are (positive) events, and which are not. Given that you are viewing test-results with the p-value color scale, all data points that fall below the selected significance cut-off are events. For more examples, see the “Data Events” page in the documentation. If need be and the current event function does not serve for your purpose it is easily switched for another one using the drop-down menu.


The summary of the selected genomic alteration data (left) shows that 14 % of the selected cases (4 genes and 306 samples) are altered. At the left we can see that the same samples and genes are upregulated in 128 cases (10%)

The same event functions are available at the new selection box, that appears always at the left of the heatmap if some rows and/or columns are in selected state. In the above image, we show two examples of the selection box that is summarizing the selected genomic alteration data (left) and the selected expression data (right). In the expression data, which is median-centered, all values above the scale cut-off, highly expressed genes, are set to be data events.

mutual-exclusive-test-setupScreenshot 1: Mutual exclusive sorting and statistical test in Gitools.


Screenshot 2: An example of a mutual exclusive test result

Changelog Gitools 2.2.0 (July 8th 2014)

* Mutual exclusion plugin (new)
* SVG image export (new)
* Hierarchical cluster heatmap header with contextual menu (new)
* Selection statistics (new)
* Data events (new)
* Import string values: importing strings to categorical values (new)
* Layer groups (new)
* Recent files (new)
* New .mtabix compressed data file format (new)
* View enrichment data via contextual menu in results (new)
* View group comparison data via contextual menu in results (new)
* Parellization: use multiple cores for many tasks
* Many performance improvements
* UI improvements

By | 2014-07-14T09:46:39+00:00 July 14th, 2014|Categories: Uncategorized|Tags: , , , , |2 Comments

About the Author:


  1. Adam de Smith October 29, 2014 at 10:28 pm - Reply


    If I have a set of tumor samples and a list of 9 genes with binary mutation information, to test the mutual exclusivity or co-occurrence of one of these genes with any of the 8 remaining genes I would have to test this one by one to determine the p-value for that test (eg. gene 1 vs. gene 2, gene 1 vs. gene 3, etc.). That would be 36 tests and 36 p-values of mutual exclusivity (and 36 for co-occurrence). Would you recommend correcting for multiple testing (0.05/36) or does the fact that each of these p-values has been determined through permutation testing negate the need for Bonferroni correction?
    Also, am I right in thinking the number of permutation tests is 10,000 in each case?


    • Michael P Schroeder October 30, 2014 at 9:00 am - Reply

      Hi Adam

      Are you exclusively interested in testing gene pairs? Because if the genes are somehow functionally related it would make a lot of sense to test it as a “functional module” by applying the test to the whole group of nine genes or a subset that looks most promising to you. You may sort them beforehand (Edit->Rows->Sort by mutual exclusion).

      If you want to make the 36 pairwise tests I think it is not absolutely necessary to perform multiple test correction, but it’s good practice – especially if you want to publish the result in a peer-reviewed article there is a good chance that you will be asked to apply a correction.

      Lastly, yes by default the number of permutations is set to 10’000. If you wish to change that you may try to run the analysis via Analysis->Mutual exclusion & co-occurrence.

      I hope I could help out. If you have more questions please feel free to add a further comment or use the mailing list.


Leave A Comment