P-NET, Biologically informed deep neural network for prostate cancer classification and discovery
view interactive network architecture
·
·
Biologically informed deep neural network for prostate cancer classification and discovery
To get a local copy up and running, follow these simple steps
- python 2.7, check environments.yml for list of needed packages
-
Clone the repo
git clone https://github.com/marakeby/pnet_prostate_paper.git
-
Create conda environment
conda env create --name pnet_env --file=environment.yml
-
Based on your use, you may need to download one or more of the following
a. Data files (needed to retrain models and generate figures). Extract the files under
_databasedirectory. If you like to store it somewhere else, you may need to set theDATA_PATHvariable inconfig_path.pyaccordingly.b. Log files (needed to regenerate paper figures). Extract the files under
_logsdirectory. If you like to store it somewhere else, you may need to set theLOG_PATHvariable inconfig_path.pyaccordingly.c. Plots files (a copy of the paper images). Extract the files under
_plotsdirectory. If you like to store it somewhere else, you may need to set thePLOTS_PATHvariable inconfig_path.pyaccordingly.
-
Activate the created conda environment
source activate pnet_env -
Add the current diretory to PYTHONPATH, e.g.
export PYTHONPATH=~/pnet_prostate_paper:$PYTHONPATH
-
To generate all paper figures, run
cd ./analysis python run_it_all.py -
To generate individual paper figure run the different files under the 'analysis' directory, e.g.
cd ./analysis python figure_1_d_auc_prc.pyFor
Figure3, make sure you runprepare_data.pybefore running other files -
To re-train a model from scratch run
cd ./train python run_me.pyThis will run an experiment 'pnet/onsplit_average_reg_10_tanh_large_testing' which trains a P-NET model on a training-testing data split of Armenia et al data set and compare it to a simple logistic regression model. The results of the experiment will be stored under
_logsin a directory with the same name as the experiment.
To run another experiment, you may uncomment one of the lines in the run_me.py to run the corresponding experiment. Note that some models especially cross validation experiments may be time consuming.
Distributed under the GPL-2.0 License License. See LICENSE for more information.
Haitham - @HMarakeby
Project Link: https://github.com/marakeby/pnet_prostate_paper
- Elmarakeby H, et al. "Biologically informed deep neural network for prostate cancer classification and discovery." Nature. Online September 22, 2021. DOI: 10.1038/s41586-021-03922-4
- Armenia, Joshua, et al. "The long tail of oncogenic drivers in prostate cancer." Nature genetics 50.5 (2018): 645-651.
- Robinson, Dan R., et al. "Integrative clinical genomics of metastatic cancer." Nature 548.7667 (2017): 297-303.
- Fraser, Michael, et al. "Genomic hallmarks of localized, non-indolent prostate cancer." Nature 541.7637 (2017): 359-364.
This work was supported in part by the Fund for Innovation in Cancer Informatics, Mark Foundation, Prostate Cancer Foundation, Movember, and the National Cancer Institute at the National Institutes of Health.