Agent skill · Databases

geo-database

Access NCBI GEO for gene expression/genomics data. Search/download microarray and RNA-seq datasets (GSE, GSM, GPL), retrieve SOFT/Matrix files, for transcriptomics and expression analysis.

FreedomIntelligencegithub.com/FreedomIntelligenceGitHub ↗
claude-code
Install
npx skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill geo-database --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 24 KB
Bundled scripts: none
Path: skills/geo-database/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 2,909
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Allows users to search GEO for datasets, download Series/Platform/Sample data, and retrieve expression matrices and supplementary files. It includes guidance and code snippets for using GEOparse to download and parse GEO data, extract expression matrices, access supplementary files, and perform quality control, differential expression, and clustering analyses.

How it works

  • Explains GEO data organization (GSE, GSM, GPL, GDS, Profiles) and their roles.
  • Provides Python code examples using Bio.Entrez and GEOparse to search GEO datasets and GEO Profiles, and to fetch summaries, records, and expression data.
  • Demonstrates how to download data via FTP or wget/curl, including series matrices, SOFT files, and supplementary files.
  • Shows workflows for data handling: loading GEO data, extracting expression matrices, filtering samples, and performing QC (missing values, log transformation, distribution plots).
  • Includes differential expression analysis steps using a per-gene t-test, multiple testing correction, and filtering for significant genes.
  • Covers correlation and clustering analyses with sample correlation matrices and hierarchical clustering.
  • Includes a batch processing section for handling multiple GEO series programmatically.

When to use it

Use this skill when you need to locate gene expression datasets in GEO, download raw/processed files, and integrate GEO data into transcriptomics workflows for analyses like QC, differential expression, and clustering.

What it can touch

  • Python environment with GEOparse (installation steps shown) and Bio.Entrez for E-utilities
  • Local file system for downloaded data and generated plots (e.g., PNGs, CSVs)

Caveats

  • Contains example code snippets that assume network access and valid GEO accession IDs (GSE, GSM, GPL)
  • Uses external libraries (GEOparse, Bio.Entrez, scipy, statsmodels) that have their own dependencies and licensing not detailed here
  • No guarantees on data availability or completeness for all GEO entries; effectiveness depends on dataset structure and metadata quality
From the SKILL.md

# GEO Database ## Overview The Gene Expression Omnibus (GEO) is NCBI's public repository for high-throughput gene expression and functional genomics data. GEO contains over 264,000 studies with more than 8 million samples from both array-based and sequence-based experiments. ## When to Use This Skill This skill should be used when searching for gene expression datasets, retrieving experimental data, downloading raw and processed files, querying expression profiles, or integrating GEO data into computational analysis workflows. ## Core Capabilities ### 1. Understanding GEO Data Organization GEO organizes data hierarchically using different accession types: **Series (GSE):** A complete experiment with a set of related samples - Example: GSE123456 - Contains experimental design, samples, and overall study information - Largest organizational unit in GEO - Current count: 264,928+ series **Sample (GSM):** A single experimental sample or biological replicate - Example: GSM987654 - Contains individual sample data, protocols, and metadata - Linked to platforms and series - Current count: 8,068,632+ samples **Platform (GPL):** The microarray or sequencing platform used - Example: GPL570 (Af

What's inside
Steps it walks through
  1. Overview
  2. When to Use This Skill
  3. Core Capabilities
  4. 1. Understanding GEO Data Organization
  5. 2. Searching GEO Data
  6. 3. Retrieving GEO Data with GEOparse (Recommended)
  7. 4. Using NCBI E-utilities for GEO Access
  8. 5. Direct FTP Access for Data Files
  9. 6. Analyzing GEO Data
  10. 7. Batch Processing Multiple Datasets
  11. Installation and Setup
  12. Python Libraries
  13. Configuration
  14. Common Use Cases
Ships with 1 file
  • references/geo_reference.md
Commands it runs
uv pip install GEOparse
Download series matrix file
wget ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE123nnn/GSE123456/matrix/GSE123456_series_matrix.txt.gz
Download all supplementary files for a series
wget -r -np -nd ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE123nnn/GSE123456/suppl/
Download SOFT format family file
wget ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE123nnn/GSE123456/soft/GSE123456_family.soft.gz
Primary GEO access library (recommended)
For E-utilities and programmatic NCBI access
uv pip install biopython
More from OpenClaw-Medical-Skills
All skills →
About this skill
What does the geo-database skill do?

Access NCBI GEO for gene expression/genomics data. Search/download microarray and RNA-seq datasets (GSE, GSM, GPL), retrieve SOFT/Matrix files, for transcriptomics and expression analysis.

How do I install it?

Run `npx skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill geo-database --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From FreedomIntelligence/OpenClaw-Medical-Skills, a repository with 2,909 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going