EpiExplorer is a visualisation platform created using Python which allows users to visualize Higher-Order Epistatic Genomic Interactions using Cytoscape. Moreover, it allows users to change features of networks in real time and dynamically interact with epistatic interactions.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
-
Python3.6 or above
-
Install Pandas
pip install pandas
- Install py2cytoscape
py2cytoscape - A collection of utilities that enables one to use Cytoscape using Python
- Install Cytoscape
Cytoscape - Platform used for visualisation
A step by step series of instructions that tell you how to get the development env running
- Clone this repository upon installation of the above prerequisites.
git clone https://github.com/aehrc/EpiExplorer.git
- Navigate inside the folder of the program
cd EpiExplorer
- Install dependencies
bash ./install.sh
To run the program start a new terminal (or run the following command in the current terminal):
source ~/.bashrc
Next run Cytoscape in the background using:
Cytoscape &
Finally run EpiExplorer using:
cd ~/EpiExplorer/src/
python3 EpiExplorer.py
The GUI takes in two types of files in order to depict information in Cytoscape:
- Input File/s: A csv file/s consisting of lists of SNP interactions and their effect size. One or multiple input files could be loaded in simultaneously at the start of the program or at added later on at any point during the program.
Combined Association Power | SNP_A | SNP_B |
---|---|---|
0.1 | rs8663549 | rs1252345 |
0.4 | rs2323523 | rs2343434 |
Please refer to these example input files for further clarification on the format of the input files.
- Annotation file/s: A .txt file/s contatining the genomic annotations of the SNPs involved. Similar to input files, one or multiple annotation files could be loaded in simultaneously at the start of the program or added later on during the program.
An annotation file consists of:
- Chromosome
- Position
- Genomic location
- Protein coding
- Non-coding
- Other
- Genomic location
- Exome
- Intron
- Micro RNA
- Minor allele Frequency
Please refer to these example annotation files for further clarification on the format of the annotation files.
The Output path is the path specified by the user to store the output files containing the Cytoscape networks.
- EpiExplorer represents networks in two modes:
- Interaction as nodes: Depicts a large amount of nodes and shows the specific interactions between the nodes. The default is set to Interactions as Nodes in the GUI.
- Interaction as edges: Depicts both SNPs and interactions as nodes of the graph.
-
EpiExplorer uses visual elements such as color, size and shape of nodes; color and thickness of edges to convey information about the SNPs.
-
EpiExplorer allows users the functionality to filter the networks (i.e. show/ hide nodes or edges, highlight/ gray out nodes or edges, invert the query) by writing a python query.
-
Various layout algorithms are available through Cytoscape.
The program has the ability to retain the previous states of the networks which allows users to load multiple input files during the run of the program and filter out data effectively without having to restart.
- Milindi Kodikara
- Arash Bayat
See also the list of contributors who participated in this project.