Git Product home page Git Product logo

layeredgraph's Introduction

PyxisMap

Methods for building layered graphs and running graph traversal algorithms for analyzing networks in genetics.

LayeredGraph API

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.

Software Requirements

  1. Python - developed and tested using Python 3.6.2.
  2. Python packages - numpy, scipy, pronto, networkx
  3. Docker and Docker Compose

Hardware Requirements

  1. Docker needs to have at least 4GB of RAM allocated to it from the host machine
  2. At minimum Docker needs 2 CPUs allocated to it
  3. At minimum DOcker needs 64GB of disk allocated to it

Pre-constructed Graphs

Human Phenotype Ontology (HPO)

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.

Protein-Protein Interaction (PPI)

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.

HPO Server

Official Demo Server

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.

Docker Quick-start

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.

License

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.

layeredgraph's People

Contributors

holtjma avatar haib-bwilk avatar

Watchers

Brandon M Wilk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.