A Weighted Exact Test for Mutually Exclusive Mutations in Cancer
Python C Shell HTML Fortran
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
experiments/eccb2016 Updated multiple hypothesis correction Mar 23, 2017
viz update viz to use wext instead of weighted_exclusivity_test and RCE i… Jul 6, 2016
wext Add test statistics (#22) Jan 2, 2018
.gitignore many minor fixes while in progress reproducing results of the ECCB 20… Apr 22, 2016
LICENSE
README.md Add test statistics (#22) Jan 2, 2018
compute_mutation_probabilities.py Add test statistics (#22) Jan 2, 2018
find_exclusive_sets.py Minor bug fix Jun 21, 2017
find_sets.py Add test statistics (#22) Jan 2, 2018
process_mutations.py draft of eccb 2016 camera-ready experiments Jun 14, 2016
requirements.txt many minor fixes while in progress reproducing results of the ECCB 20… Apr 22, 2016

README.md

Weighted Exclusivity Test (WExT)

The Weighted Exclusivity Test (WExT) was developed by the Raphael research group at Brown University.

Requirements

Latest tested version in parentheses.

  1. Python (2.7.9)

    a. NumPy (1.11.0)

    b. SciPy (0.17.0)

  2. gcc (4.9.2)

We recommend using virtualenv to install the Python requirements. After installing virtualenv, you can install the Python requirements for the weighted exclusivity test as follows:

virtualenv venv
source venv/bin/activate
pip install -r requirements.txt

See the wiki for additional instructions on Setup and installation.

Setup

The C and Fortran extensions must be compiled before running the weighted exclusivity test:

cd wext
python setup.py build
f2py -c src/fortran/bipartite_edge_swap_module.f95 -m bipartite_edge_swap_module

Usage

Data preprocessing

Before computing the weighted test, you need to process the input mutation data and generated permuted matrices.

  1. Process mutation data in MAF format with process_mutations.py. See Process mutations on the wiki for details on usage and input.
  2. Generate permuted versions of the mutation data -- fixing the number of mutations per gene and per patient/sample -- and compute mutation probabilities with compute_mutation_probabilities.py. See Compute mutation probabilities on the wiki for details on usage and input.

Searching for exclusive sets

Given the mutation data, we compute the exclusivity of mutations in sets M of genes with find_exclusive_sets.py. Users can choose which test (unweighted, weighted, or permutational) and, for the unweighted and weighted tests, which method (exact or saddlepoint) is used to compute the p-values. See Find exclusive sets on the wiki for details on usage and input.

Searching for exclusive, co-occurring, or other sets

Given the mutation data, we compute the exclusivity, co-occurrence, or other patterns of mutations in sets M of genes with find_sets.py. See Find sets on the wiki for details on usage and input.

Visualization

We provide scripts to run an interactive web application to view the output of compute_exclusivity.py, including both the mutations and mutation probabilities for each set. See viz/README.md and the wiki for additional instructions and details.

Testing

See examples for examples, including a simple example that we recommend using for testing.

Support

Please visit the Dendrix Google Group to post questions and view discussions from other users about our methods for identifying mutually exclusive mutations, or contact us through our research group's website.

Reference

Mark D.M. Leiserson, Matthew A. Reyna, and Benjamin J. Raphael. (2016) A Weighted Exact Test for Mutually Exclusive Mutations in Cancer. ECCB/Bioinformatics 32(17):i736-745. arXiv preprint