Membrane Permeability

Rowan's permeability workflow provides two complementary predictors behind a unified interface: (i) a data-driven multitask graph neural network (GNN-MTL) for rapid estimation of cell-assay permeability and efflux endpoints from 2D structure, and (ii) a physics-based implementation of the PerMM framework ("PyPermm") for intrinsic passive permeability and membrane insertion energetics from 3D atomic coordinates.

The AstraZeneca GNN-MTL Model

For GNN-MTL inference, input molecules are featurized as molecular graphs and evaluated using a multitask message-passing architecture trained jointly across permeability/efflux endpoints. The reported Caco-2 PappP_\mathrm{app} target corresponds to apparent permeability (typically reported in units of 10610^{-6} cm/s) measured under defined experimental conditions. Predictions from GNN-MTL should be interpreted as predictions of those experimental readouts rather than as assay-agnostic intrinsic permeability.

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

PyPermm

PyPermm is a Python reimplementation of the PerMM approach, which models passive permeation using the inhomogeneous solubility–diffusion formalism. For a given 3D structure, the method computes a water–membrane transfer free-energy profile ΔGtransf(z)\Delta G_\mathrm{transf}(z) along the membrane normal zz, expressed as a sum of (i) a solvent-accessible-surface-area–weighted atomic solvation term parameterized by position-dependent solvation parameters, (ii) a dipolar penalty term for polar groups in low-dielectric environments, and (iii) a (de)ionization contribution for ionizable functionalities as a function of local dielectric and pH-dependent ionization equilibria. At each depth, the permeant orientation is optimized (e.g., via rotational grid search/refinement) to obtain the minimum insertion free energy, yielding an optimized insertion/transfer profile.

Permeability is then derived from ΔGtransf(z)\Delta G_\mathrm{transf}(z) via the inhomogeneous solubility–diffusion model, in which the inverse permeability (membrane resistance) is computed by integrating a local resistance across a defined membrane thickness; the local partition coefficient is related exponentially to ΔGtransf(z)\Delta G_\mathrm{transf}(z). The integral is evaluated over a fixed transbilayer span and diffusion is approximated as position-independent along zz but size-dependent across molecules using total ASA as a proxy for molecular size. PyPermm reports intrinsic passive permeability estimates (e.g., logP\log P) for multiple membrane classes together with the corresponding optimized insertion energy profile versus zz.

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