Cyclic peptide permeability
Draw a cyclic peptide, or paste a SMILES and it will be drawn. One prediction comes back per assay that is available, each labeled with the assay it belongs to. There is no combined number and there never will be.
Two assays, two models, never pooled. Both are served here and each answers for itself. The membrane model is passive diffusion through lipid, with no cells present. The Caco-2 model is transport across a living monolayer of a human intestinal cell line, where transporters and efflux are active. On the 229 peptides a single study measured in both, the assays correlate 0.62, with the membrane value about half a log unit below the Caco-2 value. A relationship that loose between two assays on the same peptides is the reason this site keeps two models rather than one.
The two released files share 588 peptides, and comparing those two files row by row is the wrong comparison: most of those pairs come from different studies, and across studies the two assays carry no usable relationship. The figures above come from the single-study records instead.
A value of exactly -10.00 is a below-detection placeholder, not a measurement. It stands for a peptide whose permeability was under the limit of the assay, and it appears for 21 peptides in the Caco-2 file and 269 in the membrane file. Treat it as a floor, and censor or filter it before fitting anything to these files.
No combined number is offered, no conversion between them is valid, and a query is never answered by whichever model happens to be available. Falling back would return a confident number measuring something you did not ask about.
A structure is scored by both models in one request, and each result is labeled with the assay it belongs to. Two answers that differ are two measurements that differ, not a disagreement to resolve.
Reference peptides, and where they sit
Where these peptides sit, by what each assay measured. Your own result is drawn on the same rulers when you run one. A peptide measured on only one assay appears on only that ruler, and one measured on neither is in the table but on no ruler at all. Press Load on any of them to put it in the editor.
Caco-2 monolayer
Artificial membrane
| Peptide | Measured, Caco-2 | Measured, membrane | These models | |
|---|---|---|---|---|
| Enniatin B natural product At the permeable end of the range. Flagged on Caco-2. | not measured | -4.73 | Caco-2 -5.47, membrane -5.11 | |
| Patellamide C natural product Permeable, and unlike the training chemistry. Flagged on Caco-2 and the membrane model. | not measured | -4.73 | Caco-2 -6.18, membrane -5.54 | |
| Sanguinamide A natural product The two assays disagree on this one, which is why no combined number is offered. | -5.28 | -5.71 | Caco-2 -5.31, membrane -5.55 | |
| Cyclosporine A approved The reference orally available cyclic peptide, and the only compound in both the absorption and peptide datasets. | -5.71 | -5.87 | Caco-2 -6.01, membrane -5.75 | |
| Didemnin A natural product Mid range, and unlike the training chemistry. Flagged on Caco-2 and the membrane model. | not measured | -5.89 | Caco-2 -6.07, membrane -5.98 | |
| Valspodar reached phase 3 A cyclosporine analog. Flagged on Caco-2. | not measured | -6.66 | Caco-2 -6.57, membrane -6.37 | |
| Destruxin E chlorohydrin natural product At the poorly permeable end. Flagged on Caco-2. | not measured | -7.10 | Caco-2 -7.36, membrane -7.32 | |
| Daptomycin approved An approved antibiotic given intravenously. Its permeability is below what the assay can measure, so it has a floor rather than a value. Flagged on Caco-2 and the membrane model. | not measured | below detection | Caco-2 -7.43, membrane -7.44 | |
| Oxytocin approved A natural disulfide-bridged nonapeptide, not a synthetic macrocycle, and in none of the three datasets. Flagged on Caco-2 and the membrane model. | not measured | not measured | Caco-2 -6.87, membrane -6.87 | |
| Semaglutide approved The oral GLP-1 peptide, 4,114 daltons. In none of the three datasets, and seven times the applicability threshold from the nearest training peptide. Flagged on Caco-2 and the membrane model. | not measured | not measured | Caco-2 -7.30, membrane -7.91 |
All values are log10 of the apparent permeability in centimeters per second, so one unit is a factor of ten. Every measured value is read from the released datasets. Press Load to put a peptide in the editor, then score it.
Every available model is scored from the same structure in one request, and a model that cannot answer says so in its own card. A small drug-like molecule belongs on the absorption page instead.
Both models, predicted against measured

