Skip to content

Commit

Permalink
Upgraded to V2 + updated README.md.
Browse files Browse the repository at this point in the history
Updated to Angular8, refactored Vis component to separate out details+tables
Removed obsolete components, updated Search to use Elasticsearch
Standardised component, service and interface naming
Removed unused MDB for Angular files from Quick Start.
Updated component styling
  • Loading branch information
jderoberts committed Aug 19, 2019
1 parent 7df8bc4 commit 559e460
Show file tree
Hide file tree
Showing 28,151 changed files with 14,864 additions and 4,480,505 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
hotnet2/* linguist-vendored
72 changes: 58 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,65 @@
install git and configure user.name, user.email
clone repository
# Open Targets: Subnetworks
Systematic disease associated network detection and visualisation using the Open Targets platform.

install nvm, then node 9.7.1
![Homepage screenshot](/docs/OTN_home.png)

install anaconda2 (with gcloud-deb bz2 workaround - GCloud Debian lacks bz2 unzip
https://github.com/ContinuumIO/anaconda-issues/issues/8182)
## Motivation:
Understanding the network context of associations between genes and diseases is a critical aspect of drug target selection. Defining networks of genes associated with a given disease instead of isolated, individual genes increases confidence in the association, helps build a therapeutic hypothesis and allows the selection of the most effective drug targets.

install build-essential (includes gcc) and python-dev
install gfortran
## Technologies:
- Node.js (v.10.16.0)
- Angular (v.8.1.2)
- MDB for Angular (v.8.1.0)
- Elasticsearch (v.7.1.0)
- Python modules:
- Flask (v1.0.2)
- python-igraph (v0.7.1)
- opentargets (v3.1.0)
- chembl_webresource_client (v0.9.31)
- Node.js modules:
- D3 (v5.9.7)
- d3-tip (v0.9.1)
- Elasticsearch browser client (v.16.3.0)

pip install python-igraph opentargets chembl_webresource_client
![Application structure](/docs/application_structure.png)

npm install -g @angular/cli
## Application:
The Python application backend maps disease association scores onto networks of interacting proteins, then uses the HotNet2 heat diffusion algorithm to find subnetworks of interacting disease genes. These networks are displayed to the user through an Angular interface as interactive D3.js force-directed graphs, and are annotated with currently available drugs targeting the proteins discovered.

![Disease summary](/docs/disease_summary.png)

To set up a user account with the software to run the application:
install nvm, then node 9.7.1
install anaconda 2.7
pip install python-igraph opentargets chembl_webresource_client
npm install -g @angular/cli
![Subnetwork visualisation](/docs/subnetworks.png)

![Subnetwork drugs](/docs/subnetwork_drugs.png)

## Data Sources:
[Open Targets platform](https://www.opentargets.org/)
[Experimental Factor Ontology](https://www.ebi.ac.uk/efo/)
[STRING](https://string-db.org/)
[OmniPath](http://omnipathdb.org/)
[ChEMBL](https://www.ebi.ac.uk/chembl/)

## Setup:
To run the application using the webpack dev server:
1. Install dependencies (Node.js, Angular CLI etc.)
2. Clone the repository
3. Start dev server:
*`cd open-targets-networks/`
*`npm start &`
4. Start flask backend:
*`cd ../flask-api/`
*`python app.py &`
5. Open your browser at http://localhost:4200/

The application expects an Elasticsearch instance running at http://localhost:9200/ with an index titled 'efo'. Use the shell scripts included in the [efo-elastic-app/EFO-data](https://github.com/jderoberts/EFO-Elastic-app/tree/master/EFO-data) folder to create the index and populate it with the processed EFO data.

## Acknowledgements
My thanks to Jean-Marc Schwartz, Alex Gutteridge and the Open Targets team at GSK.

---
# Updates 2019 - V2
- Updated to Angular 8
- Switched from Http to HttpClient
- Standardised component, service and interface naming
- Refactored larger components - drugs table, node information split to their own components.
- Added Elasticsearch implementation from [efo-elastic-app](https://github.com/jderoberts/EFO-Elastic-app)
Loading

0 comments on commit 559e460

Please sign in to comment.