Downloads · 30 days
0
teslajoy/omicstra-r4-v3
omicstra-r4-v3 is a feature extraction model from teslajoy. Use it when you need embeddings to search or compare text. It is set up for pytorch. The card lists the license as mit.
The winning arm of omicstra's v3 alignment grid: a 2.1 M-parameter head that maps frozen H&E and spatial-transcriptomics embeddings into a shared 512-d space, so a niche in one modality retrieves its match in the other.
Downloads · 30 days
0
Access
Public
Updated Sep 9, 2026
Repo size
8.6 MB
Likes
0
Public
Click a slice to open those files.
.pt8.6 MB · 100%
From the Hugging Face model README
The winning arm of omicstra's v3 alignment grid: a 2.1 M-parameter head that maps frozen H&E and spatial-transcriptomics embeddings into a shared 512-d space, so a niche in one modality retrieves its match in the other.
It is not an encoder. Virchow2 and Novae stay frozen and are not included here; this is the bridge between them.
pip install omicstraH&E Virchow2 tile tokens 1280-d ─┐
├─ cross-attention ─→ shared 512-d
ST Novae 64-d + gpath2vec 512-d ─┘
= 576-d per niche
R4 is the only arm in the grid that uses cross-attention rather than mean- pooling the tiles before projection. That distinction is the finding: keeping local morphological heterogeneity un-pooled is what wins retrieval.
| AUC (matched vs mismatched pairs) | 0.8591 |
| 95% CI, Hanley-McNeil | [0.8566, 0.8616] |
| 95% CI, patient bootstrap | [0.8576, 0.8608] |
| test niches | 35,594 |
| negatives | 355,940 |
| evaluation | cross-subarray, patient-held-out (14 held-out patients) |
Patient-held-out is the only honest split here: the three subarrays per patient are consecutive 16 µm sections of one frozen block, so splitting below patient level reports subject identity as if it were method quality.
This evidence is about one cohort, and does not transfer by assumption.
annotation role at all.The exact split is in split.json, the configuration in run_config.json, and
the full grid with all ten arms is in the repository.
| file | what |
|---|---|
checkpoint.pt | state dict, 2,137,216 parameters |
run_config.json | loss, fusion, τ, seed, epochs, input SHAs |
split.json | the patient-level split, seed 42 |
metrics_h1_ci.json | AUC with both CI methods |
training_log.csv | per-epoch loss |
InfoNCE, τ 0.07, cross-attention fusion, MLP projection, dropout 0.3, lr 5e-4, weight decay 1e-3, max 50 epochs with patience 10, seed 42, CPU. No supervision signal: the positive pair is physical co-registration, not a label.
That last point matters. H&E and ST here come from the same 16 µm section - stained, imaged, then coverslip removed and permeabilised in place - so the matched pair is a fact of geometry with no registration error, rather than a label someone assigned.
The checkpoint is a plain PyTorch state dict. In omicstra it is one arm of a grid, and the server will only route a question to it when a cohort's own recorded evaluation supports doing so:
pip install omicstra
export OMICSTRA_PROJECT_DIR=/path/to/a/cohort
omicstra route cross_modal_retrieval
A cohort with no evidence pack is reported as not routable rather than inheriting this one's winner. That refusal is the intended behaviour.
@software{sanati2026omicstra,
author = {Sanati, Nasim},
title = {omicstra: a multi-agent MCP server for cross-modal embedding
alignment and evidence-based routing in spatial biology},
year = {2026},
doi = {10.5281/zenodo.22666752},
url = {https://github.com/teslajoy/omicstra},
license = {MIT}
}
Seed cohort: Wang et al. 2024, Nat. Commun. 15:10232. Funded by the ResearchHub Foundation.