← Blog

Designing a glioblastoma-selective promoter with Claude Code and Genomic Intelligence

A Claude Code agent used the Genomic Intelligence expression API to screen endogenous promoters, optimize a PROM1-derived regulatory sequence, and produce a reproducible in-silico candidate for wet-lab validation.

  • agentic
  • api
  • expression
  • promoter-design

One way to attack cancer with gene therapy is to deliver a gene that can kill the cell. The therapeutic payload may be a toxic enzyme, an immune-activating cytokine, or a combination of both. But the payload is only useful if it is controlled.

That control usually comes from regulatory DNA: promoters and enhancers that decide where a gene is active. In a brain tumour, the design problem is sharp. The regulatory sequence should turn the payload on in glioblastoma cells, but stay quiet in normal brain cells. If it also activates in healthy neurons or glia, the therapy can cause unacceptable collateral damage.

This is exactly the bottleneck behind cell-state-selective gene therapy. The payload can be powerful, but the therapeutic window depends on the DNA switch that controls it.

A recent Nature paper, “Synthetic super-enhancers enable precision viral immunotherapy”, showed how carefully engineered regulatory elements can drive glioblastoma stem-cell-selective expression of therapeutic payloads. The authors built synthetic super-enhancers for glioblastoma stem cells and validated selective expression against normal cortex samples. It is a strong example of the opportunity, and also of the bottleneck: finding the right regulatory sequence can take extensive biological screening and engineering.

Without a predictive model, much of this work happens through long experimental cycles: design a library, test it in cells, find that many candidates are too weak or not selective enough, redesign, and try again. Model-guided design does not remove the need for wet-lab validation, but it can move the starting point. Instead of entering the lab with a broad, mostly unranked library, a team can arrive with a small panel of computationally optimized candidates that already satisfy the desired activity profile in silico.

We ran a small demo to show how this kind of design loop can be moved into an agentic workflow. The task was to use Claude Code together with the Genomic Intelligence expression API to design a promoter or regulatory sequence with high predicted expression in glioblastoma stem-like cells and low predicted expression in normal adult brain.

We previously showed the same basic design problem inside Biomni Lab, where Biomni orchestrated the promoter screen and optimization around Genomic Intelligence models. Here we explore the same idea from a different angle: using Claude Code as the agentic coding environment.

Claude Code did not use a special built-in tool for this. It read the API documentation, wrote Python code, pulled candidate genomic sequences, called the Genomic Intelligence model, ran an optimization loop, and saved the resulting files.

Watch the demo: Claude Code using Genomic Intelligence models to design a glioblastoma-selective regulatory sequence.

The prompt

The task was phrased as a biological design goal:

Design a promoter/regulatory sequence with high predicted expression in glioblastoma stem-like cells and low predicted expression in normal brain.

The target context was:

PolyA RNA-seq from adult human patient-derived glioblastoma stem-like cells; neural progenitor-like tumour-propagating state; SOX2 high, SOX9 high, Nestin high, proliferative, MAPK/ERK signalling active; GRCh38, V29, paired-end, unstranded, unperturbed.

The off-target context was normal adult human cerebral cortex.

Claude was asked to:

  • start from plausible endogenous human promoters,
  • use the Genomic Intelligence expression task,
  • define selectivity as target_score - off_target_score,
  • pick the best starting promoter,
  • run 100 cycles of greedy SNV-only optimization,
  • preserve the GI model input constraints, especially sequence length,
  • and save candidates.fa, scores.tsv, best_candidate.fa, and report.md.

This is the kind of workflow where an agent is useful because the task is not one model call. It requires reading documentation, checking an API contract, fetching sequence, choosing candidates, scoring in two contexts, tracking an objective, running a search, and leaving behind inspectable artifacts.

What Claude Code built

Claude first read the GI docs and the live OpenAPI schema, then tested the expression endpoint with a single call to confirm the request and response format. It used UCSC resources to retrieve TSS-centered promoter windows from GRCh38 and built a local workflow around the REST API.

