OlfactionAD: Expansive Linguistic Representations to Predict Interpretable Odor Mixture Discriminability
Model can be run to predict 21 olfactory percepts for any molecule using the dataset published in the Dream olfaction dataset (Keller et. al. Science, 2017) using dragons. You can train and then predict the same or different molecules that you have provided dragon features for.
Git clone a copy of code:
git clone https://github.com/jeriscience/OlfactionAD.git
- python (3.9.12)
- numpy (1.21.5). It comes pre-packaged in Anaconda.
- sklearn (1.0.2). It comes pre-packaged in Anaconda.
1. Preprocess datasets, including dragon chemoinformatic features, Bushdid, Snitz, and Ravia mixture datasets
- python process_dragon.py
- python train_percept_single_elastic.py
- python pred_percept_single_elastic.py
- python train_pred_mixture_lasso.py
- python pred_percept_single_elastic_max.py
- python train_pred_mixture_lasso_max.py
6. Investigate the relationship between number of features (alpha in Lasso) and predictive performance
- python train_pred_mixture_lasso_alpha.py