Python 3 implementation of Donato et al.'s 2013 maximum impact estimation algorithm for correcting crosstalk effects in pathway analysis.
This code has been tested on Python 3.5.
Crosstalk: Donato et al. (2013) use the term crosstalk to refer to the effect that pathways exercise on each other (in pathway analysis methods such as enrichment analysis, functional class scoring, and topology-based methods) due to the presence of overlapping genes.
Maximum impact estimation: They developed a correction method called maximum impact estimation that takes into account overlaps between pathways. The approach infers an underlying pathway impact matrix where each gene only contributes to one pathway using an expectation maximization technique.
PathCORE-T: The crosstalk correction method is used in the PathCORE-T software, a hypothesis generation tool that identifies co-occurring pathways from the results of an unsupervised analysis of transcriptomic data. Due to confusion around the term "crosstalk," we refer to this procedure as "gene overlap correction" in the PathCORE-T software and paper.
To install the current PyPI version (recommended), run:
pip install crosstalk-correction
For the latest GitHub version, run:
pip install git+https://github.com/kathyxchen/crosstalk-correction.git#egg=crosstalk-correction
A visualization of what crosstalk correction does in the context of the PathCORE-T analysis can be viewed here.
For more details, please see the PathCORE-T pre-print.
crosstalk_correction.py contains the implementation of the crosstalk
correction procedure. The method
the maximum impact estimation algorithm (method
and reduces the number of pre/post-processing steps required to
run/interpret the results of
We recommend that the method
crosstalk_correction be used directly
in most use cases.
For applications of maximum impact estimation that are not covered by this method, the following methods have also been made public and can be imported:
This work was supported by the Penn Institute for Bioinformatics