Coder Social home page Coder Social logo

burakcan-izmirli / deepresponse Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 3.0 343 KB

DeepResponse: Large Scale Prediction of Cancer Cell Line Drug Response with Deep Learning Based Pharmacogenomic Modelling

Python 100.00%
cancer-research convolutional-neural-networks deep-learning drug-response-prediction graph-neural-networks graph-transformer machine-learning multi-omics

deepresponse's Introduction

DeepResponse: Large Scale Prediction of Cancer Cell Line Drug Response with Deep Learning Based Pharmacogenomic Modelling

Codacy Badge Platform License

Abstract

Assessing the best treatment option for each patient is the main goal of precision medicine. Patients with the same diagnosis may display varying sensitivity to the applied treatment due to genetic heterogeneity, especially in cancers.

Here, we propose DeepResponse, a machine learning-based system that predicts drug responses (sensitivity) of cancer cells. DeepResponse employs multi-omics profiles of different cancer cell-lines obtained from large-scale screening projects, together with drugs’ molecular features at the input level, and processing them via hybrid convolutional and graph-transformer deep neural networks to learn the relationship between multi-omics features of the tumour and its sensitivity to the administered drug.

Both the performance results and in vitro validation experiments indicated DeepResponse successfully predicts drug sensitivity of cancer cells, and especially the multi-omics aspect benefited the learning process and yielded better performance compared to the state-of-the-art. DeepResponse can be used for early-stage discovery of new drug candidates and for repurposing the existing ones against resistant tumours.

Architecture

Architecture of DeepResponse

Figure 1. Hybrid deep convolutional and graph neural network (HDCGNN) architecture of DeepResponse. Multi-omic features of cell lines are processed via deep convolutional neural networks, whereas graph represented drug molecules are proessed by message passing networks containing transformer encoder layers.

Results

Table 1. Evaluation results (in terms of RMSE) of DeepResponse and other methods on the GDSC dataset (10-fold cross-validation). DeepResponse is the state-of-art compared to existing models on all split strategies.

Results of DeepResponse

Installation

  1. Miniforge is recommended for compatibility with Apple Silicon devices. For the other devices, you can install Anaconda or Miniconda.
  • Please check the prefix field in environment files and change it based on your installation type and directory.
  1. You need to download datasets here.
  • Do not change naming and folder structure. You should put the data folder at the same level as the src folder.

  • If you'd like to get ready-to-use datasets, you can only download data/processed folder. However, if you'd like to get raw data and create the dataset from scratch you need to download data/raw.

  1. Execute the following commands with the appropriate environment file for your operating system.

  2. You need to create a conda environment, all the related packages will be installed.

conda env create -f [apple_silicon_env.yml/linux_env.yml]

Execution

  1. It will create an environment as "deep-response", and you need to activate it.
conda activate deep-response
  1. You can run the model via the terminal:
python3 -m deep_response [--use_comet --data_source --evaluation_source --data_type --split_type --random_state --batch_size --epoch --learning_rate]

You can check the arguments and their default values:

python3 -m deep_response --help

An example of a running statement with all parameters:

python3 -m deep_response --use_comet True --data_source 'gdsc' --evaluation_source 'ccle' --data_type 'l1000' --split_type 'random' --random_state 28 --batch_size 64 --epoch 50 --learning_rate 0.01

Parameter Compliance Matrix

Data Source Evaluation Source Data Type Split Type
gdsc None [normal, l1000, pathway, pathway_reduced, digestive] [random, cell_stratified, drug_stratified, drug_cell_stratified]
gdsc ccle [normal, l1000] [cross_domain]
gdsc nci_60 [normal, l1000] [cross_domain]
gdsc ccle [normal, l1000] [cross_domain]
ccle None [normal, l1000] [random, cell_stratified, drug_stratified, drug_cell_stratified]
ccle nci_60 [normal, l1000] [cross_domain]
ccle gdsc [normal, l1000] [cross_domain]

Usage with Comet

You can run DeepResponse with Comet support.

In order to do that, you need to pass True as Comet variable.

python3 -m deep_response --use_comet True

You need to specify api_key, project_name and workspace. Recommended way is to create dev.env at the same level as .yml files and store these variables in there.

License

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

deepresponse's People

Contributors

burakcan-izmirli avatar tuncadogan avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

hubiodatalab

deepresponse's Issues

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.