Giter Site home page Giter Site logo

dnf's Introduction

Integrative pharmacogenomics to infer large-scale drug taxonomy

Please cite: Integrative Cancer Pharmacogenomics to Infer Large-Scale Drug Taxonomy. El-Hachem N, Gendoo DMA, Ghoraie LS, Safikhani Z, Smirnov P, Chung C, Deng K, Fang A, Birkwood E, Ho C, Isserlin R, Bader GD, Goldenberg A, Haibe-Kains B. Cancer Res. 2017 Jun 1;77(11):3057-3069. doi: 10.1158/0008-5472.CAN-17-0096. Epub 2017 Mar 17. PMID: 28314784

This project assess the utility of data integration from multiple drug information layers.

Hypothesis: Better characterization of compound mechanism of action (MoA) from integrative pharmacogenomics.

Impact: Identifying mechanism for compounds with unknown MoA in early stages of drug development without the need of sophisticated info (side effects or pharmacological indications...)

Based on the method described in

Similarity network fusion for aggregating data types on a genomic scale. Wang B, Mezlini AM, Demir F, Fiume M, Tu Z, Brudno M, Haibe-Kains B, Goldenberg A. Nat Methods. 2014 Mar;11(3):333-7. doi: 10.1038/nmeth.2810. Epub 2014 Jan 26. PMID: 24464287

Reproducibility of the Analysis

The following steps will reproduce the output files (figure, tables...) mentioned in the main manuscript. The script will be using data files such as:

Files to run the scripts

Run the R scripts

  • main-ctrpv-lincs.R and
  • main-nci60-lincs.R

(this will execute the following R codes):

# process the raw data, find common drugs...
preprocessInput.R 	

# remove problematic drugs and missing data
sensitivityData.R 	

# get the structural fingerprints (extended-connectivity descriptors from RCDK)
structureData.R 

# remove problematic drugs and missing data and find drug names from LINCS metadata
perturbationData.R 	

# Get the similarity matrix from structure (tanimoto metric)
constStructureLayer.R 	

# Get the similarity matrix from sensitivity (pearson metric), rescale to 0-1 with function in SNF
constSensitivityLayer.R	

# Get the similarity matrix from perturbation (pearson metric), rescale to 0-1 with SNF affinitymatrix
constPerturbationLayer.R

# Integrate all 3 layers using SNFtools
integrateStrctSensPert.R	

# ATC code gold standard benchmark from CHEMBL
ATCbench.R	

# Drug-target benchmarks from CHEMBL and CTRPv2
drugTargetBench.R	

# get the pairs of drugs sharing the same target (0 or 1)
generateDrugPairs.R	

# Compute concordance index between benchmark data and similarity network data
compConcordIndx.R	

# Get the p-value between concordance indices
predPerf.R	

# Generate ROC plots and AUC values
generateRocPlot.R	

# Community clustering from apcluster package in R
communityGen.R

# Network based on exemplar drugs from apcluster
main-network-generation.R	

Set up the software environment

A Docker Terminal Environment has been setup with all dependencies installed. Access it by installing Docker Engine and running the following lines of code:

#clone image
docker pull gosuzombie/dnf

#run image in interactive command line 
docker run -it gosuzombie/dnf

Alternatively, one can setup the Docker environment by using the provided Dockerfile. Instructions can be found here

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.