jsoul/geo-perturbation-grouping-production
GEO Gene-Perturbation Grouping — Production / Inference Inputs The production inference corpus for the GEO gene-perturbation grouping task: a large set of NCBI GEO studies formatted as model prompts, to be run through a fine-tuned model (e.g. jsoul/geo-perturbation-grouping-qwen3-30b-a3b or jsoul/geo-perturbation-grouping-qwen3-4b) to generate case/control perturbation groupings at scale. ⚠️ Unlabeled — inputs only. Every row contains just a system + user message and no… See the full description on the dataset page: https://huggingface.co/datasets/jsoul/geo-perturbation-grouping-production.
GEO Gene-Perturbation Grouping — Production / Inference Inputs
The production inference corpus for the GEO gene-perturbation grouping task: a large set of NCBI GEO studies formatted as model prompts, to be run through a fine-tuned model (e.g. `jsoul/geo-perturbation-grouping-qwen3-30b-a3b` or `jsoul/geo-perturbation-grouping-qwen3-4b`) to generate case/control perturbation groupings at scale.
⚠️ Unlabeled — inputs only. Every row contains just asystem+usermessage and no `assistant` target. This is not a training or evaluation dataset; it is the set of prompts to run inference on.
Contents
- 6,490 examples, one split named `validation`.
- 6,490 unique GEO accessions.
- Each row:
messages = [system, user](the fixed task rulebook + one study's sample metadata) andmetadata.accession(the GEO series ID, e.g.GSE147159). - The
systemprompt is identical to the one used in the training data.
Note on the split name: the single split is namedvalidation(rather than something likeproduction) because downstream tooling depends on that exact name. It does not imply this is an evaluation set — see the overlap note below.
Data format
Expected model output (generated at inference time, not included here):
Group <n>:
Cell line: <cell line>
Perturbation method: <KD | KO | OE>
Target gene: <HGNC symbol>
Control: <comma-separated GSM IDs>
Case: <comma-separated GSM IDs>or No valid groups found.
⚠️ Overlap with the labeled splits — read before evaluating
This corpus is a broad production sweep of GEO and overlaps the training universe by GEO accession:
Because of the train/validation overlap, do not treat this set as a held-out benchmark. For clean evaluation use `jsoul/geo-perturbation-grouping-test`, which is disjoint from train, validation, and this corpus.
Usage
from datasets import load_dataset
ds = load_dataset("jsoul/geo-perturbation-grouping-production", split="validation") # private; needs a token
row = ds[0]
system = row["messages"][0]["content"]
user = row["messages"][1]["content"]
# feed [system, user] through the model to generate the grouping for row["metadata"]["accession"]Licensing & provenance
Derived from publicly available NCBI GEO metadata. Distributed privately for research use. See the companion train / test dataset cards for full task details and the rulebook.
