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 10−610^{-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., log⁡P\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.