Skip to main content
ACS AuthorChoice logoLink to ACS AuthorChoice
. 2024 Jun 7;64(12):4651–4660. doi: 10.1021/acs.jcim.4c00825

CENsible: Interpretable Insights into Small-Molecule Binding with Context Explanation Networks

Roshni Bhatt †,, David Ryan Koes , Jacob D Durrant ‡,*
PMCID: PMC11200255  PMID: 38847393

Abstract

graphic file with name ci4c00825_0006.jpg

We present a novel and interpretable approach for assessing small-molecule binding using context explanation networks. Given the specific structure of a protein/ligand complex, our CENsible scoring function uses a deep convolutional neural network to predict the contributions of precalculated terms to the overall binding affinity. We show that CENsible can effectively distinguish active vs inactive compounds for many systems. Its primary benefit over related machine-learning scoring functions, however, is that it retains interpretability, allowing researchers to identify the contribution of each precalculated term to the final affinity prediction, with implications for subsequent lead optimization.

Introduction

Structure-based computer-aided drug discovery (CADD) leverages computer algorithms to design and discover new drug candidates, with the twin goals of accelerating early stage drug design and reducing costs. Among CADD techniques, molecular docking is particularly popular. First, a docking program predicts how small-molecule ligands (e.g., candidate drugs) position themselves within a protein target’s binding pocket (the 3D geometry of binding, or “binding pose”). Second, a docking scoring function maps those binding geometries to scores correlating with efficacy (e.g., binding affinity). Researchers then submit the top-scoring compounds for experimental validation. Computer docking has a demonstrated history of success in both academic and industrial settings.1,2

Neural networks have emerged as a promising method for affinity prediction,316 but their predictions often lack interpretability, meaning that one cannot easily determine how they arrive at their conclusions. Poor interpretability complicates subsequent lead optimization. For example, neural network scoring functions do not typically indicate which atoms or functional groups contribute most to the overall binding affinity, insight that medicinal chemists could otherwise leverage to improve binding strength and specificity.

We present a novel, interpretable approach for assessing small-molecule binding using context explanation networks (CENs).17 Our CENsible scoring function uses deep neural networks to predict the contributions of precalculated physicochemical terms to a given binding affinity rather than directly predicting the affinity itself. In a sense, CENsible is similar to many traditional scoring functions, which predict binding affinities by summing the products of (1) calculated terms (e.g., hydrophobic and steric contributions to binding) and (2) fitted weights (coefficients). However, the CEN-derived weights are not the same for every protein/ligand complex. Instead, CENsible predicts the appropriate weights to apply to the calculated terms based on the specific structure of the protein/ligand complex. CENsible thus leverages the power of machine learning to predict affinity while retaining interpretability; one can easily identify the contribution of each precalculated term to the final prediction.

Users can download the CENsible source code free of charge without registration from https://durrantlab.com/censible/, under the terms of the GNU GPL license. The same site links to a helpful Google Colab.

Results

Beyond predicting binding affinities, our CEN approach indicates the importance of different contributions to those affinities. For each example (e) of a protein/ligand complex cataloged in the PDBbind 2020 database,1822 we used smina to precalculate a vector of scaled physicochemical terms, te. We then trained a model with 8,269,024 fitted parameters (Figure S1) to learn from voxelized representations of the same complexes how to predict a vector of 144 weights, we, specific to each protein/ligand complex, such that the linear combination of these two vectors, we·te, approximates the corresponding experimentally measured binding affinity.

Scoring Function Accuracy

Our primary goal was to develop an interpretable machine-learning scoring function, but to have confidence in any such interpretation, the scoring function must also be reasonably effective at predicting binding affinity. To assess the accuracy and consistency of the CEN approach, we performed clustered 3-fold cross-validation using 15,895 examples of protein/ligand complexes present in the PDBbind 2020 database. We found that the CEN model effectively predicts binding affinities, with an average testing-set Pearson’s correlation coefficient of 0.5360 (Table 1). The accuracy of the model was fairly consistent regardless of the training/testing split used (i.e., the standard deviation was small), suggesting that (1) accuracy is more a product of learned affinity prediction than the specific data split and (2) the CEN models generalize to new protein classes. Similar analyses showed that the CEN approach performs well relative to several other scoring functions at assessing crystallographic poses (Tables S1–S3) and that our training protocol does not lead to severe overfitting (Figure S2).

Table 1. Pearson’s Coefficients Across Three Test Splits, Calculated via a Linear Fit between Known and Predicted Affinities.

split 1 test split 2 test split 3 test mean ± STD
0.5661 0.5543 0.4876 0.5360 ± 0.0423

Having shown that the three CENs have comparable accuracy regardless of the training/testing split chosen, we trained the final production model on all the PDBbind 2020 data (19,443 entries). We call this final production model the CENsible scoring function. The output vector of this scoring function includes 144 weights to be applied to 144 precalculated terms (Supporting Information 1). All subsequent analyses leveraged this production model.

The training data were split into thirds; for each fold, we trained a CEN model on two-thirds of the data and tested on the remaining third (top row). See Figure S3 for a graph showing how Pearson’s coefficients improved per epoch of training, as well as a scatter plot of experimentally measured vs predicted affinities.

CENsible Tailors Scoring-Function Weights to Specific Targets

We hypothesized that if CENsible had truly learned to tailor scoring-function weights to binding-pocket properties, similar proteins should have similar predicted weight vectors (we). To test this hypothesis, we identified SCOP families23 that were well represented among PDBbind 20201822 structures. Proteins belonging to the same SCOP family likely have similar binding pockets because, by definition, they must have at least 30% sequence identity, or some sequence identity in the context of very similar function.23

To assess whether proteins of the same family have similar CENsible-predicted we vectors, we projected the we vectors of 916 SCOP-classified PDBbind structures onto a two-dimensional space using the t-distributed stochastic neighbor embedding (t-SNE) method.24 We separately colored the structures belonging to well-represented SCOP families to highlight their distribution in this space.

Most of the SCOP families examined had predicted weights that were generally adjacent to each other in single “islands” in t-SNE space, including (1) protein kinases catalytic domain-like, (2) retroviral protease (retropepsin), (3) phosphate binding protein-like, (4) SH3-domain, (5) purine and uridine phosphorylases, and (6) fatty acid binding protein-like (Figure 1). This suggests that CENsible was fairly consistent in its weight predictions when assessing protein/ligand complexes from these families.

