a/README.md b/README.md
1
# HINT: Hierarchical Interaction Network for Clinical Trial Outcome Prediction
1
# HINT: Hierarchical Interaction Network for Clinical Trial Outcome Prediction
2
2
3
3
4
[![Python 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/release/python-370/)
4
[![Python 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/release/python-370/)
5
[![GitHub Repo stars](https://img.shields.io/github/stars/futianfan/clinical-trial-outcome-prediction)](https://github.com/futianfan/clinical-trial-outcome-prediction/stargazers)
5
[![GitHub Repo stars](https://img.shields.io/github/stars/futianfan/clinical-trial-outcome-prediction)](https://github.com/futianfan/clinical-trial-outcome-prediction/stargazers)
6
[![GitHub Repo stars](https://img.shields.io/github/forks/futianfan/clinical-trial-outcome-prediction)](https://github.com/futianfan/clinical-trial-outcome-prediction/network/members)
6
[![GitHub Repo stars](https://img.shields.io/github/forks/futianfan/clinical-trial-outcome-prediction)](https://github.com/futianfan/clinical-trial-outcome-prediction/network/members)
7
7
8
8
9
9
10
This repository hosts HINT, a deep learning based method for clinical trial outcome prediction. 
10
This repository hosts HINT, a deep learning based method for clinical trial outcome prediction. 
11
The repository can be mainly divided into three parts:
11
The repository can be mainly divided into three parts:
12
- [`benchmark`](https://github.com/futianfan/clinical-trial-outcome-prediction/tree/main/benchmark) describes the process of curating benchmark dataset named **Trial Outcome Prediction (TOP)** for clinical trial outcome prediction. 
12
- [`benchmark`](https://github.com/futianfan/clinical-trial-outcome-prediction/tree/main/benchmark) describes the process of curating benchmark dataset named **Trial Outcome Prediction (TOP)** for clinical trial outcome prediction. 
13
- [`HINT`](https://github.com/futianfan/clinical-trial-outcome-prediction/tree/main/HINT) is the Hierarchical Interaction Network, a deep learning based method. 
13
- [`HINT`](https://github.com/futianfan/clinical-trial-outcome-prediction/tree/main/HINT) is the Hierarchical Interaction Network, a deep learning based method. 
14
- [`data`](https://github.com/futianfan/clinical-trial-outcome-prediction/tree/main/data) stores processed data. 
14
- [`data`](https://github.com/futianfan/clinical-trial-outcome-prediction/tree/main/data) stores processed data. 
15
15
16
16
17
The following figure illustrates the pipeline of HINT. 
17
The following figure illustrates the pipeline of HINT. 
18
18
19
<p align="center"><img src="./HINT/hint.png" alt="logo" width="810px" /></p>
19
20
20
21
22
23
## Table Of Contents 
21
## Table Of Contents 
24
22
25
- [Installation](#installation)
23
- [Installation](#installation)
26
- [Benchmark Data](#benchmark) 
24
- [Benchmark Data](#benchmark) 
27
- [HINT: Learn and Inference](#hint) 
25
- [HINT: Learn and Inference](#hint) 
28
- [Tutorial (Jupyter Notebook)](#tutorial)
26
- [Tutorial (Jupyter Notebook)](#tutorial)
29
- [Contact](#contact) 
27
- [Contact](#contact) 
30
28
31
--- 
29
--- 
32
30
33
<a name="installation"></a>
31
<a name="installation"></a>
34
## ⚙️ Installation
32
## ⚙️ Installation
35
33
36
We build conda environment and uses `conda` or `pip` to install the required packages. See [`conda.yml`](https://github.com/futianfan/clinical-trial-outcome-prediction/blob/main/conda.yml) for all the packages. 
34
We build conda environment and uses `conda` or `pip` to install the required packages. See [`conda.yml`](https://github.com/futianfan/clinical-trial-outcome-prediction/blob/main/conda.yml) for all the packages. 
37
35
38
```bash
36
```bash
39
conda create -n predict_drug_clinical_trial python==3.7 
37
conda create -n predict_drug_clinical_trial python==3.7 
40
conda activate predict_drug_clinical_trial 
38
conda activate predict_drug_clinical_trial 
41
conda install -c rdkit rdkit  
39
conda install -c rdkit rdkit  
42
pip install tqdm scikit-learn 
40
pip install tqdm scikit-learn 
43
pip install torch
41
pip install torch
44
pip install seaborn 
42
pip install seaborn 
45
pip install icd10-cm
43
pip install icd10-cm
46
```
44
```
47
45
48
We use following command to activate conda environment. 
46
We use following command to activate conda environment. 
49
```bash
47
```bash
50
conda activate predict_drug_clinical_trial
48
conda activate predict_drug_clinical_trial
51
```
49
```
52
50
53
---
51
---
54
52
55
53
56
<a name="benchmark"></a>
54
<a name="benchmark"></a>
57
## 📊 Benchmark Data
55
## 📊 Benchmark Data
58
56
59
To standardize the clinical trial outcome prediction, we create a benchmark dataset for Trial Outcome Prediction named TOP, which incorporate rich data components about clinical trials, including drug, disease and protocol (eligibility criteria). 
57
To standardize the clinical trial outcome prediction, we create a benchmark dataset for Trial Outcome Prediction named TOP, which incorporate rich data components about clinical trials, including drug, disease and protocol (eligibility criteria). 
60
All the scripts are in the folder [`benchmark`](https://github.com/futianfan/clinical-trial-outcome-prediction/tree/main/benchmark). 
58
All the scripts are in the folder [`benchmark`](https://github.com/futianfan/clinical-trial-outcome-prediction/tree/main/benchmark). 
61
Please see [`benchmark/README.md`](https://github.com/futianfan/clinical-trial-outcome-prediction/blob/main/benchmark/README.md) for details. 
59
Please see [`benchmark/README.md`](https://github.com/futianfan/clinical-trial-outcome-prediction/blob/main/benchmark/README.md) for details. 
62
60
63
---
61
---
64
62
65
63
66
<a name="hint"></a>
64
<a name="hint"></a>
67
## 🤖 HINT: Learn and Inference 
65
## 🤖 HINT: Learn and Inference 
68
66
69
After processing the data, we learn the Hierarchical Interaction Network (HINT) on the following four tasks. The following figure illustrates the pipeline of HINT. All the scripts are available in the folder [`HINT`](https://github.com/futianfan/clinical-trial-outcome-prediction/blob/main/HINT). 
67
After processing the data, we learn the Hierarchical Interaction Network (HINT) on the following four tasks. The following figure illustrates the pipeline of HINT. All the scripts are available in the folder [`HINT`](https://github.com/futianfan/clinical-trial-outcome-prediction/blob/main/HINT). 
70
Please see [`HINT/README.md`](https://github.com/futianfan/clinical-trial-outcome-prediction/blob/main/HINT/README.md) for details. 
68
Please see [`HINT/README.md`](https://github.com/futianfan/clinical-trial-outcome-prediction/blob/main/HINT/README.md) for details. 
71
69
72
### Prediction results
70
### Prediction results
73
71
74
We add the prediction results in `./results` for all the three phases. 
72
We add the prediction results in `./results` for all the three phases. 
75
73
76
### Trained model
74
### Trained model
77
75
78
The trained HINT models for all the three phases are available in `./save_model`.  
76
The trained HINT models for all the three phases are available in `./save_model`.  
79
77
80
## 📚 Tutorial (jupyter notebook)
78
## 📚 Tutorial (jupyter notebook)
81
79
82
80
83
- `benchmark`: [`tutorial_benchmark.ipynb`](https://github.com/futianfan/clinical-trial-outcome-prediction/blob/main/benchmark/README.md) describes some key components of the data curation process. 
81
- `benchmark`: [`tutorial_benchmark.ipynb`](https://github.com/futianfan/clinical-trial-outcome-prediction/blob/main/benchmark/README.md) describes some key components of the data curation process. 
84
- `HINT`: [`tutorial_HINT.ipynb`](https://github.com/futianfan/clinical-trial-outcome-prediction/blob/main/HINT/README.md) is a tutorial to learn and evaluate HINT step by step. 
82
- `HINT`: [`tutorial_HINT.ipynb`](https://github.com/futianfan/clinical-trial-outcome-prediction/blob/main/HINT/README.md) is a tutorial to learn and evaluate HINT step by step. 
85
83
86
84
87
<a name="contact"></a>
85
<a name="contact"></a>
88
## 📞 Contact
86
## 📞 Contact
89
87
90
Please contact futianfan@gmail.com for help or submit an issue. This is a joint work with [Kexin Huang](https://www.kexinhuang.com/), [Cao(Danica) Xiao](https://sites.google.com/view/danicaxiao/), Lucas M. Glass and [Jimeng Sun](http://sunlab.org/). 
88
Please contact futianfan@gmail.com for help or submit an issue. This is a joint work with [Kexin Huang](https://www.kexinhuang.com/), [Cao(Danica) Xiao](https://sites.google.com/view/danicaxiao/), Lucas M. Glass and [Jimeng Sun](http://sunlab.org/). 
91
89
92
90
93
## Benchmark Usage Agreement
91
## Benchmark Usage Agreement
94
92
95
The benchmark dataset and code (including data collection and preprocessing, model construction, learning process, evaluation), referred as the Works, are publicly available for Non-Commercial Use only at https://github.com/futianfan/clinical-trial-outcome-prediction. Non-Commercial Use is defined as for academic research or other non-profit educational use which is: (1) not-for-profit; (2) not conducted or funded (unless such funding confers no commercial rights to the funding entity) by an entity engaged in the commercial use, application or exploitation of works similar to the Works; and (3) not intended to produce works for commercial use.
93
The benchmark dataset and code (including data collection and preprocessing, model construction, learning process, evaluation), referred as the Works, are publicly available for Non-Commercial Use only at https://github.com/futianfan/clinical-trial-outcome-prediction. Non-Commercial Use is defined as for academic research or other non-profit educational use which is: (1) not-for-profit; (2) not conducted or funded (unless such funding confers no commercial rights to the funding entity) by an entity engaged in the commercial use, application or exploitation of works similar to the Works; and (3) not intended to produce works for commercial use.
96
94
97
95
98
96
99
97
100
98
101
99
102
100
103
101
104
102
105
103
106
104
107
105
108
106
109
107
110
108