Methods for building layered graphs and running graph traversal algorithms for analyzing networks in genetics.
LayeredGraphAPI/LayeredGraph.py
contains an API for building a graph containing multiple types or "layers" of nodes (for example, genes and HPO terms). The
following graphs are all built using this API. For details on how the API works, refer to the README within the LayeredGraph subdirectory.
- Python - developed and tested using Python 3.6.2.
- Python packages - numpy, scipy, pronto, networkx
- Docker and Docker Compose
- Docker needs to have at least 4GB of RAM allocated to it from the host machine
- At minimum Docker needs 2 CPUs allocated to it
- At minimum DOcker needs 64GB of disk allocated to it
The first graph contains two layers: a phenotype layer and a gene layer. The intent of the graph is to provide a mechanism for obtaining genes that are closely related to a particular set of phenotypes. The graph is built using the full HPO database and weights are calculated between HPO nodes based on the number of shared gene associations. Phenotype-to-gene edges are built using a combination of HPO annotations and a scaling weight from PubTator.
The second graph contains a single layer for genes. The intent of the graph is to provide a mechanism for identifying genes that are interacting with a set of other genes. The graph is built using protein-protein interactions provided by ConsensusPathDB where the proteins have been translated into the corresponding human gene label. Gene-to-gene edge weights are calculated based on the maximum confidence provided by ConsensusPathDB for the particular relationship.
We offer an official demo server stood up at http://pyxis.hudsonalpha.org. This is an up-to-date instance of the latest release PyxisMap. This instance can be used to validate a local deployment of the application.
Assuming you have docker installed on your machine it's fairly simple to build and run the server within docker (IMPORTANT: Docker needs at least 4GB of memory allocated for building the images). Here are the instructions for a local build and deployment:
git clone /~https://github.com/HudsonAlpha/LayeredGraph.git
cd LayeredGraph/docker/application
./buildApplicationContainer.sh
cd ../fixtures
./buildFixturesContainer.sh
cd ../..
docker-compose up -d
Navigate to http://localhost:5000 to see the server running. More details are available on the Docker Deployment wiki page.
PyxisMap was developed by HudsonAlpha Institute for Biotechnology to simplify and improve the accuracy of ranking genes from phenotypic information. This License and Terms of Use outlines the terms and conditions under which User may use PyxisMap. By using PyxisMap, User acknowledges and agrees to be bound by This License and Terms of Use. PyxisMap may be used for non-commercial, research purposes only. Please refer to the 'About' section of the PyxisMap UI for information on the licence, or access it directly here.