Figure 1.

Figure 1

CENsible-predicted term weights (we) projected onto a 2D t-SNE space, colored by the SCOP family label. The most-represented SCOP labels are colored with opaque markers; the remaining labels are colored with transparent markers. The top-five most represented SCOP families are shown in the left panel, and the next five are shown in the right panel. Family names are given above each panel, with the number of examples in parentheses.

The predicted weights of four SCOP families were arguably more dispersed: (1) class A (rhodopsin) G protein-coupled receptor-like, (2) nuclear receptor ligand-binding domain, (3) beta-lactamase/d-ala carboxypeptidase, and (4) pepsin-like (Figure 1). These examples tended to congregate in multiple islands within the t-SNE space rather than one. Though it is possible that CENsible has simply not learned to predict consistent we vectors for these families, we note that it is also possible for similar vectors to be distant when projected onto t-SNE space in some cases.

These results suggest that CENsible generally produces customized and unique sets of weights for each protein/ligand complex based on the unique features learned from the voxelized representations of the complex. Similar protein/ligand complexes tend to have similar (albeit not identical) weights, and different protein/ligand complexes tend to have different weights.

CENsible and Smina Capture Similar Physicochemical Contributions to Binding

To further assess whether CENsible had learned true principles of binding, we compared it to the more established smina scoring function, which does not leverage machine learning. Because CENsible and smina presumably model the same underlying physical reality, we hypothesized that they would predict affinity via similar principles (e.g., if smina judges that hydrophobic interactions contribute substantially to a given ligand’s affinity, CENsible should make the same general assessment).

Smina considers six physicochemical terms: a hydrogen-bond term, non_dir_h_bond(g = −0.7,_b = 0,_c = 8); a hydrophobic term, hydrophobic(g = 0.5,_b = 1.5,_c = 8); two steric terms, gauss(o = 0,_w = 0.5,_c = 8) and gauss(o = 3,_w = 2,_c = 8); a repulsion term, repulsion(o = 0,_c = 8); and a term that considers the number of rotatable ligand bonds, num_tors_div. It scales these terms by a single set of weights applicable to all protein/ligand complexes, derived by fitting to a diverse set of such complexes. Any term’s contribution to smina’s final affinity score is the product of the physicochemical term value and its associated weight.

Although CENsible incorporates a much larger set of 144 physicochemical terms, a given term’s contribution to the overall CENsible score is calculated similarly: the product of the physicochemical term value and its associated weight. However, CENsible calculates weights specific to each protein/ligand complex.

Five of smina’s terms are among the 144 that CENsible considers, so we focused on these for comparison. We first considered the hydrogen-bond term that smina and CENsible share, non_dir_h_bond(g = −0.7,_b = 0,_c = 8). We calculated this term for the ∼19,000 protein/ligand complexes of the PDBBind database. For each complex, we multiplied the term by the appropriate smina weight (same value for all complexes) to determine its contribution to the final smina score. We similarly calculated the contributions to the respective CENsible scores by multiplying each physicochemical term by the complex-specific CENsible weight (different for each complex). The correlation (R2) between these contributions was 0.6905 (Figure 2A). Given that CENsible by design differs from smina, in that it tailors weights to each protein/ligand complex, we do not expect too strong a correlation between the two. Yet the fact that there is some correlation provides evidence that CENsible and smina capture similar underlying physical principles of binding.

Figure 2.

Figure 2

Correlations between smina and CENsible scoring contributions for shared physicochemical terms across ∼19,000 PDBBind protein–ligand complexes. (A) Hydrogen-bond term. (B) Hydrophobic term. (C) Hydrophobic term when the contributions of the num_hydrophobic_atoms term are additionally incorporated into the CENsible scores. All panels show linear regression lines that pass through the origin.

We next considered the hydrophobic term that smina and CENsible share, hydrophobic(g = 0.5,_b = 1.5,_c = 8). Here, too, the correlation between the contributions to the final smina and CENsible scores was high (R2 = 0.8317; Figure 2B), suggesting that both scoring functions capture the influence of this vital interaction, albeit not identically. CENsible also considers another term that likely correlates with hydrophobic interactions, num_hydrophobic_atoms. When we included this term in the hydrophobic contribution to the CENsible score, the correlation improved to 0.9202 (Figure 2C).

These results suggest that CENsible and smina have both learned similar principles of ligand binding. That said, CENsible can adapt those principles to the specific protein/ligand complex, perhaps explaining its improved accuracy over smina (Table S1). The Supporting Information describes similar comparative analyses applied to the steric and repulsion terms that smina and CENsible share (Figure S4).

Virtual Screening Performance

To assess whether CENsible’s learned principles of ligand binding apply to docked poses, we applied the new scoring function to three benchmark virtual screens targeting Homo sapiens pancreatic glucokinase, influenza neuraminidase, and Trypanosoma brucei methionyl-tRNA synthetase, respectively. In the cases of H. sapiens pancreatic glucokinase and influenza neuraminidase, we used known actives and decoy compounds (presumed inactives) cataloged in the DUD-E database.25 In the case of T. brucei methionyl-tRNA synthetase, we used a compound library of known active and inactive compounds identified via PubChem.26

We used smina(27) to dock the active and inactive/decoy molecules associated with each protein into the respective active sites and rescored the smina-docked poses using our CENsible scoring function. We selected these screens because CENsible effectively prioritized known ligands over other compounds, suggesting that it had adequately learned binding principles for these proteins (Figure 3).

Figure 3.

Figure 3

ROC curves associated with the smina (blue) and CENsible-rescored (red) virtual screens. The area under each curve is labeled as AUROC. The line of no-discrimination (dotted black line), corresponding to a purely random classifier, is shown for reference.

To evaluate the performance of each scoring function, we calculated the area under the receiver operating characteristic (ROC) curves (AUROC). We selected AUROC because it describes predictivity from the best-ranked compound to the worst and is insensitive to imbalanced data. We reason that if CENsible has learned general principles of ligand binding, it should be able to assess binding across a wide range of affinities.

Although our primary goal is interpretability, it is encouraging that, at least for some systems, CENsible can effectively rank docked poses, even though it was trained on crystallographic poses. The performance of the neuraminidase screens was particularly noteworthy (AUROC 0.8846).

Neuraminidase: An Example of Interpretability

