Skip to content

Response prediction: predict unseen perturbations & combinations (GEARS, CPA/chemCPA, biolord, FM embeddings) #1034

Description

@Zethson

Context

pertpy's response-prediction module currently ships Scgen and Cinemaot.
Both are valuable, but neither predicts the effect of perturbations that were not measured, which is the question most large screens actually pose:
"Which of the perturbations (or combinations) I did not run should I run next?"

What's missing

  • Genetic perturbation prediction including unseen single/double gene combinations — GEARS (GNN over a gene–gene graph).
  • Compositional dose/covariate modeling — CPA (Compositional Perturbation Autoencoder).
  • Chemical perturbation / drug-dose generalization — chemCPA.
  • Disentangled latent modeling — biolord.
  • A foundation-model embedding interface so cells/perturbations can be represented with scGPT / Geneformer / scFoundation / State and fed into the existing perturbation-space and distance tooling.

Proposal / API

Expose these under pertpy.tools behind a shared .train() / .predict() interface consistent with the existing Scgen model (scvi-tools style), returning predicted AnnData that plugs into the perturbation-space and distance tooling.
Reuse the perturbation-level API introduced in #1032.

Why it matters

  • Academia: in silico perturbation screening and hypothesis generation.
  • Industry: prioritizing which of thousands of unmeasured targets / combinations / doses to run — directly reduces experimental cost.

Scope

Each method is a sizeable addition (deps, tutorial, tests) and can land as its own PR; this issue tracks the module direction.
Pair with the benchmarking harness (separate issue) so every predictor is evaluated against baselines.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions