|
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 |
[](https://www.python.org/downloads/release/python-370/) |
4 |
[](https://www.python.org/downloads/release/python-370/)
|
5 |
[](https://github.com/futianfan/clinical-trial-outcome-prediction/stargazers) |
5 |
[](https://github.com/futianfan/clinical-trial-outcome-prediction/stargazers)
|
6 |
[](https://github.com/futianfan/clinical-trial-outcome-prediction/network/members) |
6 |
[](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 |
|