Because CENsible predicts weights to apply to precalculated terms rather than affinity directly, it offers valuable insights into molecular recognition that can guide subsequent lead optimization. For example, suppose a binding pocket contains a notable hydrophobic subpocket. Ligands with hydrophobic moieties positioned in that subpocket should have better scores than other compounds, and a scoring function that emphasizes hydrophobic contacts may better prioritize such molecules. In such a case, the CENsible-predicted weights on hydrophobic terms should ideally be higher, indicating that medicinal chemists should further consider hydrophobicity during lead optimization.

To provide a concrete illustration, we compared the weights predicted for the neuraminidase-docked compounds to those predicted for all PDBbind complexes in our training/testing sets. For reference, we first calculated the average predicted weights across the whole PDBbind data set, with standard deviations (Supporting Information 2). We then calculated the average weights across all neuraminidase-docked compounds. Finally, we calculated a z-score for each averaged neuraminidase weight with regard to the PDBbind reference.

Several neuraminidase weights with sizable z-scores suggest receptor-specific compound-optimization strategies. For example, many neuraminidase inhibitors (e.g., oseltamivir; Figure 4) have carboxylate groups that form electrostatic and hydrogen-bond interactions with ARG292, ARG371, and ARG118 (2HU4 numbering28). Indeed, CENsible tended to weigh electrostatics more heavily (Table 2). Many neuraminidase inhibitors also have moieties that bind in a hydrophobic subpocket lined in part by ILE222 (e.g., oseltamivir’s pentan-3-yloxy moiety; Figure 4). CENsible also tended to weigh the number of hydrophobic atoms more heavily when predicting neuraminidase inhibitors, perhaps to benefit compounds that could take advantage of this subpocket. This analysis suggests any ligand-optimization strategy should enhance (or at least preserve) these critical electrostatic and hydrophobic interactions.

Figure 4.

Figure 4

Interactions between influenza neuraminidase and the small-molecule ligand oseltamivir (PDB 2HU4), calculated using Schrödinger’s Ligand Interaction Diagram tool in Maestro.

Table 2. Select Precalculated Terms Whose Associated Averaged Predicted Neuraminidase Weights Differ Substantially from Those of the Entire PDBbind Set.

precalculated term NA weighta PDBbind weightb z-score |
electrostatic(i = 1, ∧ = 100, c = 8)c –7.52 –5.15 ± 1.72 1.38
electrostatic(i = 2, ∧ = 100, c = 8)c –1.68 –1.27 ± 0.43 0.96
num_hydrophobic_atomsd 7.10 5.84 ± 1.42 0.88
a

“NA weight” indicates the average CEN-predicted weight across all neuraminidase-screen evaluations.

b

“PDBbind weight” indicates the average weight (±standard deviation) across all PDBbind complexes used for training and testing.

c

The two electrostatic terms are calculated by considering all pairs of atoms within 8 Å of each other. The partial charges of each atom are multiplied and then divided by either the distance (i = 1) or the distance squared (i = 2), with each pair’s value capped at 100. The final value is calculated by summing over all atom pairs. Negative electrostatic values are more energetically favorable, so more negative electrostatic weights translate to larger (better) CENsible scores.

d

The num_hydrophobic_atoms precalculated term is a simple count of the hydrophobic atoms present in the ligand. It is always positive, so more positive weights translate to better CENsible scores.

Visualizing the Per-Atom Contributions of the Gaussian Steric Terms

Of the 144 precalculated terms that CENsible considers, 123 are pairwise steric (atom_type_gaussian) terms. In brief, for each pair of receptor/ligand atoms within 8 Å of each other, one calculates the (1) interatomic distance, d, and (2) the “optimal distance,” d0 (i.e., the summed radii of the two atoms). The final value, g, is assigned to that pair according to the formula

graphic file with name ci4c00825_m001.jpg

For each combination of receptor/ligand atom types, the final atom_type_gaussian term is calculated by summing the associated atom-pair g values.

Because these terms are among those directly attributable to specific pairs of receptor/ligand atoms, it is possible to visualize the impact of each atom on each of CENsible’s atom_type_gaussian-associated contributions. We calculate the g value for each pair, scale that value by the same factor CENsible applies to the corresponding precalculated term, and multiply by the associated CENsible-predicted weight. Finally, we assign half of this g value to the receptor atom and half to the ligand atom. Where a single atom contributes to multiple atom-type pairs, the associated values are summed.

We applied this analysis to the same neuraminidase example above. The most beneficial contribution was associated with the NitrogenXSDonor-OxygenXSAcceptor atom_type_gaussian term, which contributed +1.05 to CENsible’s final score of 7.45. As shown in Figure 5A, this term captures the same electrostatic interactions seen above (i.e., interactions between the oseltamivir carboxylate group and ARG292, ARG371, and ARG118, as well as interactions between the oseltamivir amine and ASP151 and GLU119), further boosting the influence of electrostatics on the final score (see Table 2).

Figure 5.

Figure 5

Illustration of the interactions between neuraminidase and oseltamivir. Panel (A) shows the contributions of beneficial protein/ligand contacts that participate in the NitrogenXSDonor-OxygenXSAcceptor atom_type_gaussian term. Panel (B) shows the contributions of detrimental contacts associated with the AliphaticCarbonXSHydrophobe-OxygenXSDonorAcceptor term. To simplify the presentation, we highlight only receptor atoms that come within 4 Å of the ligand. We further highlight only those receptor/ligand atoms that contribute more than +0.025 or less than −0.025 to the final CENsible score. Colors range from red to white to blue over the numerical range −0.15 to 0.0 to +0.15. Values outside that range were set to the nearest range boundary.

The AliphaticCarbonXSHydrophobe-OxygenXSDonorAcceptor atom_type_gaussian term had the most detrimental impact, decreasing CENsible’s final score by −0.507. Biochemically, it makes sense that this term would have a negative effect, as the juxtaposition of hydrophobic carbon atoms and hydrophilic hydrogen-bond donor/acceptor groups is typically unfavorable. Notably, the SER246 hydroxyl group is near oseltamivir’s pentan-3-yloxy moiety, and the TYR406 hydroxyl group is near its central carbon ring (Figure 5B). Additionally, SER179 is near an oseltamivir methyl group. These findings suggest that modifying oseltamivir to better form hydrogen bonds with these residues could enhance affinity.

Discussion

We present a novel approach for assessing protein/ligand binding using a CEN. Like other machine-learning approaches, our method has learned principles of ligand binding. However, our model is far more interpretable and so can help guide subsequent lead optimization. To our knowledge, this study describes the first time CENs have been applied to protein/ligand scoring.

