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
_database
directory. If you like to store it somewhere else, you may need to set theDATA_PATH
variable inconfig_path.py
accordingly.b. Log files (needed to regenerate paper figures). Extract the files under
_logs
directory. If you like to store it somewhere else, you may need to set theLOG_PATH
variable inconfig_path.py
accordingly.c. Plots files (a copy of the paper images). Extract the files under
_plots
directory. If you like to store it somewhere else, you may need to set thePLOTS_PATH
variable inconfig_path.py
accordingly.
-
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.py
For
Figure3
, make sure you runprepare_data.py
before running other files -
To re-train a model from scratch run
cd ./train python run_me.py
This 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
_logs
in 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.