Membrane Permeability

Python API · stjames models · API example

How it works

Predict how readily a small molecule crosses a membrane. GNN-MTL estimates apparent permeability in a Caco-2 cell assay from molecular connectivity. PyPermm estimates passive permeability from a 3D structure and shows how the energy changes as the molecule moves through a membrane.

Settings

  • Method: Choose "GNN-MTL - Graph Neural Network Multi-Task Learning" (the default) for a rapid Caco-2 apparent-permeability prediction from SMILES, or "PyPermm - Physics-Based Membrane Permeability" for passive-permeability predictions from a 3D structure.

Notes

The AstraZeneca GNN-MTL model

GNN-MTL is a graph neural network trained jointly on permeability and efflux measurements. Rowan currently reports its Caco-2 apparent-permeability endpoint. This reflects the experimental assay represented by the training data; predictions for unfamiliar chemical structures may be less reliable.

The result is the base-10 logarithm of apparent permeability in cm/s. For example, a value of −5 corresponds to 10−510^{-5} cm/s. This differs from reporting the permeability directly in units of 10−610^{-6} cm/s, a convention often used in assay data.

For full model details, see the paper by Philip Ivers Ohlsson and co-workers.

PyPermm

PyPermm is a Python implementation of PerMM. It estimates the energy cost of transferring the supplied molecular structure from water into a membrane, optimizing its orientation at each membrane depth. The resulting energy profile is used to predict passive permeability.

Results include intrinsic permeability estimates for lipid bilayers (BLM), PAMPA artificial membranes, plasma membranes, Caco-2 membranes, and the blood–brain barrier. The energy profile plots membrane position in Å against insertion energy in kcal/mol. The supplied 3D geometry influences these predictions, and passive permeability alone does not capture transporter-mediated uptake or efflux.

Here, log⁡P\log P denotes a permeability coefficient; octanol–water partitioning is a separate property.

The full PyPermm code is available under an MIT license on GitHub.

Benchmarks and validation

In our permeability benchmarks, GNN-MTL and PyPermm achieved ROC-AUC values of 0.77 and 0.71 on 837 compounds from the cleaned Wang Caco-2 dataset. GNN-MTL performed better on conventional small molecules, while PyPermm was more competitive for cyclic peptides and macrocycles. Performance depends on chemical space and assay conditions.

ROC curves for the Wang Caco-2 dataset of 837 compounds: GNN-MTL AUC 0.77, PyPermm 0.71, hydrogen-bond donor count 0.80, and QED 0.76.

Separation of higher- and lower-permeability compounds, using a cutoff of −5 for log10 of experimental permeability in cm/s. Higher AUC indicates better separation.

Further reading