While CENsible is impressively accurate at predicting binding affinities for some systems (e.g., neuraminidase, Figure 3), its primary value lies in the interpretability it provides via its predicted weights (Table 2 and Figure 5). Predicting which weights to apply to the precalculated physicochemical terms is not merely a means to an accurate-affinity-prediction end; rather, the weights themselves—and the interpretability they enable—are the end goal. From our perspective, reasonably accurate affinity prediction is important only in that it gives us confidence in those interpretable weights.

Users who wish to use CENsible primarily for affinity prediction rather than interpretability should be wary of several factors that can impact those predictions. First, CENsible affinity predictions depend on the accuracy of the underlying (docked) poses (Figure S5); CENsible is less likely to accurately predict affinities if given incorrect poses. Second, even if the underlying poses are accurate, CENsible is not suited to every system (Figure S6). As others have noted, the same is true of any docking scoring function.15,18,2931 For those systems where CENsible cannot reasonably predict affinity, we do not recommend further using it to gain interpretable insights into binding.

Third, even when CENsible’s accuracy against a given target is sufficient to inspire confidence in its predicted weights, it may not be the best scoring function for the specific task of affinity prediction. For example, rescoring the smina-docked poses from the glucokinase and methionyl-tRNA synthetase screens with the gnina default scoring function gave ROCAUC values of 0.8120 and 0.7225, higher than those obtained when rescoring with CENsible (0.6732 and 0.6505). In contrast, CENsible performed somewhat better than gnina default on the neuraminidase screen (0.8646 vs 0.8126). Per the top-compound enrichment-factor metric (i.e., the extent to which the top-ranking compounds are enriched with true binders), even smina outperforms CENsible in some cases, though in others, CENsible is the clear winner (e.g., the glucokinase and neuraminidase screens; Figure S7). Regardless, CENsible’s primary advantage lies in its ability to provide interpretable output tailored to a specific protein/ligand complex.

We also recommend some caution when visualizing the per-atom contributions of the Gaussian steric terms (Figure 5). While this visualization can provide interpretable information to guide subsequent lead optimization, it may omit some relevant contributions to binding because CENsible relies in part on overlapping precalculated terms. For example, when scoring potential neuraminidase ligands, CENsible predicted a relatively large weight for the num_hydrophobic_atoms term (Table 2), a term that depends only on ligand atoms. However, several atom_type_gaussian precalculated terms also capture hydrophobicity (e.g., the AliphaticCarbonXSHydrophobe-AliphaticCarbonXSHydrophobe term). Other types of interactions are similarly associated with overlapping, though not identical, terms. Using the atom_type_gaussian terms alone to assess the importance of such interactions is thus ill-advised, given that much of their contribution could reside in other terms. Indeed, the summed contribution of all atom_type_gaussian terms to a final CENsible score is often only a fraction of the total (e.g., 1.06/7.45 for the neuraminidase/oseltamivir complex).

These limitations aside, we are hopeful that CENsible will be a useful tool for the CADD community. We release it under the GNU GPL license. The software is available for download from https://durrantlab.com/censible/ free of charge, without registration, and is designed to run on Linux-like operating systems. It requires Python3 (tested on version 3.9.16), the obabel (Open Babel) executable to process user-provided protein and small-molecule structures (e.g., to remove water molecules, protonate at pH 7, etc.), and the smina executable to calculate precalculated terms for each protein/ligand complex. The git repository includes a helpful README.md file with installation and usage instructions. To encourage broad adoption, we also provide a Google Colab, accessible via https://durrantlab.com/censible/ (Supporting Information 3).

Online Methods

Data Used for Training and Testing

We downloaded data for training and testing from the PDBbind 2020 database,1822 which includes 19,443 crystal structures of protein/ligand complexes taken from the Protein Data Bank with associated experimentally measured binding affinities. We applied several criteria to process this data set. First, we retained all entries with precisely and approximately defined binding affinities (denoted with “=” and “∼”, respectively). Second, we removed entries with binding affinities measured only as being weaker than a given value (denoted with “>”), judging these to be ambiguously defined. Third, we similarly discarded entries measured only as being stronger than a given value (denoted with “<”) if the associated value was greater than 1 μM; otherwise, these entries were retained. After applying these filters, 19,193 entries remained.

We used a clustered 3-fold cross-validation scheme to split this data into training and testing sets. We downloaded the Protein Data Bank’s weekly clustering of protein sequences (30% sequence identity)3234 on October 3, 2023. To avoid ambiguity, we removed any multichain PDBbind structures belonging to two or more clusters, such that 15,895 PDBbind entries remained. We divided these data into three independent portions, ensuring that entries belonging to the same cluster were always assigned to the same portion. Finally, we trained three different models on two portions, withholding the third as an independent testing set in each case.

Data Preparation for Training

We standardized all PDBbind protein/ligand structures before training. We removed water molecules and used Open Babel35 to add protein and ligand hydrogen atoms appropriate for pH 7. We then voxelized each protein/ligand complex using the libmolgrid(36) python package with default parameters (e.g., resolution of 0.5 Å, 48 × 48 × 48 grid points, 28 atom types; Supporting Information 4). Voxelization converts a continuous 3D space (e.g., the Cartesian coordinates of atomic positions) into a discrete 3D grid well suited as input data for machine-learning models such as convolutional neural networks.

For each PDBbind entry, we also precalculated 348 physicochemical terms using the smina executable,27 based on the structure of each protein/ligand complex (Supporting Information 1). These included terms used in the AutoDock 437 and AutoDock Vina38 scoring functions, terms specific to the smina scoring function,27 counts and whole-ligand features (e.g., ligand length and number of ligand heavy atoms), and a set of 325 steric terms that describe interactions between atoms of specific types (e.g., AliphaticCarbonXSNonHydrophobe vs OxygenXSAcceptor; smina keyword atom_type_gaussian). Many of these 325 steric terms were frequently zero; we discarded any that were nonzero in less than 1% of the examples used for training and testing. See Supporting Information 1 for a complete list of the terms retained in the final scoring function.

The precalculated terms had different units and ranges, which could introduce bias into our model. To ensure that all terms were of comparable magnitude, we normalized the data by scaling all terms (i.e., those associated with both training and testing sets)

graphic file with name ci4c00825_m002.jpg

