This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Tool: GSE Matrix Cleaner: In-browser streaming tool to clean & normalize large GEO Series Matrices

Hi all,

When working with Series Matrix files downloaded from NCBI Gene Expression Omnibus (GEO), a recurring frustration is dealing with preliminary data hygiene:

  1. Stripping dozens of metadata comment lines (!Series_...) at the top of the file.
  2. Inconsistent missing value encodings (NA, null, hyphens, or blank cells).
  3. Memory allocation crashes (cannot allocate vector of size ...) in RStudio when loading 1GB+ matrices into memory on standard workstations.

To streamline this preprocessing step, I developed a lightweight, local-first web utility: GSE Matrix Cleaner (https://byqing.com/gse).

Architecture & Capabilities

  • 2-Pass Stream Parsing: Reads DOM File objects in 5MB slices via Web Workers, bypassing V8 heap limits on large 50,000+ row matrices.
    • Pass 1: Accumulates column-wise library sizes and transcript rate sums (for TPM/FPKM scaling) without retaining numeric cells in memory.
    • Pass 2: Applies quality filters, mathematical normalizations, and serializes the cleaned matrix directly into Blob chunks.
  • Client-Side Privacy: All computation occurs 100% locally in the browser thread. No genomic sequence or clinical expression data is ever uploaded to any cloud or remote server (HIPAA / GDPR compliant by design).
  • Downstream Integration: Exports clean, standard CSV matrices that load directly into limma, DESeq2, or WGCNA with read.csv(..., row.names=1).
  • Quality Control Reports: Automatically generates an interactive, color-coded HTML QC report documenting all dropped rows and imputed values for lab record keeping.

Algorithms Supported

  • Missing Value Imputation: Drop row, replace with 0, or calculate row-wise mean.
  • Log Transformation: Log2(x + 1) with negative-value safeguards.
  • Low-variance and low-expression threshold filtering.
  • Advanced Normalization: Column-wise CPM, TPM, FPKM (via custom or reference gene lengths), and row-wise Z-score standardization / Min-Max scaling.

The tool is live and freely available to test without registration: Live Web Tool: https://byqing.com/gse

I would welcome any feedback, bug reports on unusual matrix formats, or suggestions for additional normalization methods!

normalization limma geo microarray rna-seq

0 answers

No answers yet.

Log in to answer this question.