Beyond Expression Similarity: Contrastive Learning Recovers Functional Gene Associations from Protein Interaction Structure
Organizations: Eridos AI
Abstract
The Predictive Associative Memory (PAM) framework posits that useful relationships often connect items that co-occur in shared contexts rather than items that appear similar in embedding space. A contrastive MLP trained on co-occurrence annotations--Contrastive Association Learning (CAL)--has improved multi-hop passage retrieval and discovered narrative function at corpus scale in text. We test whether this principle transfers to molecular biology, where protein-protein interactions provide functional associations distinct from gene expression similarity. Four experiments across two biological domains map the operating envelope. On gene perturbation data (Replogle K562 CRISPRi, 2,285 genes), CAL trained on STRING protein interactions achieves cross-boundary AUC of 0.908 where expression similarity scores 0.518. A second gene dataset (DepMap, 17,725 genes) confirms the result after negative sampling correction, reaching cross-boundary AUC of 0.947. Two drug sensitivity experiments produce informative negatives that sharpen boundary conditions. Three cross-domain findings emerge: (1) inductive transfer succeeds in biology--a node-disjoint split with unseen genes yields AUC 0.826 (Delta +0.127)--where it fails in text (+/-0.10), suggesting physically grounded associations are more transferable than contingent co-occurrences; (2) CAL scores anti-correlate with interaction degree (Spearman r = -0.590), with gains concentrating on understudied genes with focused interaction profiles; (3) tighter association quality outperforms larger but noisier training sets, reversing the text pattern. Results are stable across training seeds (SD < 0.001) and cross-boundary threshold choices.
Figures & tables
| Threshold | Pairs | CB ( cos ) | Mean pos. cosine | Frac. cos |
|---|---|---|---|---|
| Low ( 400) | 93,562 | 34.9% | 0.187 | 26.3% |
| Medium ( 700) | 41,434 | 25.6% | 0.306 | 39.9% |
| High ( 900) | 23,268 | 20.2% | 0.389 | 50.2% |
| Metric | Low ( 400) | Medium ( 700) | High ( 900) |
|---|---|---|---|
| Training pairs | 93,562 | 41,434 | 23,268 |
| Cosine baseline AUC | 0.570 | 0.644 | 0.692 |
| CAL AUC (assoc-only) | 0.800 | 0.877 | 0.910 |
| AUC | +0.230 | +0.233 | +0.218 |
| CB cosine AUC | 0.529 | 0.534 | 0.518 |
| CB CAL AUC | 0.783 | 0.861 | 0.908 |
| Filter | Pairs | Overall AUC | CB AUC |
|---|---|---|---|
| Combined 700 | 41,434 | 0.877 | 0.861 |
| Combined 900 | 23,268 | 0.910 | 0.908 |
| Experimental 700 | 23,438 | 0.907 | 0.902 |
| Condition | AUC vs cosine | Interpretation |
|---|---|---|
| Full CAL | +0.233 | Full model |
| Shuffled pairs | 0.096 | Random pairings actively hurt |
| Similar positives | +0.018 | Association similarity confirmed |
| Random negatives | +0.193 | Positives carry signal |
| Inductive (edge-split 70/30) | +0.183 | Compositional generalisation |
| Inductive (node-split 70/30) | +0.127 | Cold-start generalisation (Section 6.1 ) |
| Setting | N pairs | CAL AUC | Cosine AUC | AUC |
|---|---|---|---|---|
| In-batch negatives | 200K | 0.379 | 0.896 | 0.517 |
| Random negatives | 200K | 0.956 | 0.896 | +0.060 |
| Domain | Split type | vs baseline | Notes |
|---|---|---|---|
| Text (HotpotQA) | Edge-split | +0.10 R@5 | Not significant (CI includes zero) |
| Text (MuSiQue) | Edge-split | 7.63 R@5 | Harmful |
| Biology (Replogle, med.) | Edge-split | +0.183 AUC | Genes overlap between train/test |
| Biology (Replogle, high) | Node-split | +0.127 AUC | Unseen genes, cold-start |
| Experiment | Regime | Failure mode | Outcome |
|---|---|---|---|
| Gene (Replogle) | Latent signal present | — | +0.390 CB AUC |
| DepMap (random neg.) | Rescued | Negative sampling | +0.377 CB AUC |
| DepMap (in-batch) | Neg. sampling failure | In-batch neg. from pos. cluster | 0.517 |
| Drug fingerprints | No latent signal | Embedding uninformative | +0.021 |
| Drug L1000 | Degree confounded | Low entity diversity | Shuffled real |
| Quintile | Degree range | N pairs | Cosine | Association | |
|---|---|---|---|---|---|
| Q1 (lowest) | 5–184 | 950 | 0.003 | 0.224 | +0.221 |
| Q5 (highest) | 521–1,110 | 933 | 0.030 | 0.097 | +0.127 |
| Cluster source | Total | Coherent | Partial | No signal | % coherent |
|---|---|---|---|---|---|
| PAM-specific (assoc. space) | 22 | 22 | 0 | 0 | 100% |
| Expression-space HDBSCAN | 36 | 35 | 1 | 0 | 97% |
| Random (matched sizes, 10 rep.) | 34 | — | — | 41% |
| Aspect | Text (HotpotQA) | Biology (Replogle) |
|---|---|---|
| Embeddings | BGE-large (1024d) | PCA-50 expression |
| Associations | Gold co-occurrence | STRING PPI |
| Cross-boundary gain | +28.5 R@5 (hard Qs) | +0.390 AUC |
| Inductive transfer (node-split) | Fails ( 0.10) | Succeeds (+0.127) |
| Quality vs quantity | More pairs better | Tighter pairs better |
| Cosine contribution | Useful ( =0.6 optimal) | Uninformative (assoc-only best) |
Appendix figures & tables9 assets
Supplementary material from the paper’s appendix.
Appendix
| Low ( 400) | Medium ( 700) | High ( 900) | |
|---|---|---|---|
| 0.0 (cosine only) | 0.570 | 0.644 | 0.692 |
| 0.1 | 0.575 | 0.652 | 0.701 |
| 0.2 | 0.582 | 0.661 | 0.711 |
| 0.3 | 0.589 | 0.672 | 0.724 |
| 0.4 | 0.599 | 0.685 | 0.739 |
| 0.5 | 0.612 | 0.703 | 0.757 |
| CB AUC | |
|---|---|
| 0.0 | 0.534 |
| 0.1 | 0.566 |
| 0.2 | 0.603 |
| 0.3 | 0.644 |
| 0.4 | 0.689 |
| 0.5 | 0.737 |
| cos threshold | Pos. pairs | Neg. pairs | Cosine AUC | CAL AUC | |
|---|---|---|---|---|---|
| 6,805 | 27,671 | 0.540 | 0.907 | +0.367 | |
| 4,706 | 19,580 | 0.518 | 0.908 | +0.390 | |
| 3,643 | 15,109 | 0.516 | 0.909 | +0.393 | |
| 2,368 | 10,327 | 0.510 | 0.914 | +0.404 | |
| 1,211 | 5,293 | 0.491 | 0.915 | +0.424 |
| N pairs | CAL AUC | Cosine AUC | |
|---|---|---|---|
| 25K | 0.336 | 0.924 | 0.588 |
| 50K | 0.341 | 0.916 | 0.576 |
| 100K | 0.279 | 0.908 | 0.628 |
| 200K | 0.379 | 0.896 | 0.517 |
| N pairs | CAL AUC | Cosine AUC | |
|---|---|---|---|
| 25K | 0.305 | 0.565 | 0.260 |
| 200K | 0.554 | 0.534 | +0.021 |
| Shuffled | 0.636 | — | real |
| Setting | CAL AUC | CB AUC | Shuffled AUC | Shuffled CB |
|---|---|---|---|---|
| In-batch neg. | 0.674 | 0.679 | — | — |
| Random neg. | 0.850 | 0.842 | 0.909 | 0.908 |
| Quintile | Degree range | Cosine | Association | |
|---|---|---|---|---|
| Q1 (lowest) | 5–184 | 0.364 | 0.252 | 0.112 |
| Q2 | 185–270 | 0.431 | 0.215 | 0.216 |
| Q3 | 271–386 | 0.437 | 0.180 | 0.257 |
| Q4 | 387–520 | 0.380 | 0.143 | 0.238 |
| Q5 (highest) | 521–1,110 | 0.336 | 0.108 | 0.228 |
| Expr. cosine | Assoc. cosine | Ratio | |
|---|---|---|---|
| Hub clusters ( =19) | 1.70 | ||
| Non-hub clusters ( =3) | 0.81 |
Contrastive Learning
Contrastive learning trains representations by bringing related examples together and separating unrelated ones for recognition, retrieval, and transfer.
See all 322 papers