where te is the scaled term associated with a given protein/ligand example, e; t0,e is the original unscaled term; and T is the total number of examples across the training and testing sets. This approach ensured that all terms fell within the range −1 to 1 without changing the sign of any term, which is sometimes physically meaningful.

Model Training

The CEN scoring functions in the present work use the same deep convolutional neural network architecture as gnina’s default2018 scoring function,14,39,40 except instead of predicting a single value (binding affinity), they predict a vector of weights (Figure S1). For discussion’s sake, we use we to refer to the output weight vector associated with a given protein/ligand example, e. These weights serve as coefficients on the scaled precalculated terms (te), such that we·te approximates the corresponding experimentally measured binding affinity (i.e., pIC50, pKd, and pKi values derived from the PDBbind 2020 database1822).

We trained the CENs for 250 epochs on an NVIDIA GeForce RTX 3090 GPU using the stochastic gradient descent optimizer (learning rate: 0.01; weight decay: 0.0001; momentum: 0.9; see Figure S3) and the StepLR scheduler (step size: 80; gamma: 0.1). Each time a voxel grid was used for training, it was translated by at most 2 Å and randomly rotated. The loss was calculated using the smooth L1 loss criterion,41 which compared experimental and predicted binding affinities (we·te). The loss was calculated per batch (batch size: 25).

Model Assessment

We used two methods to assess the predictions of the CEN models. First, we used Pearson’s correlation coefficients to quantitatively assess the accuracy of our model predictions on a withheld test set by comparing predicted and experimentally measured binding affinities.

Second, we used the t-distributed stochastic neighbor embedding (t-SNE) method,24 implemented in the scikit-learn Python package,42 to project the CEN-predicted weights onto a two-dimensional space for visualization. K-means clustering verified that similar weight vectors generally map to adjacent regions of this two-dimensional space (Figures S8 and S9). We then identified 916 entries in the PDBbind 2020 database22 (used to train CENsible) that also had entries in the SCOP database (release 2022-06-29) with only one unambiguous protein-family assignment. Finally, we identified the SCOP families that were most frequently represented among the labeled PDBbind structures and projected them onto the same t-SNE space with per-family coloring.

Virtual Screen: Homo sapiens Pancreatic Glucokinase

To confirm that CENsible has learned the principles of binding required to separate true ligands from decoys, we performed a benchmark virtual screen targeting H. sapiens pancreatic glucokinase, leveraging the files associated with the HXK4 entry in the DUD-E database.25 The receptor file associated with this entry was derived from the PDB 3F9M structure.43 The entry also includes 92 known active molecules, as well as 4696 decoys (active-to-decoy ratio of roughly 1:51). The DUD-E receptor and compounds already have assigned protonation states and so required no further processing.

We used smina(27) to dock each compound into a box centered on the glucokinase active site. We used smina’s “autobox_ligand” parameter to determine the appropriate box dimensions from the DUD-E-provided crystallographic ligand (ligand ID: MRK) and smina’s default parameters otherwise. To assess accuracy (e.g., AUROC and EF %), we considered only the top-scoring smina pose per ligand, regardless of ionization, tautomerization, etc. We rescored that smina pose with our CENsible scoring function.

Virtual Screen: Influenza Neuraminidase

We also performed a virtual screen targeting influenza neuraminidase, leveraging the files associated with the NRAM entry in the DUD-E database.25 The NRAM receptor file was derived from the PDB 1B9V structure.44 The entry includes 98 known active molecules, as well as 6200 decoys (active-to-decoy ratio of roughly 1:63). The DUD-E receptor and compounds already have assigned protonation states, and so required no further processing.

We used smina(27) to dock each compound into a 20 Å × 20 Å × 20 Å box centered on the neuraminidase active site. We used smina’s default parameters otherwise. We again assessed accuracy using AUROC and EF % as above and similarly rescored the smina poses with our CENsible scoring function.

Virtual Screen: Trypanosoma brucei Methionyl-tRNA Synthetase

We also performed a virtual screen targeting T. brucei methionyl-tRNA synthetase. To prepare the T. brucei methionyl-tRNA synthetase structure for docking, we downloaded entry 4EG445 from the Protein Data Bank.33 We processed the file using the Protein Preparation Workflow available in Schrödinger Maestro 13.5.128 (default parameters). We then removed water and small-molecule-ligand residues and converted S-(dimethylarsenic)cysteine (CAS) residues to cysteine residues.

To prepare small-molecule compounds for the virtual screen, we downloaded the SMILES strings associated with PubChem26 bioassay 624268 (primary screen) and bioassay 651971 (confirmatory screen).46 We selected the 134 most active compounds from the confirmatory screen (IC50 < 5 μM). We also randomly selected 5360 inactive compounds from the primary screen, such that the active-to-inactive ratio was 1:40. We processed the SMILES strings using Schrödinger’s LigPrep utility to generate 3D structures with enumerated ionization, tautomerization, and chiral states (default parameters, except we generated only at most two stereoisomers per input molecule).

We used smina(27) to dock each compound into a 20 Å × 20 Å × 20 Å box centered on the methionyl-tRNA synthetase active site, using smina’s default parameters. We again assessed accuracy using AUROC and EF % as above and similarly rescored the smina poses with our CENsible scoring function.

Assistive Writing Technologies

We used assistive writing technologies such as Grammarly and OpenAI’s ChatGPT during manuscript preparation. These supplementary tools acted as editors, not as drivers of content creation. The listed authors thoroughly reviewed, revised, and selectively implemented the suggested edits to ensure accuracy, consistency, and clarity. The responsibility for the paper’s content and quality remains with the authors alone.

Acknowledgments

This work was supported by the National Institute of Health (R01GM132353 and R35GM140753) and the University of Pittsburgh’s Center for Research Computing, RRID:SCR_022735 (supported by NSF OAC-2117681). The content is solely the responsibility of the authors and does not necessarily represent the official views of the National Institutes of Health or the National Science Foundation. The funders had no role in the study design, data collection and analysis, decision to publish, or preparation of the manuscript.

Data Availability Statement

Source data are included in the Supporting Information. The PDBbind 2020 database used for training and testing is available for download from http://www.pdbbind.org.cn/. The computer code associated with this study is available through https://durrantlab.com/censible/. The same page links to a Google Colab that implements the CENsible approach. A copy of the Google Colab Python notebook is included as Supporting Information 3.

Supporting Information Available

