← Về thư mục
📄 / / profiles / r-and-d / raw_evidence / OpenAI4S / skills / bioskills / bio-database-access-geo-data / references / usage-guide.md

GEO Data Usage Guide

Overview

Query NCBI GEO (and EMBL-EBI's BioStudies/ArrayExpress mirror) for expression datasets. Encodes the SuperSeries trap (a GSE may wrap multiple SubSeries on different platforms; default download mixes them), the series-matrix normalization-trust caveat (submitter-normalized; re-process from raw for reproducibility), processed-vs-raw decision (Affymetrix CEL + locally-run RMA; RNA-seq via SRA FASTQ), GEOparse vs GEOquery trade-off, GEOmetadb deprecation (2020), and ArrayExpress migration to BioStudies (2020).

Prerequisites

pip install biopython GEOparse pandas pysradb
# OR for R:
# R: BiocManager::install('GEOquery')
from Bio import Entrez
Entrez.email = 'researcher@institution.edu'
Entrez.api_key = 'optional'

Quick Start

Example Prompts

Detecting SuperSeries before pulling

"Before I download GSE122288 as a single experiment, check its SOFT family file for !Series_relation. If it's a SuperSeries, list each SubSeries and recommend processing them independently to avoid mixing platforms."

Processed-vs-raw decision

"I want expression values for GSE123456. Check whether the technology is Affymetrix (-> download CEL files and re-do RMA) or RNA-seq (-> resolve to SRA and re-quantify with Salmon). Don't trust the submitter's series-matrix values for downstream stats."

GEO -> SRA linkage

"Find SRA accessions for GSE123456 using pysradb (more reliable than the gds -> sra ELink). Return a list of SRR run IDs to hand off to the sra-data skill."

Cross-reference from publication

"Find all GEO datasets cited in PMID 35412348 via pubmed -> gds ELink. Summarize each with title, sample count, platform, and SuperSeries status."

Submitter-data-processing audit

"Download the series matrix for GSE123456 and dump every unique value of !Sample_data_processing. Tell me whether the matrix is raw counts, log-CPM, VST, or RMA-normalized -- the answer determines whether I can use it as-is."

What the Agent Will Do

  1. Search gds db with field-qualified terms (gse[Entry Type], Homo sapiens[Organism], expression profiling by high throughput sequencing[GDS Type]).
  2. For any GSE returned, check !Series_relation in SOFT to detect SuperSeries before pulling.
  3. Pick the right download path: series matrix for fast-and-trusting; supplementary files for raw Affymetrix / submitter counts; SRA-link for RNA-seq raw FASTQ.
  4. Read !Sample_data_processing to surface what's actually in the series matrix.
  5. For R-side analyses, recommend GEOquery (Bioconductor) over GEOparse for supplementary file reliability.
  6. For SRA hand-off, use pysradb to resolve GSE -> SRP -> SRR; pass run list to sra-data skill.
  7. Warn on stale GEOmetadb usage; recommend pysradb / Entrez gds.
  8. For ArrayExpress accessions (E-MTAB-*), use the new BioStudies URL.

Tips