The strict selectivity of the blood-brain barrier (BBB) represents one of the most formidable challenges to successful central nervous system (CNS) drug delivery, preventing the diagnosis and treatment of CNS disorders. Computational methods to generate BBB permeable lead compounds in silico may be valuable tools in the CNS drug design pipeline. However, in real-world applications, BBB penetration alone is insufficient; rather, after transiting the BBB, molecules must perform some desired function – such as binding to a specific target or receptor in the brain – and must also be safe and non-toxic for use in human patients.
To discover small molecules that concurrently satisfy these constraints, we use multi‑objective generative AI to synthesize drug-like blood-brain-barrier permeable small molecules that also have high predicted binding affinity to a disease-relevant CNS target. Specifically, we computationally synthesize molecules with predicted bioactivity against dopamine receptor
We design a library of 26,581 novel and diverse small molecules containing hits with high predicted BBB permeability and favorable predicted safety and toxicity profiles, and that could readily be synthesized for experimental validation in the wet lab. We also validate top scoring molecules with molecular docking simulation against the
To install the code, please clone this repository with the following:
git clone git@github.com:ayushnoori/molecule-synthesis.git
cd molecule-synthesis
Create a virtual environment.
conda deactivate
pip install virtualenv
virtualenv synthesis_env
source synthesis_env/bin/activate
Install necessary packages specified in requirements.txt
.
pip install -r requirements.txt
To save the specific versions of each package required, run the following:
pip freeze > requirements-frozen.txt
To run the code, please install:
- The R programming language and statistical computing environment (as well as the RStudio integrated development environment).
- The Python programming language.
- The PyTorch open source machine learning framework for Python.
Individual dependencies are also specified in each script.
Activate the synthesis_env
virtual environment with the following:
source setup.sh
If desired, a Jupyter kernel can be created with the following:
source setup_jupyter.sh