Predicting Small-Molecule Permeability and Efflux Online: GNN-MTL, PyPermM, and Molecular Descriptors on Neurosnap
Written by Danial Gharaie Amirabadi | Published 2026-10-7
Written by Danial Gharaie Amirabadi | Published 2026-10-7

Target binding is only useful if a drug reaches its target. Intestinal absorption, brain exposure and access to intracellular targets depend partly on membrane permeability and on efflux transporters such as P-glycoprotein (P-gp).
Caco-2 and MDCK cell assays measure permeability and directional transport; cell-free PAMPA measures passive permeability. On Neurosnap, three complementary approaches help prioritise compounds for these experiments:
We run all of them on eight reference drugs whose behaviour is well known, so you can see where the tools agree, where they disagree, and what to do about it.
Passive transcellular permeability depends on partitioning into a membrane and crossing its hydrophobic core. Lipophilicity can favour partitioning, while charge and exposed polarity impose a desolvation cost. Lipinski’s rule of five considers molecular weight, cLogP and hydrogen-bond donors and acceptors; Veber’s complementary heuristics use TPSA ≤140 Ų and ≤10 rotatable bonds (Lipinski et al., 1997; Veber et al., 2002).
Efflux transporters move substrates back out of cells. P-gp (ABCB1) is a major example: a lipophilic compound can cross membranes readily yet have limited brain exposure because P-gp removes it.
The standard way to separate the two effects is the bidirectional Transwell assay (Figure 2). Cells grow as a monolayer on a porous filter. You dose one side and measure how much appears on the other, then repeat in the opposite direction:

Caco-2 monolayers model intestinal permeability and express several transporters. MDCK-MDR1 cells overexpress human P-gp; the GNN paper also uses a more sensitive NIH-MDCK-MDR1 line. PAMPA contains an artificial lipid membrane and no transporters.
Neurosnap runs the public four-task GNN-MTL checkpoint from Ivers Ohlsson et al. (ACS Omega, 2025), trained with Chemprop on harmonised AstraZeneca data from a single laboratory.
Two features distinguish the approach:
The Caco-2 permeability training endpoint was measured with efflux-transporter inhibitors and a pH gradient (6.5/7.4). The ER endpoints were measured separately, without inhibitors, at pH 7.4 on both sides. Thus, the predicted Papp is an estimate of intrinsic permeability under that protocol; it is not the A→B denominator of the separately predicted ER.
The four outputs are Caco-2 ER, Caco-2 Papp, MDCK ER and NIH-MDCK ER. External macrocycle tests in the paper gave modest rank correlations; those evaluated model variants are not all identical to the public checkpoint.
PyPermM estimates the free-energy cost of moving a molecule through a lipid bilayer. It implements the PerMM method (Lomize et al., 2019), integrating an insertion-energy profile across a 30 Å DOPC hydrocarbon core and applying empirical calibrations for different membrane systems.
Submit SMILES, SDF or CCD molecules. SMILES and CCD inputs receive a reproducible RDKit 3D conformer; 3D SDF coordinates are retained. In the tested PyPermM 0.0.4 implementation, propranolol and ibuprofen gave identical results at pH 2, 7.4 and 12: ionisable atom types were not assigned. These predictions therefore represent neutral species rather than a working pH-dependent ionisation correction. Outputs include:
The profile is the most informative output, because it shows why a molecule gets through or doesn't:
PyPermM supports C, N, O, S, F, Cl, Br and I, accepts up to 10 single-component molecules per job (2 to 80 heavy atoms each, no salts), and only models passive diffusion. It does not know about transporters.
Molecular Descriptors returns molecular weight, cLogP, TPSA, hydrogen-bond counts, rotatable bonds, formal charge and QED for up to 500 molecules per job. For a larger feature set, use the Mordred Molecular Descriptor Calculator.
Our references span high permeability (caffeine, propranolol, metoprolol), low Caco-2 permeability (atenolol, cimetidine, chlorothiazide) and established P-gp substrates (loperamide, digoxin). These groups are not mutually exclusive. Atenolol’s low Caco-2 permeability should not be confused with its moderate human absorption classification in ICH M9 (references 13–18).

We submitted the eight reference drugs as a single batch to each prediction service. Open the shared case-study jobs to inspect the inputs, settings and results directly on Neurosnap. Digoxin retains its specified stereochemistry; the beta-blocker inputs do not specify an individual enantiomer.
Keep the stereochemistry in your SMILES: digoxin’s predicted Caco-2 ER is 37 with the full isomeric SMILES and 47 with stereocentres removed.
| Drug | MW | TPSA (Ų) | cLogP | HBD | QED |
|---|---|---|---|---|---|
| Caffeine | 194 | 62 | -1.0 | 0 | 0.54 |
| Propranolol | 259 | 41 | 2.6 | 2 | 0.84 |
| Metoprolol | 267 | 51 | 1.6 | 2 | 0.71 |
| Atenolol | 266 | 85 | 0.5 | 3 | 0.64 |
| Cimetidine | 252 | 89 | 0.6 | 3 | 0.24 |
| Chlorothiazide | 296 | 119 | 0.1 | 2 | 0.76 |
| Loperamide | 477 | 44 | 5.1 | 1 | 0.52 |
| Digoxin | 781 | 203 | 2.2 | 6 | 0.16 |
The high-permeability references have TPSA below 65 Ų and at most two donors; the low-permeability group has TPSA of 85–119 Ų. Digoxin lies beyond conventional rule-of-five space. Loperamide’s low TPSA and high cLogP suggest favourable membrane partitioning, making its strong efflux especially instructive.
Two cases show the limit of rules of thumb. Caffeine has the lowest cLogP in the set and is still highly permeable, because it is small and has no donors. Chlorothiazide's TPSA of 119 Ų is under Veber's 140 Ų limit, and it is still a poorly permeable drug.
Human P-gp has a large drug-binding cavity lined by hydrophobic, aromatic and polar residues. Figure 4 shows paclitaxel in that cavity (Alam et al., 2019; PDB 6QEX), illustrating the structural context of its broad substrate recognition.

