-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
1 parent
7df8bc4
commit 559e460
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.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
hotnet2/* linguist-vendored |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |
Oops, something went wrong.