The Supporting Information is available free of charge at https://pubs.acs.org/doi/10.1021/acs.jcim.4c00825.

  • Additional information regarding training, weight-vector clustering, the CENsible-rescored virtual screens, precalculated terms, CENsible-predicted weights of all PDBbind protein/ligand complexes used for training and testing, a Google Colab Python notebook for rescoring protein/ligand complexes using CENsible, and the receptor and ligand atom types used to generate the voxel grids (PDF)

  • Precalculated term names and whether the term names are included in the production model (XLSX)

  • Grid atom types (PDF)

  • PDBbind predicted weights (XLSX)

  • CENsible (ZIP)

  • SMILES (TXT)

Author Contributions

R.B., D.R.K., and J.D.D. conceived and designed the experiments, developed the CENsible method, and contributed to the codebase. R.B. and J.D.D. ran the calculations and analyzed the data. J.D.D. was primarily responsible for writing the paper, with critical feedback and edits from R.B. and D.R.K. All authors read and approved the manuscript.

The authors declare no competing financial interest.

Supplementary Material

ci4c00825_si_001.pdf (1.9MB, pdf)
ci4c00825_si_002.xlsx (15KB, xlsx)
ci4c00825_si_003.pdf (21.5KB, pdf)
ci4c00825_si_004.xlsx (37.9MB, xlsx)