Here are the GNN-MTL predictions after converting from log₁₀. Caco-2 Papp is in 10⁻⁶ cm/s, and the ERs are ratios:
| Drug | Caco-2 Papp | Caco-2 ER | MDCK ER | NIH-MDCK ER |
|---|---|---|---|---|
| Caffeine | 102 | 0.32 | 0.53 | 0.89 |
| Propranolol | 47 | 0.22 | 0.90 | 1.9 |
| Metoprolol | 31 | 0.33 | 1.3 | 3.0 |
| Atenolol | 0.94 | 0.56 | 0.43 | 0.26 |
| Cimetidine | 1.0 | 11 | 8.1 | 4.0 |
| Chlorothiazide | 0.12 | 4.9 | 0.08 | 0.05 |
| Loperamide | 15 | 3.0 | 6.1 | 41 |
| Digoxin | 3.4 | 37 | 31 | 22 |

Reading Figure 5:
Figure 6 places illustrative copies of two drugs at different depths in the OpenMM bilayer beside their PyPermM profiles. The placements are not simulated trajectories, and the profiles come from PyPermM’s separate DOPC model.

Propranolol's profile has two wells of about -4.5 kcal/mol near the lipid-water interface and only a shallow rise (to about -2.5) at the bilayer centre. Its central energy remains below the water reference, although moving from the interfacial minimum to the centre still requires climbing about 2 kcal/mol. Chlorothiazide goes the other way. It barely binds at the interface (about -1 kcal/mol) and faces a barrier of roughly +12 kcal/mol at the centre. That difference is what drives its Caco-2 log P of -5.9 against propranolol's -3.1.

| Drug | Caco-2 log P | BBB log P | Binding energy (kcal/mol) |
|---|---|---|---|
| Loperamide | -2.71 | -1.84 | -7.2 |
| Propranolol | -3.07 | -2.34 | -4.5 |
| Metoprolol | -3.61 | -3.08 | -2.5 |
| Atenolol | -3.96 | -3.56 | -2.0 |
| Cimetidine | -4.24 | -3.94 | -1.7 |
| Digoxin | -4.91 | -4.87 | -3.6 |
| Caffeine | -5.13 | -5.17 | -0.3 |
| Chlorothiazide | -5.86 | -6.17 | -1.1 |
We omit PyPermM’s PAMPA column from quantitative interpretation: loperamide and propranolol imply roughly 35 and 1.7 cm/s, implausibly large apparent assay permeabilities. All membrane calibrations derive from the same integral and are not independent evidence.
The coarse split agrees with the ML model and the rules of thumb: the lipophilic compounds (loperamide, propranolol, metoprolol) on top and the polar ones below. The details differ. For example, PyPermM puts digoxin below atenolol and cimetidine, while the GNN-MTL puts it above them. Two results stand out.
Caffeine is the outlier. Experimentally highly permeable, it ranks first in GNN-MTL but seventh in PyPermM. Its predicted central barrier is about +8 kcal/mol. This reveals a limitation of this run; the comparison alone cannot distinguish atom-typing, conformational or calibration errors.
Digoxin ranks sixth of eight. It has a favourable binding energy (-3.6), probably because of its large surface area, but a high central barrier (about +7 kcal/mol). PyPermM models passive diffusion only, so none of digoxin's efflux shows up here. That information has to come from the GNN-MTL model.
Two more services give additional estimates for the same eight SMILES. ADMET-AI (Chemprop-RDKit trained on Therapeutics Data Commons datasets) returns a Caco-2 log Papp and a PAMPA probability. Admetica returns a Caco-2 log Papp and P-gp substrate and inhibitor probabilities. Figure 8 puts every tool's output side by side, with each column shaded by rank so the agreement is visible at a glance.

The picture is useful, and not entirely tidy:
Descriptors provide a fast first filter, GNN-MTL estimates assay permeability and efflux, and PyPermM adds a physical view of membrane insertion. Together, the eight-drug results highlight both useful agreement and informative disagreements. All tools are available through Neurosnap’s web interface or API.
All of the tools in this post are available on Neurosnap with no installation, through the web interface or the API.
Explore the inputs, settings and outputs in these public Neurosnap jobs:
By Danial Gharaie Amirabadi
By Amélie Lagacé-O'Connor
By Danial Gharaie Amirabadi
By Danial Gharaie Amirabadi
By Danial Gharaie Amirabadi
By Danial Gharaie Amirabadi
Register for free — upgrade anytime.
Interested in getting a license? Contact Sales.
Try Free