The expression model expects a fixed TSS-centered sequence window. Claude therefore used exact 9,198 bp promoter windows and kept sequence length unchanged throughout optimization. The biological context was passed through options.description, with assay metadata held constant between target and off-target descriptions so the main variable was the cellular context.

The initial screen compared five endogenous promoters relevant to glioblastoma stem-like or neural progenitor biology:

CandidateRationaleTargetOff-targetSelectivity
SOX2Core stemness transcription factor2.92193.5625-0.6406
NESNeural progenitor marker2.96882.2969+0.6719
PROM1CD133, glioma stem-cell marker2.40621.2812+1.1250
OLIG2Glioma and oligodendrocyte progenitor factor0.88282.2031-1.3203
SOX9Glial and stem progenitor factor2.50003.0000-0.5000

PROM1/CD133 was selected as the seed promoter. That result is biologically sensible: SOX2, SOX9, and Nestin are not specific to cancer; they also mark neural stem and progenitor states that can be represented in normal brain contexts. PROM1 gave the strongest positive model-predicted gap between glioblastoma stem-like cells and normal cortex.

The optimization loop

Starting from the endogenous PROM1 promoter, Claude ran 100 cycles of greedy single-nucleotide variant optimization.

The mutable region was the proximal promoter, TSS +/- 300 bp. The rest of the 9,198 bp input window was kept fixed as sequence context. In each cycle, the script sampled candidate SNVs, scored each mutant in both contexts with the GI expression model, and accepted the best candidate only if it improved selectivity.

The final result:

MetricBefore optimizationAfter 100 cycles
Target score2.40623.6250
Off-target score1.28120.7031
Selectivity+1.1250+2.9219
Accepted SNVs049

The gain came from both directions: predicted expression increased in the glioblastoma stem-like context and decreased in the normal cortex context. Selectivity improved by +1.7969 log(TPM+1) units while preserving the exact sequence length.

Claude also saved the full optimization trace. The score log contains the initial promoter screen plus the 101-row optimization history, including accepted and rejected proposals. The FASTA outputs include the screened promoters, the accepted mutation trajectory, and the final optimized 9,198 bp PROM1-derived sequence.

Why this matters

The important part is not that a single run produced a final therapeutic promoter. It did not. This is an in-silico hypothesis that would need reporter assays, broader off-target scoring, cell-model validation, delivery analysis, and many other checks before any biological use.

The important part is the shape of the workflow.

A scientist can describe a design objective in biological language. An agent can turn that objective into code, use domain-specific genomic models as scoring tools, run a constrained search, and return concrete artifacts that can be inspected or reproduced. The Genomic Intelligence model supplies sequence-to-function predictions; Claude Code supplies orchestration.

That division of labor is powerful. General agents are good at reading docs, writing glue code, managing files, and iterating. Genomics-specific models are needed for the biological scoring layer: expression, promoter activity, enhancer activity, splice behavior, chromatin features, annotation, and sequence effects.

Together, they make it possible to move from “find me a sequence with this activity profile” to a reproducible computational candidate in minutes rather than a manual pile of scripts and API calls.

That can change the economics of the experimental loop. The wet lab still decides what is real, but the first wet-lab pass can start from a few high-priority candidates instead of many rounds of trial-and-error screening.

What to try next

This demo used one target context, one off-target context, five seed promoters, and a simple greedy SNV-only search. Natural extensions are straightforward:

  • score additional normal brain cell types and peripheral tissues,
  • run multi-start optimization from several seed promoters,
  • expand the mutable window beyond the proximal promoter,
  • use non-greedy search strategies,
  • add motif and sequence-complexity filters,
  • and export a smaller candidate panel for wet-lab testing.

The current API already exposes the core building block: sequence-to-expression prediction from DNA plus a biological context description.

Use the expression task in the web platform at app.genomicintelligence.ai/expression, or call it programmatically from the Genomic Intelligence API.