The omicidxr R package connects DuckDB to OmicIDX, pins a version, gives tab-completable dplyr tables, and replaces SRAdb and GEOmetadb.
omicidxr is an R package for OmicIDX. It connects DuckDB to the published Parquet, so you can query it with SQL or dplyr without downloading anything. It also has helpers for the common SRAdb and GEOmetadb tasks. The package website documents every function.
The examples on this page ran against latest/ when the page was built.
remotes::install_github("seandavi/omicidxr") works too. The package depends on duckdb. On Linux without binary packages (e.g. from Posit Package Manager or r-universe), duckdb compiles from source, which takes 20 minutes or more. A Bioconductor release is planned.
Connect
omicidx_connect() returns an ordinary DuckDB DBI connection. Tables are schema.table, such as sradb.study or geometadb.gsm:
The nightly build at https://omicidx.cancerdatasci.org/data/latest/
"YYYY-MM-DD"
A dated nightly build. Kept for 30 days
"YYYY-MM"
A monthly release from HuggingFace (seandavis/omicidx@YYYY-MM). Kept long term. Cite this one
con <-omicidx_connect("2026-10-20") # a dated buildcon <-omicidx_connect("2026-10") # the October 2026 monthly release
Query latest and the dated builds in place. For a monthly release, make a local copy first: HuggingFace limits anonymous requests to 3000 per 5 minutes per IP address, and one query can make hundreds, so querying a monthly release in place soon fails with HTTP 429. Connecting to one also takes about 30 seconds, because DuckDB inspects every Parquet file as it creates the views.
Tab-completable dplyr tables
omicidx_db() returns every table as a lazy dplyr table, nested by schema, so db$sradb$<TAB> completes table names. Printing db lists the schemas, tables, and row counts. Nothing is read until collect():
sra_search() and geo_search() match study and series titles and abstracts, case-insensitively:
sra_search(con, "single cell%glioma", limit =5)
study_accession
study_title
study_type
study_abstract
center_name
bioproject_accession
geo_accession
ERP144083
Longitudinal scRNA-Seq of immune cells from GL261 murine brain Tumors and MHC class II deficient tumor-mircoenvironments
Transcriptome Analysis
Longitudinal phenotyping of T cells and myeloid cells in early (day 14) and late (day26) GL261 tumors. Single cell RNA sequencing of CD45+ immune cell from intracranial murine GL261-SIINFEKL tumors 20 days after inoculation. SIINFEKL-reactive T cells were sorted based on dextramer staining. Using time-resolved scRNA-seq of murine tumor-infiltrating immune cells from early (d14) and late stage (d26) syngeneic GL261 gliomas we observed constant MHCII expression by murine microglia over time and overall high but decreasing MHCII expression in late stage bbm indicating a dynamic process of MHCII expression. We show that loss of major histocompatibility complex (MHC) class II (MHCII)-restricted antigen presentation on bbm drives dysfunctional intratumoral tumor-reactive CD8+ T cell states through increased expression of Tox, a critical regulator of T cell exhaustion. By calculating the normalized abundance of T cell states along the pseudotime trajectory of SIINFEKL-reactive CD8+ T cells retrieved from myeloidMHCII-proficient and -deficient microenvironments, we found an enrichment of a distinct T cell state in myeloidMHCIIKO CD8+ T cells that was defined by peak expression of exhaustion markers. Mechanistically, MHCII-dependent activation of CD4+ T cells restricts myeloid-derived osteopontin that triggers a chronic activation of nuclear factor of activated T cells (Nfat)2 in tumor-reactive CD8+ T cells. In summary, we provide evidence that MHCII-restricted antigen presentation on bbm is a key mechanism to directly maintain functional cytotoxic T cell states in brain tumors.
DKTK Clinical Cooperation Unit (CCU) Neuroimmunology and Brain Tumor Immunology, German Cancer Research Center (DKFZ), Heidelberg, Germany.
PRJEB59018
NA
SRP042161
Single cell RNA-seq of primary human glioblastomas
Transcriptome Analysis
We report transcriptomes from 430 single glioblastoma cells isolated from 5 individual tumors and 102 single cells from gliomasphere cells lines generated using SMART-seq. In addition, we report population RNA-seq from the five tumors as well as RNA-seq from cell lines derived from 3 tumors (MGH26, MGH28, MGH31) cultured under serum free (GSC) and differentiated (DGC) conditions. This dataset highlights intratumoral heterogeneity with regards to the expression of de novo derived transcriptional modules and established subtype classifiers. Overall design: Operative specimens from five glioblastoma patients (MGH26, MGH28, MGH29, MGH30, MGH31) were acutely dissociated, depleted for CD45+ inflammatory cells and then sorted as single cells (576 samples). Population controls for each tumor were isolated by sorting 2000-10000 cells and processed in parallel (5 population control samples). Single cells from two established cell lines, GBM6 and GBM8, were also sorted as single cells (192 samples). SMART-seq protocol was implemented to generate single cell full length transcriptomes (modified from Shalek, et al Nature 2013) and sequenced using 25 bp paired end reads. Single cell cDNA libraries for MGH30 were resequenced using 100 bp paired end reads to allow for isoform and splice junction reconstruction (96 samples, annotated MGH30L). Cells were also cultured in serum free conditions to generate gliomasphere cell lines for MGH26, MGH28, and MGH31 (GSC) which were then differentiated using 10% serum (DGC). Population RNA-seq was performed on these samples (3 GSC, 3 DGC, 6 total). The initial dataset included 875 RNA-seq libraries (576 single glioblastoma cells, 96 resequenced MGH30L, 192 single gliomasphere cells, 5 tumor population controls, 6 population libraries from GSC and DGC samples). Data was processed as described below using RSEM for quantification of gene expression. 5,948 genes with the highest composite expression either across all single cells combined (average log2(TPM)>4.5) or within a single tumor (average log2(TPM)>6 in at least one tumor) were included. Cells expressing less than 2,000 of these 5,948 genes were excluded. The final processed dataset then included 430 primary single cell glioblastoma transcriptomes, 102 single cell transcriptomes from cell lines(GBM6,GBM8), 5 population controls (1 for each tumor), and 6 population libraries from cell lines derived from the tumors (GSC and DGC for MGH26, MGH28 and MGH31). The final matrix (GBM_data_matrix.txt) therefore contains 5948 rows (genes) quantified in 543 samples (columns). Please note that the samples which are not included in the data processing are indicated in the sample description field.
GEO
PRJNA248302
GSE57872
SRP060524
Single cell RNA-seq analysis of oligodendroglioma
Transcriptome Analysis
To understand the diversity of expression states within oligodendroglioma tumors, we obtained six freshly resected samples, profiled ~1000 cells from each tumor and examined their diversity. Overall design: Tumors were disaggregated, sorted into single cells, and profiled by Smart-seq2. GSM1812084 to GSM1815456: Submitter declares reads will be made available through dbGaP.Sample records after GSM1815456: Submitter declares reads will be submitted to controlled access SRA and/or dbGaP. The sample records that follow GSM1815456 are incomplete.
GEO
PRJNA289244
GSE70630
SRP067604
Single cell transcriptome dynamics and subpopulation heterogeneity in radiation treated recurrent glioma
Transcriptome Analysis
Radiation is the frontline treatment for malignant gliomas. Intra-tumoral heterogeneity has been proposed to grant cancer cells a superior trajectory and survival advantage to avoid therapeutic interventions including radiation. However, direct evidence to support the hypothesis via the transcriptome dynamics of glioma during radiation therapy is limited. The current study aim to measure the functional subpopulation dynamics before and after radiation treatment that assist the radiation resistance at single cell resolution. We investigate the single cell transcriptome and biological pathways of primary glioma mouse model and post-radiation early/late time point. Specifically, we used the RCAS mouse model for gliomas, which overexpress PDGFRA as the model. Using single cell transcriptome, for the first time, we confirmed the proneural classification of PDGFRA RCAS glioma mouse model and its heterogeneity. We found that recurrent dominant subpopulations are featured with elevated proliferation rate and hypoxia. In addition, we identified a subpopulation of radiation resistant cells in at early time points with elevated stemness. Lastly, the subpopulations composition undergoes large changes at late time point when the tumor recurred. Single cell transcriptome profiling of radiation treated mouse glioma mouse model identified tumor cell subpopulations dynamics. It provides novel insights into the molecular phenotype and biological functions of radiation resistant tumor cell population. Overall design: To study mechanism of glioma relapse posterior to therapeutic dose irradiation, we have used PDGF-driven murine RCAS-tva glioma model as described in Methods. These mice develop high-grade glioma at approximately week 6. The tumors mimic pathological radiological and characteristics of glioblastoma. Since tumors in the RCAS-tva mice were driven by enhanced PDGF signaling and tumor cells were potentially derived from oligodendritic progenitor cells, majority of transformed cells were are abundantly expressing PDGFRa. Once we detected the radiographic primary high-grade tumor in RCAS-tva mice, we started to irradiate mice’s brain at 2 Gy every other day for five times. During week one post-radiation, we observed complete regression of primary tumors after radiation, confirmed by both MRI and histology. Thereafter, we had followed up the recurrence of tumors by MRI every week by MRI. We demonstrated that the mice had developed secondary high-grade tumors from week 4 to week 8 post-irradiation. We collected tumor samples from three time points: primary glioma (T1, primary stage), early phase of relapse post-radiation (T2, early stage), and late phase of relapse post-radiation (T3, late stage). Tumor samples were dissociated and subjected for FCAS. The stromal cell including immune cells and endothelial cells were removed and PDGFRa positive cells were isolated for subsequent analysis. To examine the transcriptome level heterogeneity of tumor cells of these three stages, we performed bulk RNA-seq and single cell RNA-seq experiments for the FCAS sorted tumor cells using Fluidgm C1 system.
GEO
PRJNA306557
GSE76184
SRP081644
An automatec microwell platform for large-scale single cell RNA-seq.
Other
We report an automated microwell array platform for single cell RNA-seq with significantly improved performance over previous implementations. We demonstrate cell capture efficiencies of >50%, compatibility with commercially available barcoded mRNA capture beads, and parallel expression profiling from thousands of individual cells. We apply our system to comprehensively assess heterogeneity in gene expression of patient-derived glioma neurospheres and uncover subpopulations similar to those observed in human glioma tissue. Overall design: Performed single cell RNA-seq on thousands of cells from three cell lines.
GEO
PRJNA338815
GSE85575
DBI::dbDisconnect(con)
A local copy
omicidx_download() copies every table of a release into a local DuckDB file and checks the row counts against the release’s manifest.json. It’s the R counterpart of restore.sql, and the way to use a monthly release. A full release is tens of GB, so this takes a while:
path <-omicidx_download("2026-10", "omicidx-2026-10.duckdb")con <- DBI::dbConnect(duckdb::duckdb(), path, read_only =TRUE)DBI::dbGetQuery(con, "SELECT count(*) AS n FROM sradb.study")DBI::dbDisconnect(con)
Migrating from SRAdb and GEOmetadb
The sradb and geometadb schemas follow the SRAdb and GEOmetadb tables, so most code ports by connecting with omicidx_connect() and prefixing table names with the schema:
SRAdb / GEOmetadb
omicidxr
getSRAdbFile() or getSQLiteFile(), then dbConnect(SQLite(), ...)
con <- omicidx_connect()
dbGetQuery(sra_con, "SELECT * FROM study ...")
DBI::dbGetQuery(con, "SELECT * FROM sradb.study ...")
sraConvert(in_acc, out_type, sra_con)
sra_convert(con, in_acc, out_type)
getSRAinfo(), listSRAfile()
sra_runs(con, in_acc). Gives run accessions for the SRA Toolkit, not file URLs
getSRA(search_terms, out_types, sra_con)
sra_search(con, query)
Parsing characteristics_ch1 by hand
geo_characteristics(con, gsm)
There are no SRA submission or GEO DataSet (GDS) tables, and characteristics_ch1 is a list of tag/value pairs rather than a string. The Getting Started vignette has the full list of differences, and the reference documents every function.