Health and life sciences
Machine learning for drug discovery
Machine learning in drug discovery predicts measured molecular properties such as solubility and toxicity, ranks compounds by predicted activity against a target, and proposes new molecules for chemists to test. Models learn from molecular fingerprints, descriptors or graphs of atoms and bonds.
How machine learning is used in drug discovery
Predicting molecular properties
Models predict measured properties such as solubility, toxicity or activity from a molecule's structure, so a team can rank compounds before making them. Random forests on molecular fingerprints remain a strong baseline, and graph neural networks learn directly from atoms and bonds.
Real exampleMoleculeNet benchmark (Wu et al., 2018)Curated multiple public molecular datasets, set evaluation metrics and released open-source implementations of featurisations and models as a standard benchmark for molecular machine learning.
Virtual screening of large compound libraries
A model trained on compounds already tested in the laboratory scores millions that have not been tested, and the top-ranked ones go back for testing. This turns an exhaustive screen into a short, ranked list.
Real exampleHalicin, MIT (2020)MIT researchers reported using a machine-learning model to identify a molecule they named halicin, which killed many species of pathogenic bacteria in laboratory experiments.
Generating new molecules
Generative models propose structures that score well on predicted activity, novelty and ease of synthesis. Chemists then choose a small number to make and test, and the measured results feed back into the model.
Real exampleGENTRL design of DDR1 inhibitors (Zhavoronkov et al., 2019)Used a generative model to design inhibitors of the kinase DDR1 in 21 days; the paper reports four compounds active in biochemical assays and two validated in cell-based assays.
Predicting how a molecule binds a protein
Docking predicts the pose a small molecule takes in a protein pocket, which helps explain activity and guide the next design. Deep learning methods learn this placement from known protein and ligand structures.
Real exampleDiffDock (Corso et al., 2022)Framed molecular docking as a generative modelling problem and built a diffusion model over ligand poses to predict how a small molecule binds a protein.
Can you learn machine learning for drug discovery?
Yes. Chemists, biologists and data scientists all move into this work, and no single degree is required. Learn Python and molecular data handling first, then statistics and classical models on fingerprints, then graph and generative deep learning, with enough medicinal chemistry to judge whether a prediction is worth testing.
- Python and molecular dataLoad assay tables, clean units and duplicates, and read molecules as SMILES strings with RDKit.Learn it in Python
- Statistics and evaluationLearn error bars, enrichment and why scaffold splits test a model on new chemical series rather than near-copies.Learn it in Statistics
- Classical models on fingerprintsTrain random forests and gradient boosting on fingerprints and descriptors, which are still the baseline every new model must beat.Learn it in Machine Learning
- Graph and generative deep learningMove to graph neural networks for property prediction and to generative models for proposing molecules.Learn it in Deep Learning
- Medicinal chemistry basicsLearn the discovery stages, common assay types and what makes a molecule synthesisable, from a textbook or a chemist on your team.
Moving into machine learning for drug discovery
If you already work in the field
Chemists and biologists already read structures, know how assays behave and can tell a promising series from a flat one. Add Python, RDKit and honest model evaluation, then build a property model on your own team's assay data and compare its ranking with what the chemists expected.
If you come from data science or ML
Data scientists need to learn how molecules are represented, how assays are run and why measurements from different laboratories rarely agree. Work through public benchmarks such as MoleculeNet, then pair with a medicinal chemist who can say which predictions would change a decision.
Roles that do this workCheminformatics scientistComputational chemistMachine learning scientist, drug discoveryComputational biologist
Tools you will use
| Tool | What you use it for |
|---|---|
| RDKit | Parse molecules, compute fingerprints and descriptors, and check chemical structures before modelling. |
| Chemprop | Train message-passing neural networks that predict molecular properties directly from SMILES strings. |
| DeepChem | Load molecular benchmarks, featurise compounds and train deep models for chemistry and biology. |
| PyTorch Geometric | Build custom graph neural networks over atoms and bonds. |
| scikit-learn | Fit random forest and linear baselines on fingerprints before trying neural models. |
Public data to practise on
- Therapeutics Data Commons (TDC): Curated ADME, toxicity and activity tasks with ready-made scaffold splits for comparing molecular models.
- ChEMBL: Bioactivity measurements of drug-like molecules against protein targets, for building target activity models.
Your first project
Download the AqSolDB solubility set from Therapeutics Data Commons, predict solubility with a random forest on RDKit Morgan fingerprints, and compare it with linear regression on molecular weight and logP using mean absolute error on a scaffold split.
Common questions
Do you need a chemistry degree to work on machine learning for drug discovery?
Not always. Teams hire machine learning specialists and teach them the chemistry, but you will be far more useful once you can read a structure, understand an assay and spot an unreliable measurement.
Which tools should you learn first?
Python, RDKit and scikit-learn cover most first projects, including fingerprints, descriptors and baseline models. Add Chemprop or PyTorch Geometric when you need graph neural networks.
Why do models that score well on benchmarks fail on new compounds?
Random splits place near-identical molecules in both training and test sets, which inflates the score. Scaffold or time-based splits give a more honest estimate of performance on a new chemical series.
How much data do you need to start?
A few thousand consistently measured compounds is enough for a useful baseline model. Consistency matters more than volume, so data from one assay and one protocol beats a larger mixture of sources.
Courses for these skills
- Practical Machine Learning in PythonLearn regression and representation comparisons.51 published lessons · more lessons in production
- Deep Learning with PyTorchBuild foundations for learned molecular features.Syllabus available · lessons open as produced
- Generative AI: LLMs, RAG and AgentsUnderstand generative objectives and evaluating generated candidates.Syllabus available · lessons open as produced
New to programming or maths? Start with Python, or follow the machine learning path in order. Published lessons are free to read; compare Free and Pro.