# PODUAM

PODUAM is a free and open-source uncertainty-aware prediction model (UAM) 
to predict reproductive/developmental (rd) and general non-cancer (nc) points of departure (POD) 
with quantified uncertainty in the form of 95% confidence intervals.

## Structure
data
contains data for training and application chemicals
- data_pod_*.csv: training data sets derived from Aurisano et al. (2019) and de Vito et al. (2024) with curated and harmonized chemical structures (SMILES)
- data_marketed_chemicals.csv: set of 134,129 marketed chemicals used to demonstrate the application of the model derived by von Borries et al. (2023)
- data_tsne_market.csv: two-dimensional embedding of marketed chemicals (described with morgan fingerprints) created with t-SNE
- data_classyfire_*.csv: chemical classification derived with ClassyFire by Djoumbou et al. (2016)

features
contains feature calculations for training and application chemicals
- created with run_feature_calculation.py (training chemicals) and run_feature_calculation_for_application.py (application chemicals)

final_models
contains the final models for data pre-processing, prediction modeling and similarity calculations

manuscript
contains all code required to replicate figures and results presented in the manuscript, 
including cross-validation, performance assessment, development of conventional ML models for comparison
and model application to predict marketed chemicals

modules
contains several modules to define the UAMs and various support functions for curating and harmonizing
structures (structures.py), model training (training.py) and visualizing results (visuals.py)


## Installation guide

1. Create an environment with Python 3.11

conda create -n "poduam_env" python=3.11
conda activate poduam_env

3. Install all required packages and versions from requirements.txt

cd your\path\to\PODUAM
pip install -r requirements.txt

Note: Installation with pip is recommended as not all packages are available through conda

2. Add the file location of PODUAM to the PYTHONPATH of your environment

conda env config vars set PYTHONPATH=your\path\to\PODUAM
conda deactivate
conda activate poduam_env

Note: reactivating environment is necessary to make the change active

