<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Affinity Prediction | Yassir Boulaamane</title><link>https://yboulaamane.github.io/tags/affinity-prediction/</link><atom:link href="https://yboulaamane.github.io/tags/affinity-prediction/index.xml" rel="self" type="application/rss+xml"/><description>Affinity Prediction</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sun, 02 Aug 2026 00:00:00 +0000</lastBuildDate><image><url>https://yboulaamane.github.io/media/icon_hu_4d696a8ace2a642b.png</url><title>Affinity Prediction</title><link>https://yboulaamane.github.io/tags/affinity-prediction/</link></image><item><title>BindingDB for Computational Drug Discovery: From Experimental Affinity Data to ML and Docking Benchmarks</title><link>https://yboulaamane.github.io/blog/bindingdb-for-computational-drug-discovery/</link><pubDate>Sun, 02 Aug 2026 00:00:00 +0000</pubDate><guid>https://yboulaamane.github.io/blog/bindingdb-for-computational-drug-discovery/</guid><description>&lt;p>BindingDB stores measured affinities. A docking score, a molecular-mechanics energy, and a computed free energy do not get a row. That is the point of the table for anyone training or testing a model: the label was measured in an assay.&lt;/p>
&lt;p>Michael Gilson&amp;rsquo;s first BindingDB webinar, &lt;em>A Massive, Publicly Accessible Knowledgebase of Protein–Ligand Binding Data&lt;/em> (27 February 2025), walks through how those rows are built and which computational jobs they can supervise [1]. The
follows the same compounds into PubChem. An earlier note on
is the map of the neighbours.&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/FaJ_eHTg41Y?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
&lt;/div>
&lt;h2 id="a-row-is-a-protein-a-ligand-and-a-number">A row is a protein, a ligand, and a number&lt;/h2>
&lt;p>A BindingDB record ties a protein to a small molecule and to an experimental affinity, usually a K&lt;sub>d&lt;/sub>, a K&lt;sub>i&lt;/sub>, an IC&lt;sub>50&lt;/sub>, or an EC&lt;sub>50&lt;/sub>, plus the assay, the article or patent, the structure, and the external identifiers [1], [2]. For a reversible complex, a lower K&lt;sub>d&lt;/sub> means the complex is populated at a lower free-ligand concentration. The other three endpoints are experimental potency readouts from their own assays. Putting them in one column mixes those assays. The modelling choice is to keep the endpoint, and the assay, attached to the value.&lt;/p>
&lt;h2 id="where-the-rows-come-from">Where the rows come from&lt;/h2>
&lt;p>The project began as a public collection of measured non-covalent binding, then narrowed to protein–small-molecule affinity because that is where the documents, and the drug-discovery use, concentrate. Early support came from NIST and the NSF, and later from the NIH [2].&lt;/p>
&lt;p>Gilson described the current pipeline in three streams: US patents, journal articles, and a checked subset of ChEMBL [1]. Most of BindingDB&amp;rsquo;s own curation is now patents. Tiqing Liu&amp;rsquo;s scripts pull structured records out of the patent files into XML, load a working database, and hand the rows to curators. At least two people inspect a record before it reaches the production database [1]. ChEMBL is imported only where the protein target is defined well enough for BindingDB&amp;rsquo;s criterion, and that subset is checked again before it is loaded [2]. ChEMBL&amp;rsquo;s literature curation and BindingDB&amp;rsquo;s patent curation are the reason the two collections overlap and still differ.&lt;/p>
&lt;p>Patents are why the table grew. A single patent can hold a long analogue series, the assay numbers, and compounds that never appear in a later paper. A target set built only from articles leaves that series out.&lt;/p>
&lt;h2 id="how-big-and-as-of-when">How big, and as of when&lt;/h2>
&lt;p>At the webinar, and in the 2024 paper behind it, BindingDB held 2.9 million measurements, 1.3 million compounds, and about 9,000 protein targets. About half of the measurements had been curated by BindingDB, and the rest had come in from ChEMBL. Of those 2.9 million rows, 2.4 million sit on human proteins [1], [2]. A few heavily studied targets carry a large share of the rows, so the count is a poor guide to coverage of a new target.&lt;/p>
&lt;p>The live collection has moved on. The BindingDB front page lists 3.2 million measurements, 1.4 million compounds, and 11.4 thousand targets, of which 1.6 million measurements were curated by BindingDB. The archived release of 1 July 2026 holds about 3.22 million measurements [4]. A methods section that says &amp;ldquo;BindingDB&amp;rdquo; without a date is describing a moving file.&lt;/p>
&lt;h2 id="patent-compounds-sit-later-in-a-series">Patent compounds sit later in a series&lt;/h2>
&lt;p>Gilson compared compounds curated from patents with compounds curated from articles. The patent set ran more potent, a little heavier, and a little more synthetically accessible on an RDKit score [1]. The 2024 paper quantifies the same comparison. For IC&lt;sub>50&lt;/sub>, K&lt;sub>i&lt;/sub>, and K&lt;sub>d&lt;/sub> combined, the patent distribution has a mode about ten-fold tighter than the article distribution. Molecular-weight modes sit near 450 Da for patents and near 400 Da for articles. On the RDKit synthetic-accessibility score (0–10, lower is easier; 2023.03 release), patent compounds score as slightly easier to make [2].&lt;/p>
&lt;p>That is what a mature analogue series looks like: potent, makeable, and a bit larger. A model trained on it has learned late-stage medicinal chemistry. A model trained on a diverse screening file has learned something else. The training chemical space should be named along with the algorithm.&lt;/p>
&lt;h2 id="one-experiment-can-arrive-five-times">One experiment can arrive five times&lt;/h2>
&lt;p>The same measurement can show up in the original patent, a follow-up patent, the paper, a review, and then again inside an imported ChEMBL record. ChEMBL may curate the primary article and also a review that repeats it, and both can travel downstream [1]. Experimental does not mean unique.&lt;/p>
&lt;p>For a learning split, that repetition is leakage. A copied row in the test set reports memory. The
is the same failure on a different table. Deduplication has to look at the compound, the target, the assay, the source document, and the scaffold neighbourhood, because each of those is a way for one experiment to meet itself.&lt;/p>
&lt;p>Stereochemistry needs the same pass. Curators keep the stereo the patent drew, written in the structure [1]. A large table still contains undefined stereocenters, duplicate isomers, and records that a canonicalisation step has glued together. Those checks belong with the deduplication, before the split.&lt;/p>
&lt;h2 id="what-you-can-take-away-and-under-which-licence">What you can take away, and under which licence&lt;/h2>
&lt;p>Search is by protein name, UniProt accession, structure, substructure, similarity, SMILES, PubMed identifier, patent identifier, author, and affinity range, and the advanced search combines them. Results and predefined subsets download on their own. Full dumps are available as SDF, TSV, and MySQL and Oracle dumps, and some target queries are exposed as web services, including retrieval by UniProt accession [1]. Downloads and search results now carry the publication date and the BindingDB curation date of each measurement, which is the pair of dates a training table should keep.&lt;/p>
&lt;p>Rows curated by BindingDB are shared under CC BY 4.0. Rows imported from ChEMBL remain under ChEMBL&amp;rsquo;s CC BY-SA 3.0 licence and are marked, so the two can be separated [2]. Gilson said the table can be used to train models, including for commercial work, and that the ChEMBL-derived rows are the subset whose licence has to be read before those rows are redistributed [1]. The licences above are the terms the project states. They are not a substitute for reading the current licence text before a release.&lt;/p>
&lt;h2 id="two-different-links-to-the-pdb">Two different links to the PDB&lt;/h2>
&lt;p>BindingDB matches its protein–ligand pairs against the PDB and publishes two sets [1], [2].&lt;/p>
&lt;p>PDB 100% requires a 100% protein-sequence match and the same ligand. In the 2024 paper that set held 10,126 structures. PDB 85% relaxes only the sequence cutoff, to 85% identity, and held 15,328 structures [2]. Both are linked from search results. The stricter set is the one that puts an experimental affinity on a complex of that protein and that ligand. The 85% set is a wider net, and a homologue is not the crystallised target.&lt;/p>
&lt;p>Either set changes the modelling object. A ligand plus an affinity is a number to fit. A structure, the bound ligand, and the affinity is a pose and a number to test.&lt;/p>
&lt;h2 id="validation-sets-are-series-with-a-crystal-structure">Validation sets are series with a crystal structure&lt;/h2>
&lt;p>BindingDB also publishes protein–ligand validation sets for parameterising and testing modelling code:
[3]. Each series is one protein, a congeneric set of ligands with measured affinities (the page describes them as roughly 10–50 compounds), and at least one PDB complex of a ligand in the series. The generation rule is an exact protein-and-ligand match to a PDB HET group, then other BindingDB ligands for that protein whose maximum common substructure covers at least 0.6 of the HET heavy atoms and whose Tanimoto similarity to the HET group is at least 0.6. Series of five ligands or fewer are dropped, and overlapping series on the same protein are merged. Protonation and tautomers are not assigned. The 3D files are free-ligand conformers from Vconf [3].&lt;/p>
&lt;p>The sets were regenerated in January 2020. The page states that a current set is unlikely to match any earlier set exactly, and the previous collection is archived separately [3]. &amp;ldquo;The BindingDB validation set&amp;rdquo; is not a fixed benchmark. Cite the regeneration, or the archived zip.&lt;/p>
&lt;p>A docking check on one of these series is short:&lt;/p>
&lt;ol>
&lt;li>Start from the solved complex.&lt;/li>
&lt;li>Remove the crystallographic ligand.&lt;/li>
&lt;li>Dock the other analogues in the series.&lt;/li>
&lt;li>Score the poses.&lt;/li>
&lt;li>Ask whether the scores recover the experimental affinity order.&lt;/li>
&lt;/ol>
&lt;p>The same files can test rescoring, a free-energy method, pose prediction, a QSAR model, or an affinity model. They cannot test a classifier that needs a large, experimentally inactive class. The series are actives, spread across a potency range.&lt;/p>
&lt;h2 id="an-empty-cell-is-an-untested-compound">An empty cell is an untested compound&lt;/h2>
&lt;p>Gilson was asked whether the table can benchmark docking by splitting actives from inactives. It can supply the actives, across a wide affinity range. It does not systematically store large sets of compounds shown not to bind [1]. Treating a missing row as inactive labels an untested compound. Where a screen did test thousands of compounds and record the failures, PubChem BioAssay is the more direct source.&lt;/p>
&lt;p>What the table does support, when the endpoint is kept intact and the copies are removed:&lt;/p>
&lt;ul>
&lt;li>regression of pK&lt;sub>d&lt;/sub>, pK&lt;sub>i&lt;/sub>, or pIC&lt;sub>50&lt;/sub>,&lt;/li>
&lt;li>ranking inside one series,&lt;/li>
&lt;li>activity cliffs,&lt;/li>
&lt;li>pretraining before a smaller target set,&lt;/li>
&lt;li>a target model where the ligand collection is actually large.&lt;/li>
&lt;/ul>
&lt;p>BindingDB also does not file compounds by mechanism. Type I and type II kinase inhibitors, allosteric and covalent ligands, agonists and antagonists are not systematic fields [1]. Those labels have to come from the paper, the patent, or another database. One table does not carry every annotation a model might want.&lt;/p>
&lt;p>A browser extension closes the gap between reading and downloading. On a paper it reads the DOI. On a patent it reads the patent identifier. When BindingDB has curated that document, the extension opens the records, the SDF, the TSV, linked PDB structures, and UniProt accessions [1]. The series does not have to be redrawn from the PDF.&lt;/p>
&lt;h2 id="write-down-the-release">Write down the release&lt;/h2>
&lt;p>The live site is not the archive. BindingDB deposits releases with the UC San Diego Library, stored independently of the website [1], [2]. The release of 1 July 2026 is the citable snapshot closest to the current front page: about 3.22 million experimental measurements, DOI
[4]. A reproducible training set names that release, or whichever release was actually downloaded, plus the selection and the preprocessing.&lt;/p>
&lt;p>For a new target the order is:&lt;/p>
&lt;ol>
&lt;li>Pull the affinity rows.&lt;/li>
&lt;li>Separate BindingDB-curated rows from ChEMBL-imported rows, and read the licence that applies.&lt;/li>
&lt;li>Standardise structures, including stereo.&lt;/li>
&lt;li>Remove duplicate measurements.&lt;/li>
&lt;li>Keep assay types and endpoints apart.&lt;/li>
&lt;li>Look at scaffolds before trusting a random split.&lt;/li>
&lt;li>Attach PDB complexes where the 100% set has them.&lt;/li>
&lt;li>Only then dock, fit a QSAR, train a model, or run a free-energy method.&lt;/li>
&lt;/ol>
&lt;p>Before that last step, the list worth inspecting is short: copied compounds, stereo, target mutations, mixed assays, mixed endpoints, scaffold clumping, and the same document on both sides of the split. Any of those can move the metric as much as the choice of model.&lt;/p>
&lt;p>The useful thing in the table is the supervision. Each row can be followed back to a structure, a protein, an assay, a document, and, when the match exists, a crystal structure.&lt;/p>
&lt;h2 id="references">References&lt;/h2>
&lt;ol>
&lt;li>Gilson MK. BindingDB: a massive, publicly accessible knowledgebase of protein–ligand binding data. BindingDB webinar, 27 February 2025. Recording:
.&lt;/li>
&lt;li>Liu T, et al. BindingDB in 2024: a FAIR knowledgebase of protein-small molecule binding data. &lt;em>Nucleic Acids Res&lt;/em> 2025;53:D1633–D1644. doi:
&lt;/li>
&lt;li>BindingDB. Validation sets for computational chemistry.
. Sets regenerated January 2020.&lt;/li>
&lt;li>Gilson MK, Liu T, Hwang L. BindingDB dataset, 1 July 2026. UC San Diego Library Digital Collections. doi:
&lt;/li>
&lt;/ol></description></item></channel></rss>