Session 6 · Transcriptomics
What's this cell type's expression profile and marker genes?
The connectomics–transcriptomics bridge — the through-line of the workshop.
Key question: What’s this cell type’s expression profile and marker genes?
Route A: Python API
First time? Set up Python → Open this session in Colab
Pick a type that actually has expression data, then pull its full profile. Do not profile the parent class — “Kenyon cell” expands 37 subtypes and takes 15–20 minutes; a specific subtype returns in under a minute.
from vfb_connect import vfb
e = vfb.get_transcriptomic_profile("alpha/beta Kenyon cell",
return_dataframe=True)
print(len(e), "gene × cluster rows")
print(e[['gene', 'level', 'extent', 'ref']].head(3))
Verified output (Aug 2026, ~40 s):
18234 gene × cluster rows
gene level extent ref
14-3-3ε 761.69006 0.551111 Lu et al., 2023, Science 380(6650): eadg0934
14-3-3ε 998.50635 0.446281 Lu et al., 2023, Science 380(6650): eadg0934
14-3-3ε 1092.53160 0.441065 Lu et al., 2023, Science 380(6650): eadg0934
Each row is one gene in one cluster with expression level and extent (fraction of cells expressing), and a real publication reference (Lu 2023, Davie 2018, …). Check a type has data before profiling: search() results carry a hasScRNAseq facet. (The spine neuron DA1 lPN has no transcriptomic profile — which is why this problem hands over to Kenyon cells.)
Route B: R (via reticulate)
First time? Set up R + vfb_connect → Open this session in Colab (R)
e <- vfb$get_transcriptomic_profile("alpha/beta Kenyon cell",
return_dataframe = TRUE)
nrow(e)
head(e[, c("gene", "level", "extent")], 3)
Returns the same 18,234 gene × cluster rows (~40 s) as the Python route, as an R data frame — level, extent (fraction of cells expressing) and a real publication ref per row, ready for dplyr/ggplot2. The same warnings apply: profile a specific subtype, never the bare parent class (“Kenyon cell” expands 37 subtypes and takes 15–20 minutes), and check a type has data first via the hasScRNAseq search facet.
Route C: MCP Tool
First time? Connect the VFB MCP to your AI →
This is where the MCP route shines over the browser: scRNAseq coverage is a first-class query.
You: For cell type ‘Kenyon cell’, what scRNAseq data does VFB have, and from which studies?
Assistant →
get_term_info(FBbt_00003686)→ anatScRNAseqQuery available (count 79) →run_query(FBbt_00003686, anatScRNAseqQuery)→ 79 clusters, each with cell type, dataset and publication (PMID/DOI)Assistant: VFB links 79 scRNAseq clusters to Kenyon cells and their subtypes, including: Davie 2018 (Cell, PMID 29909982) with separate α′/β′, α/β and γ clusters; Baker 2021 (Genome Res., PMID 34035044) female/male/mixed-sex adult KC clusters; Brunet Avalos 2019 (eLife) larval KCs; Mokashi 2021 (Front. Psychiatry). Each cluster record links its expressed genes with per-cluster expression levels — ask “top marker genes for the α/β cluster” to drill in.
Tip: ask your assistant to check which subtypes have data first (the cluster list above) rather than requesting a full profile of the parent class — “Kenyon cell” spans 37 subclasses and the full expansion is slow in every route.
Example Prompt
For cell type 'DA1 lPN', what scRNAseq / expression data does VFB have, and which marker genes are associated with it?
Route D: VFB Chat
Nothing to install — tips before you start →
Chat can survey what expression data exists for a cell type.
Optimized prompt: Ask for both expression profile and marker genes with IDs.
Route E: 3D Circuit Browser
Nothing to install — how the viewer works →
Honest answer: the Circuit Browser is not the tool for expression tables — scRNAseq matrices live in the chat, MCP and Python routes. What the browser does give you is expression anatomy:
Open the cell type. Use the button below for Kenyon cell (FBbt_00003686).
Find reported expression. In the query menu, run Reports of transgene expression in Kenyon cell — the driver lines and transgenes reported to express here, each linking to its own term page with registered images.
See the pattern, not just the number. Tick a driver-line image and the expression pattern loads over the template next to the neurons it labels — the visual complement to the marker-gene lists the other routes return.
Cross-check a marker’s driver. Found an interesting gene via scRNAseq in another route? Search its driver line here and confirm where it actually expresses.
No screenshots needed for this one — the flow is identical to Session 1’s search-and-query pattern. For expression levels and cluster tables, flip to Route A (Python), Route B (R) or Route D (Chat).
Try It Next
- Subtype contrast: profile
"adult Kenyon cell"(69,168 rows, ~70 s) and compare which markers separate the γ clusters from α/β in the Davie 2018 data. - Chat: “What single-cell transcriptomic clusters are there for Kenyon cell?” lists all 79 with their publications — pick one cluster and ask for its top markers.
- Check before you query: search any other cell type and look for the
hasScRNAseqfacet before requesting a profile — which of your favourite types has data?
When to Reach for Which Route
- API to join expression data to connectivity for analysis
- MCP/Chat to survey what expression data exists
- 3D Browser to visualize expression patterns spatially