How the Caco-2 peptide model performs
Fitted on all 1,281 peptides, with 50 descriptors, measured over 250 extractions of the fixed consensus set.
| Over 250 extractions of the shipped descriptor set | Value |
|---|---|
| Root mean square error | 0.49 plus or minus 0.04 log units |
| Mean absolute error | 0.34 plus or minus 0.02 |
| Correlation | 0.84 plus or minus 0.03 |
| Median absolute error | 0.24 |
| 90th percentile of absolute error | 0.72 |
| Within 0.30 log units | 59.55 percent |
| Within 0.60 log units | 85.58 percent |
An error of 0.49 log units is a factor of 3.10 in the permeability rate. A prediction of one rate could reasonably be that rate multiplied or divided by about 3.10.
What the Caco-2 peptide model reads
The deployed Caco-2 peptide model reads 50 descriptors. Every one of them is listed below, read from the bundle rather than typed. The recurrence beside each is a property of the search that chose it, not of the model.
It reads twice as many as the membrane model. The Caco-2 peptide search was run on a grid of 5 to 60 descriptors and settled at a median of 50. Its inputs are not those of the membrane model and the two are not interchangeable.
| Descriptor | Chosen in |
|---|---|
rdkit2d:BalabanJ | 84.40 percent |
rdkit2d:MinPartialCharge | 83.60 percent |
rdkit2d:MaxPartialCharge | 79.60 percent |
rdkit2d:BCUT2D_MRLOW | 76.40 percent |
rdkit2d:NumAromaticRings | 73.60 percent |
morgan:MORGAN_0652 | 72.80 percent |
rdkit2d:PEOE_VSA7 | 67.60 percent |
rdkit2d:BCUT2D_MRHI | 64.40 percent |
morgan:MORGAN_0551 | 63.60 percent |
peptide:TPSA_per_heavy | 62.80 percent |
rdkit2d:AvgIpc | 60.00 percent |
morgan:MORGAN_0314 | 59.20 percent |
peptide:rotb_per_heavy | 55.20 percent |
rdkit2d:BCUT2D_MWHI | 54.40 percent |
peptide:logP_minus_TPSA_scaled | 53.60 percent |
rdkit2d:VSA_EState1 | 48.80 percent |
morgan:MORGAN_0963 | 48.00 percent |
morgan:MORGAN_0685 | 46.80 percent |
morgan:MORGAN_0521 | 46.40 percent |
morgan:MORGAN_0456 | 45.20 percent |
morgan:MORGAN_0759 | outside the twenty most chosen |
morgan:MORGAN_0269 | outside the twenty most chosen |
rdkit2d:VSA_EState3 | outside the twenty most chosen |
rdkit2d:MolLogP | outside the twenty most chosen |
morgan:MORGAN_0084 | outside the twenty most chosen |
morgan:MORGAN_0984 | outside the twenty most chosen |
morgan:MORGAN_0638 | outside the twenty most chosen |
morgan:MORGAN_0285 | outside the twenty most chosen |
rdkit2d:fr_Al_OH | outside the twenty most chosen |
morgan:MORGAN_0914 | outside the twenty most chosen |
morgan:MORGAN_0832 | outside the twenty most chosen |
morgan:MORGAN_0246 | outside the twenty most chosen |
morgan:MORGAN_0523 | outside the twenty most chosen |
morgan:MORGAN_0922 | outside the twenty most chosen |
peptide:n_HBD | outside the twenty most chosen |
morgan:MORGAN_0520 | outside the twenty most chosen |
morgan:MORGAN_0545 | outside the twenty most chosen |
morgan:MORGAN_0811 | outside the twenty most chosen |
morgan:MORGAN_0065 | outside the twenty most chosen |
morgan:MORGAN_0282 | outside the twenty most chosen |
morgan:MORGAN_0730 | outside the twenty most chosen |
morgan:MORGAN_0227 | outside the twenty most chosen |
morgan:MORGAN_0250 | outside the twenty most chosen |
rdkit2d:RingCount | outside the twenty most chosen |
morgan:MORGAN_0288 | outside the twenty most chosen |
morgan:MORGAN_0198 | outside the twenty most chosen |
rdkit2d:fr_piperdine | outside the twenty most chosen |
morgan:MORGAN_0572 | outside the twenty most chosen |
morgan:MORGAN_0080 | outside the twenty most chosen |
morgan:MORGAN_0852 | outside the twenty most chosen |
How the artificial-membrane model performs
Fitted on all 7,298 peptides, with 25 descriptors, measured over 250 extractions of the fixed consensus set.
| Over 250 extractions of the shipped descriptor set | Value |
|---|---|
| Root mean square error | 0.82 plus or minus 0.03 log units |
| Mean absolute error | 0.49 plus or minus 0.02 |
| Correlation | 0.67 plus or minus 0.02 |
| Median absolute error | 0.29 |
| 90th percentile of absolute error | 1.02 |
| Within 0.30 log units | 50.72 percent |
| Within 0.60 log units | 75.99 percent |
An error of 0.82 log units is a factor of 6.68 in the permeability rate. A prediction of one rate could reasonably be that rate multiplied or divided by about 6.68.
What the artificial-membrane model reads
The deployed membrane model reads 25 descriptors. Every one of them is listed below, read from the bundle rather than typed. The recurrence beside each is a property of the search that chose it, not of the model.
These descriptors are what the membrane model reads. Passive permeability is led by size, shape, partial charge and lipophilicity, with polarity entering only per heavy atom. It reads a different set from the absorption model: these are different models of different physics and their inputs are not interchangeable.
| Descriptor | Chosen in |
|---|---|
rdkit2d:MolLogP | 79.60 percent |
morgan:MORGAN_0231 | 59.20 percent |
rdkit2d:PEOE_VSA6 | 52.80 percent |
rdkit2d:MinPartialCharge | 44.80 percent |
peptide:logP_minus_TPSA_scaled | 43.20 percent |
rdkit2d:VSA_EState4 | 40.00 percent |
morgan:MORGAN_0446 | 39.60 percent |
morgan:MORGAN_0314 | 33.20 percent |
morgan:MORGAN_0080 | 31.60 percent |
rdkit2d:PEOE_VSA8 | 31.60 percent |
rdkit2d:qed | 31.20 percent |
morgan:MORGAN_0999 | 30.80 percent |
morgan:MORGAN_0356 | 30.40 percent |
rdkit2d:NumRotatableBonds | 29.60 percent |
peptide:macrocycle_atoms | 29.20 percent |
morgan:MORGAN_0650 | 28.80 percent |
morgan:MORGAN_0340 | 28.40 percent |
morgan:MORGAN_0726 | 26.80 percent |
morgan:MORGAN_0807 | 26.80 percent |
rdkit2d:fr_bicyclic | 26.40 percent |
morgan:MORGAN_0094 | outside the twenty most chosen |
morgan:MORGAN_0435 | outside the twenty most chosen |
rdkit2d:NumAliphaticHeterocycles | outside the twenty most chosen |
rdkit2d:fr_ether | outside the twenty most chosen |
rdkit2d:EState_VSA9 | outside the twenty most chosen |
How to read a card
Each card carries its own bar, its own interval and its own applicability verdict, because each model is fitted to a separate population. A model that cannot answer gets a card too, saying so, rather than leaving a gap that would read as a zero.
A card marked as an extrapolation means the peptide sits further from that model's training set than 95 percent of it does. The prediction is still shown, and the mark sits above it rather than under it in a footnote. What each model was fitted to is on Data.