Datadory notebook
Single cell expression atlas data: the cell-by-gene matrix as a deliverable
Datadory delivers biotechnology data covering the single-cell expression atlases: 2,216 standardized RNA-seq studies totaling roughly 289.5 million cells from CZ CELLxGENE Discover, plus NCBI GEO's ~250,000 submitter-original Series, every cell ontology-tagged for assay, tissue, cell type and disease. Delivered daily, weekly, or hourly.
1,744 datasets. Pick your catch.
What is a single-cell expression atlas?
A bulk RNA-seq sample averages a tissue into one number per gene. A single-cell experiment refuses to average: it reads each cell separately, which is how a blood sample turns out to be fourteen cell types instead of one blended signal. The reusable asset underneath that finding is not the paper - it is the expression atlas: a cell-by-gene matrix in which every row is an individual cell, every column a gene, and each row carries structured labels saying what kind of cell it is, from which tissue, disease state, donor and organism.
Two properties decide whether such a corpus can be computed on across studies. First, annotation discipline - "T cell" spelled forty ways is text; "T cell" resolved to a Cell Ontology term is a join key. Second, scale management, because a two-million-cell study does not fit in laptop memory and punishes anyone who treats it like a spreadsheet.
CZ CELLxGENE Discover is the corpus built around both problems: 2,216 datasets covering roughly 289.5 million cells per its own curation inventory as of August 2026, every study re-standardized under a versioned schema (7.1.0 in the current feed) instead of left in whatever shape the original lab shipped. The scale contrast with the rest of biotechnology is stark: of the 1,744 records Datadory catalogs across all industries, exactly one publishes cell-by-gene matrices this way. NCBI GEO approaches the same literature at far greater breadth - roughly 250,000 Series and more than 7.9 million Samples - but preserves submitter-original processing, which is precisely why cross-study cell-type labels do not join cleanly there.
Which layers make up the single-cell corpus?
The corpus divides into three deliverable layers, and most failed projects come from grabbing the wrong one.
The standardized atlas layer. CZ CELLxGENE Discover re-processes published studies into one versioned schema, so a matrix from one lab lines up row-for-row with a matrix from another. Annotations are ontology-anchored on ingest: assay in EFO, cell type in the Cell Ontology, disease in MONDO, tissue in UBERON and CL, organism in NCBITaxon. Underneath sit cell-level fields like donor_id and is_primary_data, which mark the canonical copy of each cellular observation and turn cross-study deduplication into a one-line filter rather than a research project.
The original-cohort layer. NCBI GEO archives what each submitting lab actually produced - roughly 250,000 Series under MIAME and MINSEQE reporting standards, with protocols, platforms and provenance attached. Expression profiling leads the archive at 143,551 series by high-throughput sequencing and 69,855 by array, and 5,984,301 Samples link back to raw sequencing runs. When a cohort has not been curated into the standardized layer yet, this is where it lives.
The read layer. Beneath both sit the sequencing archives: NCBI SRA and the European Nucleotide Archive, holding tens of petabases of FASTQ/BAM for teams whose question requires reprocessing from basecalls rather than trusting anyone's count matrix.
What does one record look like when it arrives?
One catalog row per study, with the heavy matrices hanging off it. A real record from the current inventory:
dataset_id : 789ad837-9bf5-436c-9b60-9f1153546e4c
title : altra all samples
cell_count : 2,029,864
organism : Homo sapiens (NCBITaxon:9606)
tissue : blood (UBERON:0000178)
assay : 10x 3' v3 (EFO:0009922)
schema_version : 7.1.0
asset : H5AD | ~18 GBRead what the row proves. That single study contributes over two million cells - about two-thirds of the portal homepage's entire "33M+ unique cells" figure - so filtering by tissue, disease and assay beats brute-force scanning before the first query runs. The size column explains why granularity matters downstream: whole-file pulls of large studies weigh tens of gigabytes, while cell-level slicing reads only the cells a question names.
On the original-cohort layer, a GEO series record carries its own identity chain instead:
Series_geo_accession : GSE1000
Series_title : Osteosarcoma TE85 cell tissue culture study
Series_type : Expression profiling by array
Series_status : Public on Jan 28 2004
Series_last_update_date : Aug 10 2018Age and provenance become queryable fields rather than footnotes - useful when a meta-analysis needs to know which cohorts predate a reagent generation. Request a sample and we cut either shape to your actual scope: the tissue, disease area or organism you name, so evaluation runs on real rows in your own pipeline rather than on a screenshot.
How do you work with a corpus this size without moving everything?
Size decides the workflow, not preference. Individual assets reach roughly 18 GB, and naive enumeration of a whole collection queues hundreds of gigabytes before anyone checks disk space - which is why metadata screening comes first and matrix access second.
Cohorts that fit in memory want self-contained files: one study per file, schema-versioned, portable between environments, frozen at the moment you take them. Corpus-scale questions want slicing instead - querying normalized or raw counts filtered by tissue, disease or cell type against a hosted store, returning only the cell axis the question names. The standardized layer supports both patterns, exporting to AnnData, Seurat and SingleCellExperiment objects so the result lands already shaped for whichever ecosystem a pipeline speaks.
Two practical notes travel with any cut. Metadata attributes - cell counts, ontology annotations, exact sizes - screen a scope before any matrix bytes move, so a pipeline skips an 18 GB study it never wanted. And reproducibility differs by pattern: pinned six-monthly builds (latest LTS dated 2025-11-08, which added macaque, marmoset and chimpanzee to the human-and-mouse core) hold still long enough to cite, while freshly pulled files freeze wherever they landed. Teams that need both keep the pinned build for published analyses and fresh pulls for exploration.
Which fields carry the weight in cross-study analysis?
Four field groups separate an atlas you can compute on from an archive you can only admire.
Ontology-anchored annotations. Assay, cell type, disease, tissue, organism and development stage arrive resolved to controlled vocabularies with their term IDs intact, alongside self_reported_ethnicity in HANCESTRO and suspension type. This is what makes "count the T cells across all blood studies" a grouped query instead of a literature review.
Deduplication keys. donor_id plus is_primary_data identify which copy of each cellular observation is canonical, so pooled counts do not double-count donors appearing in multiple curated studies.
Version stamps. schema_version and dataset-level identifiers let a pipeline prove which standardization pass a matrix came from - the difference between a methods section a reviewer accepts and one they argue about.
Provenance dates. On the original-cohort layer, submission and revision dates make cohort age sortable, and status fields show when a study became public.
Every delivery travels with its field dictionary attached - definitions and worked examples per column, verified against live records - because a column named is_primary_data should not require archaeology to interpret.
How do you join atlas matrices to annotations, networks and reads?
An expression matrix answers "which cells express what"; the rest of the biotechnology stack explains why it matters. Each hop below anchors to a record Datadory delivers keyed the same way.
- Confirm markers at protein level. Human Protein Atlas maps 27,883 antibodies against 17,407 unique proteins across 51 transcriptomic tissue types and 154 cell types (v25.1, May 2026), so a cluster's marker genes get checked against measured protein localization before anyone commits to a cell-type call.
- Add network context. STRING Protein Interaction Database scores more than 20 billion interactions across 59.3 million proteins in 12,535 organisms, separating plausible candidates from isolated hits inside a marker list.
- Bring trait genetics in. GWAS Catalog contributes 229,900 studies distilled into 1,191,572 SNP-trait associations with EFO/MONDO mappings - the triangulation target-identification work wants: variant evidence, network plausibility, cell-state expression, protein confirmation.
- Reach underlying reads when counts are not enough. GEO links 5,984,301 Samples back to sequencing runs resolvable through NCBI SRA or the European Nucleotide Archive as FASTQ/BAM.
For teams weighing schemas against delivery models across the whole stack, the data scientists use cases page ranks these records on exactly that axis.
Who builds on single-cell atlas data?
Computational biology and biomarker teams. Atlas-scale matrices with consistent cell typing are the training substrate for cell-state classifiers and disease-signature discovery; ontology anchoring is what lets a model trained on one lab's cohort transfer to another's.
Target identification groups. The chain above - associations to networks to cell states to protein confirmation - runs as joins rather than literature reviews when every layer arrives keyed.
Translational and platform teams. Reference profiles built from healthy tissue baselines give assay developers something to diff patient samples against, and donor-level fields keep rare-population analyses honest about how many people actually stand behind a cluster.
Bioinformatics platform builders. Schema-versioned inputs mean a product built this quarter keeps ingesting next year's studies without rewriting parsers, and deduplication keys mean pooled corpora stay countable.
Where the persona cuts differ - modelers versus investors versus platform teams - the data scientists use cases page carries the ranked view.
What breaks most often in single-cell projects?
Four failure modes account for most of the wreckage, and none of them are exotic.
Size surprises first. Individual assets reach roughly 18 GB, and pipelines that enumerate every dataset in a collection will queue hundreds of gigabytes before anyone checks disk space - metadata screening exists precisely so filters run before the heavy pull.
Corpus-size conflation. The curation inventory reports 2,216 datasets covering roughly 289.5 million cells counting duplicated observations across datasets, while the portal homepage advertises 33M+ unique cells across 436 collections. Both figures are real; citing one while implying the other quietly breaks any coverage claim in a methods section.
Format drift between layers. Standardized exports and original-cohort tables describe overlapping worlds but round-trip differently across AnnData, Seurat and SingleCellExperiment conversions, so dimensions deserve a spot-check after every export.
Why get single-cell expression atlas data through Datadory?
Every delivery keys on dataset and cell identifiers, so this month's pull joins cleanly to last month's and to whatever marker lists or reference sets you already hold. When a curation pass adds fields or revises records, the change arrives flagged rather than discovered mid-model, and each delivery travels with its field dictionary attached - definitions and worked examples per column.
Name the tissue, disease area or organism when you request a sample and the sample comes back shaped like your workflow - a single-cell matrix trimmed to the cells you study, with coverage chips for geography, timeframe and grain riding alongside. Request a single-cell expression atlas data sample and evaluate on real rows in your own pipeline.
Where to go next
This cluster sits inside a 24-record biotechnology pool spanning sequence archives, protein and structure resources, chemistry, registries and regulatory records. The biotechnology data hub lists every dataset with coverage and delivery options in one scorecard, and the best biotechnology datasets ranking shows where CZ CELLxGENE Discover's 9-out-of-10 quality score lands industry-wide.
Product pages worth opening next: the CZ CELLxGENE Discover dataset page carries the full field dictionary and captured sample rows; NCBI GEO covers the original-cohort layer; Human Protein Atlas supplies protein-level confirmation; GWAS Catalog adds trait genetics; and the biotechnology data guide surveys all 27 cataloged sources including where ChEMBL, OpenFDA and ClinicalTrials.gov fit around genomics work. For the adjacent evidence base, genome wide association study data covers the trait-association layer in depth.
| Layer | Dataset | What you get | Best when |
|---|---|---|---|
| Standardized atlas | CZ CELLxGENE Discover | One study per file, schema-versioned (7.1.0) with ontology-anchored cell metadata; assets up to ~18 GB | The study fits local memory and you want a portable artifact |
| Corpus-scale slicing | CZ CELLxGENE Discover (hosted store) | Larger-than-memory slices of normalized/raw counts filtered by tissue, disease or cell type; exports to AnnData, Seurat, SingleCellExperiment | Questions exceed RAM; pinned LTS builds (latest 2025-11-08) hold analyses reproducible |
| Metadata-only screening | CZ CELLxGENE Discover inventory | Cell counts, ontology annotations and exact sizes per study - no matrix bytes | Scoping a cohort before committing to the heavy pull |
| Original cohorts | NCBI GEO | ~250,000 Series and 7.9M+ Samples as submitted, with protocols and platforms attached | Studies outside the standardized layer, or original lab processing required |
| Raw reads | NCBI SRA / European Nucleotide Archive | FASTQ/BAM behind 5,984,301 GEO-linked samples; tens of petabases total | Realignment or reprocessing from basecalls is the point |
Pick up where this leaves off
Every one of these ships with sample rows before you commit to anything.
CZ CELLxGENE Discover
NCBI GEO
Human Protein Atlas
STRING Protein Interaction Database
GWAS Catalog
NCBI Sequence Read Archive (SRA)
Want rows instead of a pitch? Name the datasets.
API, files, or your warehouse. Daily, weekly, or hourly.
Get a sampleQuestions worth asking
Where can I get single-cell RNA-seq atlas data?
Datadory delivers single-cell RNA-seq atlas data from two complementary layers: CZ CELLxGENE Discover's 2,216 standardized datasets covering roughly 289.5 million cells with ontology-anchored cell metadata, plus NCBI GEO's ~250,000 Series of submitter-original cohorts spanning 143,551 sequencing-based and 69,855 array-based expression series. Request a sample scoped to your tissue or disease area.
What is an H5AD file?
H5AD is the HDF5-based container the AnnData ecosystem uses for single-cell data, holding a cell-by-gene count matrix together with per-cell and per-gene annotations in one file. In the standardized atlas every H5AD follows a versioned schema (7.1.0 currently) with ontology-anchored metadata - EFO assays, Cell Ontology types, MONDO diseases, UBERON tissues - and single assets reach about 18 GB.
Should I take whole files or query slices of the corpus?
Take a self-contained file when a study fits comfortably in memory and portability matters; take a sliced query when it does not. Slicing reads normalized or raw counts filtered by tissue, disease or cell type and returns only the cells a question names, exporting to AnnData, Seurat or SingleCellExperiment. Datadory ships either pattern, cut to your scope, with the field dictionary attached.
Can I get raw sequencing reads for single-cell studies too?
Yes. GEO links 5,984,301 of its Samples back to sequencing runs, which resolve to FASTQ/BAM through the NCBI SRA and European Nucleotide Archive read archives - tens of petabases of INSDC heritage reaching back to the early 1980s. Processed matrices live in CELLxGENE Discover and GEO; raw reads live in SRA and ENA, and Datadory delivers both layers.
Can single-cell atlas data be used commercially?
Yes, with per-study diligence. Publication-derived research data generally reaches commercial analytics, though individual studies may retain terms from their originating publication, so redistributing specific cohorts deserves a check before it ships inside a product. Tell us your use case when requesting a sample and we confirm what the relevant records permit.
How is single-cell expression atlas data delivered through Datadory?
As API, files, or straight into your warehouse - daily, weekly, or hourly, your call. Deliveries key on dataset and cell identifiers so pulls join across time, ontology annotations ride welded to each cell, deduplication flags survive the trip, and every delivery carries its field dictionary. Changes upstream arrive flagged rather than discovered mid-model.