Skip to content

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

Notifications You must be signed in to change notification settings

HUBioDataLab/DeepResponse

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%