Python code for the following paper (partially adapted from https://github.com/fmfn/BayesianOptimization):
Ho Chung Leon Law, Peilin Zhao, Lucian Chan, Junzhou Huang, Dino Sejdinovic, Hyperparameter Learning via Distributional Transfer, NeurIPS 2019. https://arxiv.org/abs/1810.06305
To setup as a package, clone the repository and run
python setup.py develop
This package also requires TensorFlow (tested on v1.7.0) to be installed.
The directory is organised as follows:
- distBO: contains the main code
- experiment: contains the API code (train_test.py) and experimental configuration code to generate the cmd line
- protein: contains the pre-processed protein dataset
- parkinson: contains the pre-processed parkinsons dataset (https://archive.ics.uci.edu/ml/datasets/parkinsons)
The protein-ligand binding data are extracted from ChEMBL 25. Seven different targets (ADAM17, AKT1, BRAF, COX1, FXA, GR, VEGFR2) are selected. It is labelled as active (1) if the binding affinity is below the thresholds, else is labelled as inactive (0). The thresholds vary across different protein families (see below). MACCS keys fingerprint are used as the feature and the implemention in RDKits is used.
Activity Thresholds:
- Kinases: <= 30nM
- GPCRs: <= 100nM
- Nuclear Receptors: <= 100nM
- Ion Channels: <= 10μM