
# DeepTraCDR: Prediction Cancer Drug Response using multimodal deep learning with Transformers
<!-- 
## Abstract
<div align="justify">

</div> -->


<!-- ## Method
<img width="810" alt="image" src="https://github.com/akianfar/Deep-CBN/blob/main/assest/Artboard%202.jpg">
<img width="810" alt="image" src="https://github.com/akianfar/Deep-CBN/blob/main/assest/Artboard%203.jpg"> -->

### Requirements 

To run this project, you need to install the required dependencies first. Execute the following command in your terminal or command prompt:

```bash
pip install -r requirements.txt
```



## DeepTraCDR Model Overview

DeepTraCDR is a modular model consisting of **Common Modules** and **Experimental Modules**.

### Common Modules
- **Data**: Includes datasets for model training and evaluation:
  - **GDSC**: Contains `cell_drug.csv` (log IC50 matrix), `cell_drug_binary.csv` (binary matrix), `cell_exprs.csv` (gene expression), `drug_feature.csv` (drug fingerprints), `null_mask.csv` (null values), and `threshold.csv` (sensitivity threshold).
  - **CCLE**: Similar to GDSC with `cell_drug.csv`, `cell_drug_binary.csv`, `cell_exprs.csv`, and `drug_feature.csv`.
  - **PDX**: Includes `pdx_response.csv` (binary patient-drug matrix), `pdx_exprs.csv` (gene expression), `pdx_null_mask.csv` (null values), and `drug_feature.csv`.
  - **TCGA**: Contains `patient_drug_binary.csv` (binary matrix), `tcga_exprs.csv` (gene expression), `tcga_null_mask.csv` (null values), and `drug_feature.csv`.


### Experimental Modules
The experimental modules are organized into the following directories, each containing a `main.py` script to run the respective experiment:

- **`case_study`**: Contains scripts for case study experiments (e.g., `main_case_study.py`).
- **`Scenario1`**: Includes experiments for random clearing cross-validation (`Random`) and regression (`Regression`).
- **`Scenario2`**: Includes experiments for single row/column clearing (`new`) and targeted drug experiments (`Target`).
- **`Scenario3`**: Includes external validation experiments from in vitro to in vivo (`External`).

Each `main.py` script outputs true and predicted test data values after multiple cross-validations. The `utils.py` file supports performance analysis with metrics like AUC, AUPRC, ACC, F1, and MCC. The model is built using PyTorch with CUDA support.