| --- |
| license: apache-2.0 |
| tags: |
| - biology |
| - cell-death-prediction |
| - microscopy |
| - neuroscience |
| - time-series |
| --- |
| |
| # Soothsayer: Predicting Cell Death from Live Microscopy |
|
|
| Temporal models that predict whether a neuron will die based on morphological |
| changes observed in live-cell fluorescence microscopy. |
|
|
| ## Models |
|
|
| 50 model checkpoints spanning: |
|
|
| - **Architectures:** Embedding LSTM, DualEncoder LSTM, LeJEPA (Transformer) |
| - **Embeddings:** GEDI-CNN (768d), DINOv2 (768d), GEDI+DINOv2 (1536d dual) |
| - **Observation windows:** k=1 (single frame), k=3, k=5 |
|
|
| ### Best Model |
|
|
| **DualProjection LeJEPA + GEDI+DINOv2 at k=5: AUC 0.858** (12-experiment, 168K tracks) |
|
|
| ## Dataset |
|
|
| 168,729 Tier 1 cell tracks from 12 experiments across motor neurons, iDA, |
| iCortical, and iMN cell types. Each track has ≥5 alive timepoints verified |
| by Siamese cell identity tracking. Death labels from GEDI biosensor |
| (RFP/GFP ratio). |
|
|
| Split: 70/15/15, stratified by death_event × stimulation_dose, random_state=42. |
| |
| ## Usage |
| |
| ```python |
| import torch |
| from soothsayer import Soothsayer |
| |
| model = Soothsayer(input_dim=768, hidden_dim=256, n_heads=4, |
| n_layers=3, ff_dim=512, dropout=0.1) |
| model.load_state_dict(torch.load("soothsayer_grid/lejepa_gedicnn_k5.pt")) |
| model.eval() |
| |
| # embeddings: (batch, seq_len, 768) from GEDI-CNN penultimate layer |
| # hours: (batch, seq_len) elapsed hours |
| # lengths: (batch,) actual sequence lengths |
| pred_next, death_logit, ttd_pred = model(embeddings, hours, lengths) |
| death_prob = torch.sigmoid(death_logit) |
| ``` |
| |
| ## Code |
| |
| https://github.com/operantclaude-hash/gedi-cnn-foundation |
| |
| ## Citation |
| |
| If you use these models, please cite the GEDI-CNN Foundation repository. |
| |