References

  1. Sabe V. T.; Ntombela T.; Jhamba L. A.; Maguire G. E. M.; Govender T.; Naicker T.; Kruger H. G. Current Trends in Computer Aided Drug Design and a Highlight of Drugs Discovered Via Computational Techniques: A Review. Eur. J. Med. Chem. 2021, 224, 113705. 10.1016/j.ejmech.2021.113705. [DOI] [PubMed] [Google Scholar]
  2. Frye L.; Bhat S.; Akinsanya K.; Abel R. From Computer-Aided Drug Discovery to Computer-Driven Drug Discovery. Drug Discovery Today: Technol. 2021, 39, 111–117. 10.1016/j.ddtec.2021.08.001. [DOI] [PubMed] [Google Scholar]
  3. Wang Y.; Wei Z.; Xi L. Sfcnn: A Novel Scoring Function Based on 3D Convolutional Neural Network for Accurate and Stable Protein-Ligand Affinity Prediction. BMC Bioinf. 2022, 23, 222. 10.1186/s12859-022-04762-3. [DOI] [PMC free article] [PubMed] [Google Scholar]
  4. Wang Z.; Zheng L.; Liu Y.; Qu Y.; Li Y. Q.; Zhao M.; Mu Y.; Li W. Onionnet-2: A Convolutional Neural Network Model for Predicting Protein-Ligand Binding Affinity Based on Residue-Atom Contacting Shells. Front. Chem. 2021, 9, 753002. 10.3389/fchem.2021.753002. [DOI] [PMC free article] [PubMed] [Google Scholar]
  5. Ragoza M.; Hochuli J.; Idrobo E.; Sunseri J.; Koes D. R. Protein-Ligand Scoring with Convolutional Neural Networks. J. Chem. Inf. Model. 2017, 57, 942–957. 10.1021/acs.jcim.6b00740. [DOI] [PMC free article] [PubMed] [Google Scholar]
  6. Stepniewska-Dziubinska M. M.; Zielenkiewicz P.; Siedlecki P. Development and Evaluation of a Deep Learning Model for Protein-Ligand Binding Affinity Prediction. Bioinformatics 2018, 34, 3666–3674. 10.1093/bioinformatics/bty374. [DOI] [PMC free article] [PubMed] [Google Scholar]
  7. Kyro G. W.; Brent R. I.; Batista V. S. Hac-Net: A Hybrid Attention-Based Convolutional Neural Network for Highly Accurate Protein-Ligand Binding Affinity Prediction. J. Chem. Inf. Model. 2023, 63, 1947–1960. 10.1021/acs.jcim.3c00251. [DOI] [PubMed] [Google Scholar]
  8. Rezaei M. A.; Li Y.; Wu D.; Li X.; Li C. Deep Learning in Drug Design: Protein-Ligand Binding Affinity Prediction. IEEE/ACM Trans. Comput. Biol. Bioinf. 2022, 19, 407–417. 10.1109/TCBB.2020.3046945. [DOI] [PMC free article] [PubMed] [Google Scholar]
  9. Kwon Y.; Shin W.-H.; Ko J.; Lee J. Ak-Score: Accurate Protein-Ligand Binding Affinity Prediction Using an Ensemble of 3D-Convolutional Neural Networks. Int. J. Mol. Sci. 2020, 21, 8424. 10.3390/ijms21228424. [DOI] [PMC free article] [PubMed] [Google Scholar]
  10. Son J.; Kim D. Development of a Graph Convolutional Neural Network Model for Efficient Prediction of Protein-Ligand Binding Affinities. PLoS One 2021, 16, e0249404 10.1371/journal.pone.0249404. [DOI] [PMC free article] [PubMed] [Google Scholar]
  11. Zheng L.; Fan J.; Mu Y. Onionnet: A Multiple-Layer Intermolecular-Contact-Based Convolutional Neural Network for Protein-Ligand Binding Affinity Prediction. ACS Omega 2019, 4, 15956–15965. 10.1021/acsomega.9b01997. [DOI] [PMC free article] [PubMed] [Google Scholar]
  12. Jones D.; Kim H.; Zhang X.; Zemla A.; Stevenson G.; Bennett W. F. D.; Kirshner D.; Wong S. E.; Lightstone F. C.; Allen J. E. Improved Protein-Ligand Binding Affinity Prediction with Structure-Based Deep Fusion Inference. J. Chem. Inf. Model. 2021, 61, 1583–1592. 10.1021/acs.jcim.0c01306. [DOI] [PubMed] [Google Scholar]
  13. Shen H.; Zhang Y.; Zheng C.; Wang B.; Chen P. A Cascade Graph Convolutional Network for Predicting Protein-Ligand Binding Affinity. Int. J. Mol. Sci. 2021, 22, 4023. 10.3390/ijms22084023. [DOI] [PMC free article] [PubMed] [Google Scholar]
  14. McNutt A. T.; Francoeur P.; Aggarwal R.; Masuda T.; Meli R.; Ragoza M.; Sunseri J.; Koes D. R. Gnina 1.0: Molecular Docking with Deep Learning. J. Cheminf. 2021, 13, 43. 10.1186/s13321-021-00522-2. [DOI] [PMC free article] [PubMed] [Google Scholar]
  15. Durrant J. D.; McCammon J. A. NNScore 2.0: A Neural-Network Receptor-Ligand Scoring Function. J. Chem. Inf. Model. 2011, 51, 2897–2903. 10.1021/ci2003889. [DOI] [PMC free article] [PubMed] [Google Scholar]
  16. Durrant J. D.; McCammon J. A. NNScore: A Neural-Network-Based Scoring Function for the Characterization of Protein-Ligand Complexes. J. Chem. Inf. Model. 2010, 50, 1865–1871. 10.1021/ci100244v. [DOI] [PMC free article] [PubMed] [Google Scholar]
  17. Al-Shedivat M.; Dubey A.; Xing E. Contextual Explanation Networks. J. Mach. Learn. Res. 2020, 21, 1.34305477 [Google Scholar]
  18. Cheng T.; Li X.; Li Y.; Liu Z.; Wang R. Comparative Assessment of Scoring Functions on a Diverse Test Set. J. Chem. Inf. Model. 2009, 49, 1079–1093. 10.1021/ci9000053. [DOI] [PubMed] [Google Scholar]
  19. Li Y.; Liu Z.; Li J.; Han L.; Liu J.; Zhao Z.; Wang R. Comparative Assessment of Scoring Functions on an Updated Benchmark: 1. Compilation of the Test Set. J. Chem. Inf Model 2014, 54, 1700–1716. 10.1021/ci500080q. [DOI] [PubMed] [Google Scholar]
  20. Liu Z.; Li Y.; Han L.; Li J.; Liu J.; Zhao Z.; Nie W.; Liu Y.; Wang R. PDB-Wide Collection of Binding Data: Current Status of the Pdbbind Database. Bioinformatics 2015, 31, 405–412. 10.1093/bioinformatics/btu626. [DOI] [PubMed] [Google Scholar]
  21. Liu Z.; Su M.; Han L.; Liu J.; Yang Q.; Li Y.; Wang R. Forging the Basis for Developing Protein-Ligand Interaction Scoring Functions. Acc. Chem. Res. 2017, 50, 302–309. 10.1021/acs.accounts.6b00491. [DOI] [PubMed] [Google Scholar]
  22. Wang R.; Fang X.; Lu Y.; Yang C. Y.; Wang S. The Pdbbind Database: Methodologies and Updates. J. Med. Chem. 2005, 48, 4111–4119. 10.1021/jm048957q. [DOI] [PubMed] [Google Scholar]
  23. Lo Conte L.; Ailey B.; Hubbard T. J.; Brenner S. E.; Murzin A. G.; Chothia C. Scop: A Structural Classification of Proteins Database. Nucleic Acids Res. 2000, 28, 257–259. 10.1093/nar/28.1.257. [DOI] [PMC free article] [PubMed] [Google Scholar]
  24. Zhou H.; Wang F.; Tao P. T-Distributed Stochastic Neighbor Embedding Method with the Least Information Loss for Macromolecular Simulations. J. Chem. Theory Comput. 2018, 14, 5499–5510. 10.1021/acs.jctc.8b00652. [DOI] [PMC free article] [PubMed] [Google Scholar]
  25. Mysinger M. M.; Carchia M.; Irwin J. J.; Shoichet B. K. Directory of Useful Decoys, Enhanced (Dud-E): Better Ligands and Decoys for Better Benchmarking. J. Med. Chem. 2012, 55, 6582–6594. 10.1021/jm300687e. [DOI] [PMC free article] [PubMed] [Google Scholar]
  26. Kim S.; Chen J.; Cheng T.; Gindulyte A.; He J.; He S.; Li Q.; Shoemaker B. A.; Thiessen P. A.; Yu B.; Zaslavsky L.; Zhang J.; Bolton E. E. Pubchem 2023 Update. Nucleic Acids Res. 2023, 51, D1373–D1380. 10.1093/nar/gkac956. [DOI] [PMC free article] [PubMed] [Google Scholar]
  27. Koes D. R.; Baumgartner M. P.; Camacho C. J. Lessons Learned in Empirical Scoring with Smina from the CSAR 2011 Benchmarking Exercise. J. Chem. Inf. Model. 2013, 53, 1893–1904. 10.1021/ci300604z. [DOI] [PMC free article] [PubMed] [Google Scholar]
  28. Russell R. J.; Haire L. F.; Stevens D. J.; Collins P. J.; Lin Y. P.; Blackburn G. M.; Hay A. J.; Gamblin S. J.; Skehel J. J. The Structure of H5N1 Avian Influenza Neuraminidase Suggests New Opportunities for Drug Design. Nature 2006, 443, 45–49. 10.1038/nature05114. [DOI] [PubMed] [Google Scholar]
  29. Li Y.; Han L.; Liu Z.; Wang R. Comparative Assessment of Scoring Functions on an Updated Benchmark: 2. Evaluation Methods and General Results. J. Chem. Inf. Model. 2014, 54, 1717–1736. 10.1021/ci500081m. [DOI] [PubMed] [Google Scholar]
  30. Li X.; Li Y.; Cheng T.; Liu Z.; Wang R. Evaluation of the Performance of Four Molecular Docking Programs on a Diverse Set of Protein-Ligand Complexes. J. Comput. Chem. 2010, 31, 2109–2125. 10.1002/jcc.21498. [DOI] [PubMed] [Google Scholar]
  31. Wang Z.; Sun H.; Yao X.; Li D.; Xu L.; Li Y.; Tian S.; Hou T. Comprehensive Evaluation of Ten Docking Programs on a Diverse Set of Protein-Ligand Complexes: The Prediction Accuracy of Sampling Power and Scoring Power. Phys. Chem. Chem. Phys. 2016, 18, 12964–12975. 10.1039/C6CP01555G. [DOI] [PubMed] [Google Scholar]
  32. Rose P. W.; Prlic A.; Bi C.; Bluhm W. F.; Christie C. H.; Dutta S.; Green R. K.; Goodsell D. S.; Westbrook J. D.; Woo J.; Young J.; Zardecki C.; Berman H. M.; Bourne P. E.; Burley S. K. The Rcsb Protein Data Bank: Views of Structural Biology for Basic and Applied Research and Education. Nucleic Acids Res. 2015, 43, D345–D356. 10.1093/nar/gku1214. [DOI] [PMC free article] [PubMed] [Google Scholar]
  33. Berman H. M.; Westbrook J.; Feng Z.; Gilliland G.; Bhat T. N.; Weissig H.; Shindyalov I. N.; Bourne P. E. The Protein Data Bank. Nucleic Acids Res. 2000, 28, 235–242. 10.1093/nar/28.1.235. [DOI] [PMC free article] [PubMed] [Google Scholar]
  34. Burley S. K.; Bhikadiya C.; Bi C.; Bittrich S.; Chao H.; Chen L.; Craig P. A.; Crichlow G. V.; Dalenberg K.; Duarte J. M.; Dutta S.; Fayazi M.; Feng Z.; Flatt J. W.; Ganesan S.; Ghosh S.; Goodsell D. S.; Green R. K.; Guranovic V.; Henry J.; Hudson B. P.; Khokhriakov I.; Lawson C. L.; Liang Y.; Lowe R.; Peisach E.; Persikova I.; Piehl D. W.; Rose Y.; Sali A.; Segura J.; Sekharan M.; Shao C.; Vallat B.; Voigt M.; Webb B.; Westbrook J. D.; Whetstone S.; Young J. Y.; Zalevsky A.; Zardecki C. RCSB Protein Data Bank (RCSB.org): delivery of experimentally-determined PDB structures alongside one million computed structure models of proteins from artificial intelligence/machine learning). Nucleic Acids Res. 2023, 51, D488–D508. 10.1093/nar/gkac1077. [DOI] [PMC free article] [PubMed] [Google Scholar]
  35. O’Boyle N. M.; Banck M.; James C. A.; Morley C.; Vandermeersch T.; Hutchison G. R. Open Babel: An Open Chemical Toolbox. J. Cheminf. 2011, 3, 33. 10.1186/1758-2946-3-33. [DOI] [PMC free article] [PubMed] [Google Scholar]
  36. Sunseri J.; Koes D. R. Libmolgrid: Graphics Processing Unit Accelerated Molecular Gridding for Deep Learning Applications. J. Chem. Inf. Model. 2020, 60, 1079–1084. 10.1021/acs.jcim.9b01145. [DOI] [PMC free article] [PubMed] [Google Scholar]
  37. Morris G. M.; Huey R.; Lindstrom W.; Sanner M. F.; Belew R. K.; Goodsell D. S.; Olson A. J. Autodock4 and Autodocktools4: Automated Docking with Selective Receptor Flexibility. J. Comput. Chem. 2009, 30, 2785–2791. 10.1002/jcc.21256. [DOI] [PMC free article] [PubMed] [Google Scholar]
  38. Trott O.; Olson A. J. Autodock Vina: Improving the Speed and Accuracy of Docking with a New Scoring Function, Efficient Optimization, and Multithreading. J. Comput. Chem. 2010, 31, 455–461. 10.1002/jcc.21334. [DOI] [PMC free article] [PubMed] [Google Scholar]
  39. Koes D. R.Model Gnina/Models, 2018. https://github.com/gnina/models/blob/master/acs2018/default2018.model (September 2, 2023)
  40. Sunseri J.; Koes D. R. Virtual Screening with Gnina 1.0. Molecules 2021, 26, 7369. 10.3390/molecules26237369. [DOI] [PMC free article] [PubMed] [Google Scholar]
  41. Girshick R.Fast R-Cnn. Proceedings of the IEEE International Conference on Computer Vision 2015, 2015; pp 1440–1448.
  42. Pedregosa F.; Varoquaux G.; Gramfort A.; Michel V.; Thirion B.; Grisel O.; Blondel M.; Prettenhofer P.; Weiss R.; Dubourg V.; et al. Scikit-Learn: Machine Learning in Python. J. Mach. Learn. Res. 2011, 12, 2825–2830. [Google Scholar]
  43. Petit P.; Antoine M.; Ferry G.; Boutin J. A.; Lagarde A.; Gluais L.; Vincentelli R.; Vuillard L. The Active Conformation of Human Glucokinase Is Not Altered by Allosteric Activators. Acta Crystallogr. D Biol. Crystallogr. 2011, 67, 929–935. 10.1107/S0907444911036729. [DOI] [PubMed] [Google Scholar]
  44. Finley J. B.; Atigadda V. R.; Duarte F.; Zhao J. J.; Brouillette W. J.; Air G. M.; Luo M. Novel aromatic inhibitors of influenza virus neuraminidase make selective interactions with conserved residues and water molecules in the active site 1 1Edited by I. A. Wilson. J. Mol. Biol. 1999, 293, 1107–1119. 10.1006/jmbi.1999.3180. [DOI] [PubMed] [Google Scholar]
  45. Koh C. Y.; Kim J. E.; Shibata S.; Ranade R. M.; Yu M.; Liu J.; Gillespie J. R.; Buckner F. S.; Verlinde C. L.; Fan E.; Hol W. G. Distinct States of Methionyl-Trna Synthetase Indicate Inhibitor Binding by Conformational Selection. Structure 2012, 20, 1681–1691. 10.1016/j.str.2012.07.011. [DOI] [PMC free article] [PubMed] [Google Scholar]
  46. Pedro-Rosa L.; Buckner F. S.; Ranade R. M.; Eberhart C.; Madoux F.; Gillespie J. R.; Koh C. Y.; Brown S.; Lohse J.; Verlinde C. L.; Fan E.; Bannister T.; Scampavia L.; Hol W. G.; Spicer T.; Hodder P. Identification of Potent Inhibitors of the Trypanosoma brucei Methionyl-Trna Synthetase Via High-Throughput Orthogonal Screening. J. Biomol. Screening 2015, 20, 122–130. 10.1177/1087057114548832. [DOI] [PMC free article] [PubMed] [Google Scholar]

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Supplementary Materials

ci4c00825_si_001.pdf (1.9MB, pdf)
ci4c00825_si_002.xlsx (15KB, xlsx)
ci4c00825_si_003.pdf (21.5KB, pdf)
ci4c00825_si_004.xlsx (37.9MB, xlsx)

Data Availability Statement

Source data are included in the Supporting Information. The PDBbind 2020 database used for training and testing is available for download from http://www.pdbbind.org.cn/. The computer code associated with this study is available through https://durrantlab.com/censible/. The same page links to a Google Colab that implements the CENsible approach. A copy of the Google Colab Python notebook is included as Supporting Information 3.


Articles from Journal of Chemical Information and Modeling are provided here courtesy of American Chemical Society

RESOURCES