Context Transfer
================


.. raw:: html

     <p style="margin:0.8em 0 1em; padding: 0.8em 1.2em; background: linear-gradient(135deg, rgba(139, 0, 0, 0.08) 0%, rgba(139, 0, 0, 0.03) 100%); border-left: 4px solid #8B0000; border-radius: 4px;">
       <strong>💡 Tip:</strong> Click the&nbsp;
       <span style="color:#8B0000;font-weight:bold;font-size:1.1em;">+</span>
       in the <em>first column</em> to expand detailed method descriptions.
     </p>

   <style>
   td.details-control { 
     width:20px; 
     text-align:center; 
     cursor:pointer;
     color: #8B0000;
     font-weight: bold;
     font-size: 1.2em;
   }
   td.details-control::before { content:'+'; }
   tr.shown td.details-control::before { content:'-'; }
   td.published { text-align:center; font-weight:bold; }
   .table-container { width:100%; overflow-x:auto; }
   a.github-link {
     display:inline-block; font-size:1.2em; vertical-align:middle; color:inherit;
   }
   a.github-link:hover { color:#8B0000; }
   
   /* Task and Model badges */
   .badge {
     display: inline-block;
     padding: 0.25em 0.6em;
     margin: 0.15em;
     font-size: 0.85em;
     font-weight: 500;
     line-height: 1;
     border-radius: 12px;
     white-space: nowrap;
   }
   
   .task-badge {
     background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
     color: white;
     border: 1px solid rgba(102, 126, 234, 0.3);
   }
   
   .model-badge {
     background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
     color: white;
     border: 1px solid rgba(245, 87, 108, 0.3);
   }
   
   html[data-theme="light"] .task-badge {
     background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
     box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);
   }
   
   html[data-theme="light"] .model-badge {
     background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
     box-shadow: 0 2px 4px rgba(245, 87, 108, 0.2);
   }
   
   /* Method name styling */
   td a[href*="doi.org"],
   td a[href*="nature.com"],
   td a[href*="biorxiv.org"],
   td a[href*="cell.com"] {
     font-weight: 600;
     color: #8B0000;
     text-decoration: none;
     transition: all 0.2s ease;
   }
   
   td a[href*="doi.org"]:hover,
   td a[href*="nature.com"]:hover,
   td a[href*="biorxiv.org"]:hover,
   td a[href*="cell.com"]:hover {
     color: #b30000;
     text-decoration: underline;
   }
   
   /* Published status icons */
   td.published {
     font-size: 1.2em;
   }
   
   /* Expandable description styling */
   .expanded-description {
     padding: 1em;
     background: rgba(139, 0, 0, 0.05);
     border-left: 3px solid #8B0000;
     line-height: 1.6;
     font-size: 0.95em;
   }
   
   html[data-theme="light"] .expanded-description {
     background: rgba(139, 0, 0, 0.03);
   }
   </style>

   <div class="table-container">
     <table id="methods-table" class="display" style="width:100%">
       <thead>
         <tr>
           <th></th><th>Method</th><th>Year</th><th>Task</th>
           <th>Model</th><th>Published</th><th>Code</th>
         </tr>
       </thead>
       <tbody>
         <tr data-description="A deep generative model that disentangles (multi-omics) single-cell data by separating sources of variation into known and unknown decomposed latent spaces, which are then concatenated for reconstruction. It requires partial supervision through known cell attributes, such as cell type, age, or perturbation, and employs different encoding strategies for categorical and continuous attributes. Biolord maximizes reconstruction accuracy using count likelihoods, along with an additional MSE loss, while minimizing information in the unknown the per-cell embeddings, thus promoting effective disentanglement. To further constrain the unknown latent space, Biolord uses activation penalty (L2) and Gaussian noise.">
           <td class="details-control"></td>
           <td><a href="https://www.nature.com/articles/s41587-023-02079-x#Sec6">Biolord</a></td>
           <td>2024</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Multi-component Disentanglement</span><span class="badge task-badge">Unseen Perturbation Prediction</span><span class="badge task-badge">Combinatorial Effect Prediction</span><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Probabilistic</span><span class="badge model-badge">ZINB likelihood</span><span class="badge model-badge">Protein-Count (totalVI) Likelihood</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/nitzanlab/biolord" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="CausCell integrates causal representation learning with diffusion-based generative modeling to generate counterfactual single-cell data. It disentangles observed and unobserved concepts using concept-specific adversarial discriminators and links the resulting latent representations through a structural causal model encoded as a directed acyclic graph.">
           <td class="details-control"></td>
           <td><a href="https://www.nature.com/articles/s41467-025-62008-1">CausCell</a></td>
           <td>2024</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Multi-component Disentanglement</span><span class="badge task-badge">Causal Structure</span><span class="badge task-badge">Combinatorial Effect Prediction</span><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">Seen Perturbation Prediction</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Diffusion</span><span class="badge model-badge">Auxilary Classifiers</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/bm2-lab/CausCell" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="CellBox models cellular responses to perturbations, by linking molecular and phenotypic outcomes through a unified nonlinear ODE-based model, aimed at simulating dynamic cellular behavior. The framework uses gradient descent with automatic differentiation to infer ODE network interaction parameters, facilitating exposure to novel perturbations and prediction of cell responses. ">
           <td class="details-control"></td>
           <td><a href="https://www.cell.com/cell-systems/pdf/S2405-4712(20)30464-6.pdf">CellBox</a></td>
           <td>2021</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">Seen Perturbation Prediction</span><span class="badge task-badge">Combinatorial Effect Prediction</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">ODE</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/sanderlab/CellBox" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="CellDISECT integrates disentangled representations and causal inference. It uses a mixture of expert variational autoencoders (VAEs), each specializing in learning latent spaces for specific observed covariates (e.g., tissue, donor, protocol), alongside an unsupervised VAE for unobserved factors. During training CellDISECT generates synthetic counterfactual cell profiles and evaluates the quality of these predictions to improve generalization.">
           <td class="details-control"></td>
           <td><a href="https://www.biorxiv.org/content/10.1101/2025.06.03.657578v1.full.pdf">CellDISECT</a></td>
           <td>2025</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Nonlinear Gene Programmes</span><span class="badge task-badge">Contrastive Disentanglement</span><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">VAE</span><span class="badge model-badge">Mixture of Experts</span></div></td>


           <td class="published"><span style="color: #DC143C;">✗</span></td>
            <td><a href="https://github.com/Lotfollahi-lab/CellDISECT" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="CellFlow (Klein et al.) learns a neural vector field parameterised as a neural ODE, which predicts single-cell expression profiles under a wide range of experimental conditions. The model encodes perturbations (labels or embeddings), covariates (dosage, batch, time, etc.), and sample descriptors using specialised embeddings, aggregates these using permutation-invariant pooling (multi-head attention or deep sets), and uses the resulting joint embedding to condition the flow module. Flow matching and optimal transport are used to align control and perturbed cells, thereby modeling both cellular heterogeneity and perturbation-specific effects, and enabling accurate counterfactual predictions.">
           <td class="details-control"></td>
           <td><a href="https://www.biorxiv.org/content/10.1101/2025.04.11.648220v1.full.pdf">cellFlow</a></td>
           <td>2025</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Trace Cell Populations</span><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">Unseen Perturbation Prediction</span><span class="badge task-badge">Combinatorial Effect Prediction</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Conditional Flow Matching</span><span class="badge model-badge">Optimal Transport</span></div></td>


           <td class="published"><span style="color: #DC143C;">✗</span></td>
            <td><a href="https://github.com/theislab/CellFlow" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="CellOT learns mappings between control and perturbed cell state distributions by solving a dual formulation of the optimal transport problem. The approach learns optimal transport maps as the gradient of a convex potential function, which is approximated using input convex neural networks - (briefly) a specific type of neural network with convex-preserving constraints, such as non-negative weights and a predefined set of activation functions (e.g. ReLU). Instead of relying on regularisation-based OT (e.g. Entropy-regularised Sinkhorn), it jointly optimizes dual potentials (a pair of functions) via a max–min loss.">
           <td class="details-control"></td>
           <td><a href="https://www.nature.com/articles/s41592-023-01969-x">CellOT</a></td>
           <td>2023</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Trace Cell Populations</span><span class="badge task-badge">Perturbation Responsiveness</span><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Dual (min-max) Formulation OT</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/bunnech/cellot" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="CFGen is a flow-based model for producing multi-modal scRNA-seq data. CFGen builds on cellFlow (Palma et al.) and explicitly models the discrete, over-dispersed nature of single-cell counts when generating synthetic data.">
           <td class="details-control"></td>
           <td><a href="https://openreview.net/forum?id=3MnMGLctKb">CFGen</a></td>
           <td>2024</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Trace Cell Populations</span><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Optimal Transport</span><span class="badge model-badge">Multi-modal</span><span class="badge model-badge">Conditional Flow Matching</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/theislab/CFGen" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="A CPA extension that embeds prior knowlegde about the compound structure of drugs (SMILES representations), allowing it to extend CPA to unseen drug perturbations.">
           <td class="details-control"></td>
           <td><a href="https://proceedings.neurips.cc/paper_files/paper/2022/hash/aa933b5abc1be30baece1d230ec575a7-Abstract-Conference.html">ChemCPA</a></td>
           <td>2022</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Unseen Perturbation Prediction</span><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">Multi-component Disentanglement</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">AE framework inspired by CPA</span><span class="badge model-badge">Chemical representation embeddings</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="github.com/theislab/chemCPA" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="CODEX uses a Deep Neural Network to map cells from control to perturbed states, learning perturbation effects in respective perturbation-dependent latent spaces. These latent spaces can be arbitrarily combined to infer unseen combinatorial effects, allowing the model to predict the outcomes of complex treatment combinations. Additionally, CODEX can leverage prior information from Gene Ontologies to inform the effects of completely unSeen Perturbation Prediction.">
           <td class="details-control"></td>
           <td><a href="https://academic.oup.com/bioinformatics/article/40/Supplement_1/i91/7700898">CODEX</a></td>
           <td>2024</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Combinatorial Effect Prediction</span><span class="badge task-badge">Unseen Perturbation Prediction</span><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">DNN</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/sschrod/CODEX" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="CondOT builds on CellOT to learn context-aware optimal transport maps by conditioning on an auxiliary variable. Instead of learning a fixed transport map, it learns a context-dependent transport map that adapts based on this auxiliary information. The OT map is modeled as the gradient of a convex potential using partially input convex neural networks, which ensures mathematical properties required for parametrised optimal transport. The auxiliary variables can be of different types: continuous (like dosage or spatial coordinates), categorical (like treatment groups, represented via one-hot encoding), or learned embeddings learned. Additionally, CondOT includes a separate neural module, a combinator network, for combinatorial predictions.">
           <td class="details-control"></td>
           <td><a href="https://proceedings.neurips.cc/paper_files/paper/2022/file/2d880acd7b31e25d45097455c8e8257f-Paper-Conference.pdf">CondOT</a></td>
           <td>2022</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Trace Cell Populations</span><span class="badge task-badge">Unseen Perturbation Prediction</span><span class="badge task-badge">Combinatorial Effect Prediction</span><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Conditioned Dual (min-max) Formulation OT</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/bunnech/condot/tree/main" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="Compositional Perturbation Autoencoder (CPA) models single-cell gene expression under perturbations and covariates by decomposing expression into additive latent embeddings: a basal state, perturbation effects, and covariate effects. To ensure that the basal embedding is disentangled, CPA employs an adversarial training approach. Auxiliary classifiers (discriminators) are trained to predict perturbations and covariates from the basal embedding, discouraging the basal representation from encoding such information. To model dose-response effects, CPA uses neural networks to encode continuous covariates and perturbants (e.g., time or dose); whereas combinatorial perturbations are modeled as an additive composition of these embeddings in the latent space.">
           <td class="details-control"></td>
           <td><a href="https://www.embopress.org/doi/full/10.15252/msb.202211517">CPA</a></td>
           <td>2023</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">Combinatorial Effect Prediction</span><span class="badge task-badge">Multi-component Disentanglement</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">VAE</span><span class="badge model-badge">DANN-based Adversary that attempts to eliminate treatment effects/ cellular context from latent representation</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/theislab/cpa" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="CytoBridge approximates the Unbalanced Mean Field Schrödinger Bridge (UMFSB) to model unbalanced stochastic cell dynamics with cell-cell interactions from snapshot data. It uses neural networks and flow matching to infer transition velocity, growth/death rates, and interaction potentials. The framework offers a unified approach to model time-series transcriptomics, elucidating how intercellular communication influences cellular processes and behaviors. ">
           <td class="details-control"></td>
           <td><a href="https://openreview.net/pdf?id=Z6DJJIN8IJ">CytoBridge</a></td>
           <td>2025</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Trace Cell Populations</span><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">Seen Perturbation Prediction</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Neural ODE</span><span class="badge model-badge">Flow Matching</span><span class="badge model-badge">Optimal Transport</span><span class="badge model-badge">Time-resolved</span><span class="badge model-badge">Mean Field Model</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/zhenyiizhang/CytoBridge.git" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="DeepRUOT solves an Regularized Unbalanced Optimal Transport (RUOT) problem to reconstruct stochastic dynamics from sparse time-resolved snapshots. By introducing Fisher-regularization, the method simultaneously infers the transition velocity, growth/death rates without any prior knowledge. The framework transforms time-series transcriptomics data into a virtual dynamical system to identify single-cell growth and transition patterns, eliminating false transitions, and constructing the Waddington developmental landscape.">
           <td class="details-control"></td>
           <td><a href="https://openreview.net/forum?id=gQlxd3Mtru">DeepRUOT</a></td>
           <td>2025</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Trace Cell Populations</span><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">Seen Perturbation Prediction</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Neural ODE</span><span class="badge model-badge">Flow Matching</span><span class="badge model-badge">Optimal Transport</span><span class="badge model-badge">Time-resolved</span><span class="badge model-badge">Fisher-regularized Unbalanced Dynamics</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/zhenyiizhang/DeepRUOTv2.git" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="Dr.VAE uses a Variational Autoencoder that predicts drug response from transcriptomic perturbation signatures. It models transcription change as a linear function within a low-dimensional latent space, defined by encoder and decoder neural networks. For paired expression samples from treated and control conditions, Dr.VAE accurately predicts treated expression.">
           <td class="details-control"></td>
           <td><a href="https://academic.oup.com/bioinformatics/article/35/19/3743/5372343">Dr.VAE</a></td>
           <td>2019</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">Seen Perturbation Prediction</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">VAE</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/rampasek/DrVAE" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="FLeCS models single-cell gene expression dynamics using coupled ordinary differential equations (ODEs) parameterized by a gene regulatory network. Cells are grouped into temporal bins either via pseudotime inference or experimental timestamps and aligned across time with optimal transport to form (pseudo)time series. To model interventions FLeCS replicates interventions in the learned graph.">
           <td class="details-control"></td>
           <td><a href="https://arxiv.org/pdf/2503.20027">FLeCS</a></td>
           <td>2025</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">GRN Inference</span><span class="badge task-badge">Causal Structure</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">ODE</span><span class="badge model-badge">Optimal Transport</span></div></td>


           <td class="published"><span style="color: #DC143C;">✗</span></td>
            <td><a href="https://github.com/Bertinus/FLeCS" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="GraphVCI employs two parallel inference branches to estimate latent variables from factual and counterfactual inputs. In the factual branch, observed gene expressions, treatments, and covariates are encoded via an MLP combined with a GCN/GAT module that integrates a gene regulatory network; its corresponding decoder then reconstructs the observed expression profile. The sparse gene regulatory network is generated using a prior-informed drop out mechanism, based on ATAC-Seq data.  A parallel branch processes counterfactual treatments to generate alternative expression profiles. Training minimizes three losses: an individual-specific reconstruction loss computed as the negative log likelihood (e.g., under a normal or negative binomial distribution) of the observed expressions; a covariate-specific loss implemented as an adversarial network using a binary cross-entropy loss on the counterfactual outputs; and a KL divergence loss that regularizes and aligns the latent space between the factual and counterfactual branches.">
           <td class="details-control"></td>
           <td><a href="https://openreview.net/pdf?id=ICYasJBlZNs">graphVCI</a></td>
           <td>2023</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Dual-branch variational bayes causal inference framework</span><span class="badge model-badge">PK Representations</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/yulun-rayn/graphVCI" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="The paper extends entropic Gromov-Wasserstein Optimal Transport and Co-Optimal Transport to incorporate perturbation labels for aligning data across different modalities from large-scale perturbation screens. The core innovation involves constraining the learned cross-modality coupling matrix to be &#34;label-compatible&#34;, meaning that the transport plan is informed by the perturbation labels and is only allowed to match between cells that have received the same perturbation label, which is achieved by modifying the Sinkhorn algorithm. This label-compatible alignment is used to train a model to estimate cellular responses to perturbations when measurements are available in only one modality.">
           <td class="details-control"></td>
           <td><a href="https://arxiv.org/pdf/2405.00838">GWOT</a></td>
           <td>2025</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Trace Cell Populations</span><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Optimal Transport</span><span class="badge model-badge">Multi-modal</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://genentech.github.io/Perturb-OT/" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="Metric Flow Matching (MFM) constructs probability paths between source and target distributions by interpolating geodesics following a data-dependent Riemannian metric, ensuring that interpolations remain close to the data manifold rather than being straight lines in Euclidean space. MFM first learns these geodesics by minimizing a special cost function, and then regresses a vector field along a geodesic-based corrected path using a conditional flow matching objective.">
           <td class="details-control"></td>
           <td><a href="https://proceedings.neurips.cc/paper_files/paper/2024/file/f381114cf5aba4e45552869863deaaa7-Paper-Conference.pdf">MFM</a></td>
           <td>2024</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Trace Cell Populations</span><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">Seen Perturbation Prediction</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Flow Matching</span><span class="badge model-badge">Optimal Transport</span><span class="badge model-badge">Time-resolved</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/kksniak/metric-flow-matching.git" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="MMFM (Multi-Marginal Flow Matching) builds on Flow Matching to model cell trajectories across time and conditions. MMFM generalises the Conditional Flow Matching framework to incorporate multiple time points using a spline-based conditional probability path. Moreover, it leverages ideas from classifier-free guidance to incorporate multiple conditions.">
           <td class="details-control"></td>
           <td><a href="https://openreview.net/pdf?id=hwnObmOTrV">MMFM</a></td>
           <td>2024</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Trace Cell Populations</span><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">Seen Perturbation Prediction</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Flow Matching</span><span class="badge model-badge">Optimal Transport</span><span class="badge model-badge">Time-resolved</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="github.com/Genentech/MMFM" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="OmiCLIP is a dual-encoder foundation model that encodes H&amp;E histology patches with a Vision Transformer and “gene-sentence” representations of (10X Visium) spatial transcriptomics (ST) using a Transformer initialised on LAION-5B. It projects both modalities into a shared latent space using symmetric contrastive learning, which pulls matched histology-transcriptome pairs. The model is pretrained on paired H&amp;E images and ST data across diverse organs and disease states. These aligned embeddings underpin downstream tasks such as spatial registration of histology to transcriptomic spots, zero-shot tissue annotation, cell-type deconvolution, retrieval of matching transcriptomic profiles for novel histology inputs, and prediction of spatial gene-expression patterns directly from histology.">
           <td class="details-control"></td>
           <td><a href="https://www.nature.com/articles/s41592-025-02707-1">OmiCLIP</a></td>
           <td>2025</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">ViT</span><span class="badge model-badge">Contrastive Learning</span><span class="badge model-badge">Multi-modal</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/GuangyuWangLab2021/Loki" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="PDGrapher builds on graph neural network (GNN) to predict therapeutic perturbations that can reverse disease phenotypes, focusing directly on identifying perturbation targets rather than modeling the perturbation effects. By embedding diseased cell states into gene regulatory networks or protein-protein interaction networks, PDGrapher learns latent representations to infer optimal perturbations that drive diseased states toward desired healthy outcomes. The method utilizes dual GNNs - a response prediction module and a perturbagen discovery module - both employing causal graphs as priors and adjusting edges to model interventions. ">
           <td class="details-control"></td>
           <td><a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC10802439/">PDGrapher</a></td>
           <td>2025</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Combinatorial Effect Prediction</span><span class="badge task-badge">Unseen Perturbation Prediction</span><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">GNN</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/mims-harvard/PDGrapher" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="PrePR-CT is a framework designed to predict transcriptional responses to chemical perturbations in unobserved cell types by utilizing cell-type-specific graphs encoded within Graph Attention Networks (GANs). The approach constructs cell graph priors using metacells which are randomly associated with perturbed cells to transform the problem into a regression task.">
           <td class="details-control"></td>
           <td><a href="https://www.biorxiv.org/content/10.1101/2024.07.24.604816v1.full.pdf">PrePR-CT</a></td>
           <td>2024</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Graph attention</span><span class="badge model-badge">Regression</span></div></td>


           <td class="published"><span style="color: #DC143C;">✗</span></td>
            <td><a href="https://github.com/reem12345/Cell-Type-Specific-Graphs" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="PRESCIENT models cellular differentiation as a stochastic diffusion process, where the drift term is parameterised as the negative gradient of a neural network-learned potential function. The model is trained using time-series single-cell RNA-seq data, and fits the potential function by minimizing the regularised Wasserstein distance between simulated and observed cell populations at each time point, explicitly incorporating cell proliferation by weighting cells according to their expected number of descendants. PRESCIENT can simulate differentiation trajectories for both observed and (in silico) perturbed cell states, enabling the prediction of cell fate outcomes under various genetic interventions.">
           <td class="details-control"></td>
           <td><a href="https://www.nature.com/articles/s41467-021-23518-w">Prescient</a></td>
           <td>2021</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Trace Cell Populations</span><span class="badge task-badge">Seen Perturbation Prediction</span><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Diffusion</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/gifford-lab/prescient" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="Prophet represents each experiment as a set of three axes - cellular state (cell lines), treatments (perturbations), and phenotypic readouts - and projects diverse prior knowledge types (e.g., CCLE bulk RNA-seq for cell lines; chemical fingerprints or transcriptomic/genomic vectors for perturbations; learnable embeddings for readouts) into a shared token space. It is pre-trained on a set of diverse perturbation experiments covering readouts such as cell viability, compound IC50, Cell Painting morphology features, mRNA transcript abundance, and cell type proportions. A transformer-based encoder integrates these tokenised inputs, feeding a regression head that’s trained end-to-end to minimise mean squared error across all outcome types. The model is fine-tuned for assay-specific data applications.">
           <td class="details-control"></td>
           <td><a href="https://www.biorxiv.org/content/10.1101/2024.08.12.607533v2">Prophet</a></td>
           <td>2024</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Unseen Perturbation Prediction</span><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Transformer</span><span class="badge model-badge">Multi-modal</span><span class="badge model-badge">Knowledge Informed</span></div></td>


           <td class="published"><span style="color: #DC143C;">✗</span></td>
            <td><a href="https://github.com/theislab/prophet" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="RENGE attempts to infer gene regulatory networks from time-series single-cell CRISPR knockout data. It models changes in gene expression following a knockout by propagating the effects through direct and higher-order (indirect) regulatory paths, where the gene network is represented as a matrix of regulatory strengths between gene pairs.">
           <td class="details-control"></td>
           <td><a href="https://www.nature.com/articles/s42003-023-05594-4">RENGE</a></td>
           <td>2023</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">GRN Inference</span><span class="badge task-badge">Causal Structure</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Regression model</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/masastat/RENGE" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="RiTINI employs graph ordinary differential equations (graph-ODEs) to infer time-varying interaction graphs from multivariate time series data. RiTINI integrates dual attention mechanisms to enhance dynamic modeling and defines interaction graph inference as identifying a directed graph. Further, RiTINI utilizes prior knowledge to initialise the causal graph and by penalizing deviations the prior. Additionally, RiTINI simulates perturbations in silico to further refine the graph structure.">
           <td class="details-control"></td>
           <td><a href="https://proceedings.mlr.press/v231/bhaskar24a.html">RiTINI</a></td>
           <td>2024</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">GRN Inference</span><span class="badge task-badge">Causal Structure</span><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Graph interventions</span><span class="badge model-badge">Graph-ODE</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/KrishnaswamyLab/RiTINI" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="scCausalVI is a causality-aware generative model that disentangles inherent cellular heterogeneity from treatment-induced effects in perturbational single-cell RNA-seq data. It encodes structural causal model (SCM) principles into a deep variational inference framework, learning two distinct but interrelated latent factor sets: background factors capturing intrinsic cellular states and treatment effect factors encoding condition-specific transcriptional changes. A Squeeze-and-Excitation Networks (SENet) attention mechanism adaptively scales treatment effects per cell, enabling cell-state-specific response modeling at single-cell resolution. When batch information is available, scCausalVI simultaneously disentangles batch effects, treatment effects, and baseline cellular states in multi-source data integration. Through cross-condition in silico prediction, scCausalVI predicts gene expression profiles under hypothetical scenarios by intervening on condition assignments within the SCM. This enables identification of treatment-responsive cells via permutation-based significance testing, as well as identification of susceptible versus resistant subpopulations by computationally projecting treated cells back to untreated states. Downstream differential expression and pathway analyses on these virtual cells identified subpopulations reveal molecular signatures and regulatory mechanisms underlying differential cellular responses, facilitating the discovery of therapeutic targets and mechanistic drivers of disease susceptibility. ">
           <td class="details-control"></td>
           <td><a href="https://doi.org/10.1016/j.cels.2025.101443">scCausalVI</a></td>
           <td>2025</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Causal Structure</span><span class="badge task-badge">Unsupervised Disentanglement</span><span class="badge task-badge">Seen Perturbation Prediction</span><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">Multi-component Disentanglement</span><span class="badge task-badge">Perturbation Responsiveness</span><span class="badge task-badge">Differential Analysis</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Variational Autoencoder</span><span class="badge model-badge">Structural Causal Model</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/ShaokunAn/scCausalVI" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="scDiffusion employs a Latent Diffusion Model for generating single-cell RNA sequencing data, using a three-part framework - a fine-tuned autoencoder for initial data transformation, a skip-connected multilayer perceptron denoising network, and a condition controller for cell-type-specific data generation.">
           <td class="details-control"></td>
           <td><a href="https://academic.oup.com/bioinformatics/article/40/9/btae518/7738782">scDiffusion</a></td>
           <td>2024</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Diffusion</span><span class="badge model-badge">VAE</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/EperLuo/scDiffusion" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="scGen is VAE that uses latent space vector arithmetics to predict single-cell perturbation responses. The method first encodes high-dimensional gene expression profiles into a latent space, where it computes a difference vector (delta) representing the change between perturbed and unperturbed conditions. At inference, this delta vector is linearly added to the latent representation of unperturbed cells, and the adjusted latent vector is then decoded back into the original gene expression space, thereby simulating the perturbed state. ">
           <td class="details-control"></td>
           <td><a href="https://www.nature.com/articles/s41592-019-0494-8#Abs1">scGEN</a></td>
           <td>2019</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">VAE</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/theislab/scgen" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="scPRAM is a computational framework for predicting single-cell gene expression changes in response to perturbations. The method integrates three main components: a variational autoencoder (VAE), optimal transport, and an attention mechanism. The VAE encodes the gene expression data into a latent space. Optimal transport is applied in this latent space to match unpaired cells before and after perturbation by finding an optimal coupling between their distributions. For each test cell, the attention mechanism computes a perturbation vector by comparing its latent representation (query) against those of matched training cells (keys and values). The predicted post-perturbation response is generated by adding the perturbation vector to the query and decoding it back to gene expression space using the VAE decoder.">
           <td class="details-control"></td>
           <td><a href="https://academic.oup.com/bioinformatics/article/40/5/btae265/7646141">scPRAM</a></td>
           <td>2024</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">Trace Cell Populations</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">VAE</span><span class="badge model-badge">OT</span><span class="badge model-badge">Attention</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/jiang-q19/scPRAM" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="Squidiff pairs a semantic encoder with a conditional Denoising Diffusion Implicit Model. To model perturbations, it learns a &#39;direction vector&#39; by calculating the difference between control and perturbed states in the latent space. It then predicts responses in new cell types by applying this vector using latent arithmetic (addition) to the new cell&#39;s latent representation. Similarly, it generates transient states in continuous processes like differentiation by interpolating along start and end points. Finally, it integrates an adaptor to encode chemical structures, enabling predictions for unseen drugs.">
           <td class="details-control"></td>
           <td><a href="https://www.nature.com/articles/s41592-025-02877-y">Squidiff</a></td>
           <td>2025</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Combinatorial Effect Prediction</span><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">Unseen Perturbation Prediction</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Diffusion Model</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/siyuh/squidiff" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="State predicts cellular perturbation responses from single-cell transcriptomics by mapping control to perturbed profiles. It combines (1) a State Embedding (SE) model trained on large-scale observational single-cell data to create gene- and cell-level embeddings, and (2) a State Transition (ST) model with a transformer backbone and bidirectional self-attention to capture heterogeneity across matched sets of perturbed and control cells. The ST model is optimized using a maximum mean discrepancy (MMD) loss between predicted and actual perturbed profiles, enabling robust and context-aware prediction of gene expression responses to perturbations.">
           <td class="details-control"></td>
           <td><a href="https://arcinstitute.org/manuscripts/State">State</a></td>
           <td>2025</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Combinatorial Effect Prediction</span><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">DNN</span><span class="badge model-badge">Attention</span></div></td>


           <td class="published"><span style="color: #DC143C;">✗</span></td>
            <td><a href="https://github.com/ArcInstitute/State" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="SubCell is a set of self-supervised vision transformer (ViT) models trained on low-plex single-cell immunofluorescence images from the Human Protein Atlas to learn biologically meaningful representations of protein localisation and tissue morphology. The models are optimised using a multi-task objective that combines masked autoencoding for spatial reconstruction, a cell-specific contrastive loss to enforce consistency across augmented views of the same cell, and a protein-specific contrastive loss to align embeddings of cells stained for the same protein across different cell lines and experiments. An attention pooling module is used to priotise informative subcellular regions. The resulting models, particularly ViT-ProtS-Pool and MAE-CellS-ProtS-Pool, are shown to generalise across datasets, imaging modalities, cell types, and perturbations without fine-tuning.">
           <td class="details-control"></td>
           <td><a href="https://www.biorxiv.org/content/10.1101/2024.12.06.627299v1.abstract">SubCell</a></td>
           <td>2024</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">Nonlinear Gene Programmes</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">A collection of Vision Transformer Models</span><span class="badge model-badge">Contrastive loss</span></div></td>


           <td class="published"><span style="color: #DC143C;">✗</span></td>
            <td><a href="https://github.com/czi-ai/sub-cell-embed" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="A VAE  that combines the sparse mechanism shift from SVAE+ with learning a probabilistic pairing between cells and unobserved auxiliary variables. These auxilary variables correspond to the observed perturbation labels in SVAE+, but here they are learned in a data-driven way (rather than passed as static labels) which in turn enables counterfactual context-transfer scenarios.">
           <td class="details-control"></td>
           <td><a href="https://openreview.net/pdf?id=8hptqO7sfG">svae-ligr</a></td>
           <td>2024</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Seen Perturbation Prediction</span><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">Multi-component Disentanglement</span><span class="badge task-badge">Causal Structure</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">VAE</span><span class="badge model-badge">NB likelihood</span><span class="badge model-badge">Sparse Mechanism Shift</span><span class="badge model-badge">Generative/Experience Replay</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/theislab/svaeligr" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="A VAE that partitions each cell’s latent representation into covariate-specific and covariate-agnostic (invariant) variables. It enforces disentanglement by making the covariate-specific latents more similar for positive pairs of cells (those sharing a covariate) and more dissimilar for negative pairs (those differing in that covariate). Simultaneously, TarDis maximizes or minimizes the distance between these positive/negative pairs and the covariate-agnostic latent space in a way that ensures its independence from the targeted covariates. This is accomplished via multiple distance-based loss terms for each covariate. TarDis supports both categorical and continuous covariates.">
           <td class="details-control"></td>
           <td><a href="https://link.springer.com/chapter/10.1007/978-3-031-90252-9_23">TarDis</a></td>
           <td>2024</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Multi-component Disentanglement</span><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">VAE</span><span class="badge model-badge">NB likelihood</span><span class="badge model-badge">Multi-modal</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/theislab/tardis" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="trVAE is a conditional variational autoencoder, which applies Maximum Mean Discrepancy regularization to the first layer of its decoder. This forces the model to learn condition-invariant features, enabling it to transform samples between conditions and predict OOD responses, such as unseen cell-type specific response to seen perturbations. ">
           <td class="details-control"></td>
           <td><a href="https://academic.oup.com/bioinformatics/article/36/Supplement_2/i610/6055927#409207818">trVAE</a></td>
           <td>2020</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">Seen Perturbation Prediction</span><span class="badge task-badge">Multi-component Disentanglement</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">CVAE</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="github.com/theislab/trvae" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="GraphVCI predecessor, almost identical architecture, excluding the prior knowledge graphs.">
           <td class="details-control"></td>
           <td><a href="https://arxiv.org/abs/2209.05935">VCI</a></td>
           <td>2024</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Context Transfer</span><span class="badge task-badge">Seen Perturbation Prediction</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">Dual-branch variational bayes causal inference framework</span></div></td>


           <td class="published"><span style="color: #DC143C;">✗</span></td>
            <td><a href="https://github.com/yulun-rayn/variational-causal-inference" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
         <tr data-description="VirTues is a multi-modal foundation model based on a vision transformer architecture, trained on multiplex spatial proteomics data from lung, breast, and melanoma tumors. It combines image representations with protein language model (PLM) embeddings of molecular markers and constructs hierarchical summary tokens at the cell, niche, and tissue levels. This PLM-based tokenisation enables the model to predict previously unseen markers. The architecture employs a sparse attention mechanism that factorises attention into spatial and marker components to manage the computational complexity of high-dimensional input. Training is performed using a masked autoencoding objective - i.e. it reconstructs missing subsets of spatial and protein data.">
           <td class="details-control"></td>
           <td><a href="https://arxiv.org/abs/2501.06039">VirTues</a></td>
           <td>2025</td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge task-badge">Context Transfer</span></div></td>

           <td><div style="display: flex; flex-wrap: wrap; gap: 0.3em;"><span class="badge model-badge">ViT</span><span class="badge model-badge">Maked Autoencoder</span><span class="badge model-badge">Multi-modal</span></div></td>


           <td class="published"><span style="color: #2E8B57;">✓</span></td>
            <td><a href="https://github.com/bunnelab/virtues" class="github-link">
                  <i class="fab fa-github" aria-hidden="true"></i>
                  <span class="sr-only">GitHub</span>
                </a></td>
         </tr>
       </tbody>
     </table>
   </div>

.. raw:: html

   <script>
   jQuery(function($){
      $('#methods-table').DataTable({
        order:      [[2,'desc']],
        pageLength: 10,
        lengthMenu: [5,10,20,50,200],
        scrollX:    true,
        autoWidth:  false
      });
     $('#methods-table tbody').on('click','td.details-control',function(){
       var tr = $(this).closest('tr'),
           row = $('#methods-table').DataTable().row(tr);
       if(row.child.isShown()){
         row.child.hide(); tr.removeClass('shown');
       } else {
         row.child('<div class="expanded-description">'+tr.data('description')+'</div>').show();
         tr.addClass('shown');
       }
     });
   });
   </script>

