ChEMBL database molecular pairs
From the PostgreSQL version of CHEMBL34 (ref. 4) (https://doi.org/10.6019/CHEMBL.database.34), we filtered the database for compounds with activities reported against a single protein, with either K i , K d , IC 50 or EC 50 as the activity type. To be considered a molecular pair, compounds had to have the same assay ID, the same target ID, the same activity type and the same reference document (publication) ID, in addition to having a parent–analogue relationship as defined in this work, meaning a C–H group replaced by C–OH, C–F, C–Cl, C–Br, C–CH 3 or an aromatic carbon replaced by a nitrogen. This left us with 191,732 parent–analogue pairs.
Analogue enumeration and synthesis
Eighteen parent compounds were selected from previously published literature51,59,60 or datasets (https://asapdiscovery.org/outputs/molecules/#ASAP-SARS-COV-2-NSP3-MAC1) based on their known binding activity, structural relevance or representation of diverse chemical scaffolds. Starting from a parent compound, we used RDKit (http://www.rdkit.org/) to identify all C–H bonds and iteratively replaced the hydrogen atom with a methyl, hydroxyl, fluoro, chloro or bromo group. We also identified aromatic carbons with two heavy-atom neighbours and replaced them with nitrogen. Every analogue generated was represented as a canonical isomeric SMILES string and added to a set to remove duplicates. For each of the 18 parents, the full set of possible analogues that could be synthesized for less than US$400 for 10 mg was ordered.
Confidence intervals and statistics
When reported, 95% confidence intervals were derived from bootstrap resampling with 10,000 iterations. In cases in which the observed frequency of success is exactly 0, bootstrap will fail to give an upper bound for the interval. In such cases, we used the Clopper–Pearson method to estimate an upper bound based on the sample size61. Pearson and Spearman correlations with their associated P values were computed using the scipy.stats module from the SciPy package62.
FEP simulations
These were conducted using FEP+ within the Schrödinger software suite (v2025-2) with the OPLS4 force field63 and the modified simple point charge water model. The default setting was used for the number of lambda windows selection where it depends on the type of perturbations; charge-changing, core hopping and all other perturbations have 24, 16, and 12 lambda windows, respectively. For alchemical transformations with charge changes, the total charge of the simulation box was kept constant by transmuting a Na+ or Cl− ion to water or vice versa. In addition, a 0.15 M concentration of NaCl was added to the simulation box of charge-changing perturbations. For α 2 A, CB2 and SERT, the FEP+ membrane protocol was applied where a POPC membrane was added to the system in simulation. All other settings were kept default except that the simulation time was extended from 5 ns to 10 ns.
The default FEP map generation protocol was used with the parent compound selected as the biased node. In preparing proteins and ligands for FEP+, the Schrödinger protein preparation workflow and LigPrep were used. The initial binding poses of parent compounds were from poses generated by DOCK3.8, and analogues were aligned to the parents with severe steric clashes resolved using the FEP+ Pose Builder workflow.
Docking
... continue reading