MyNixOS website logo
Description

Biological Data Analysis and Visualization.

Provides tools for the analysis and visualization of gene expression data from the NCBI Gene Expression Omnibus (GEO). Implements a complete workflow including data import, quality control, differential expression analysis, co-expression network analysis, pathway enrichment, and multi-gene biomarker discovery. Differential expression uses the empirical Bayes moderated t-statistic of Smyth (2004) <doi:10.2202/1544-6115.1027>. Gene set enrichment analysis follows Subramanian et al. (2005) <doi:10.1073/pnas.0506580102>. Multi-gene biomarker selection uses the LASSO method of Tibshirani (1996) <doi:10.1111/j.2517-6161.1996.tb02080.x>. Effect sizes are computed as Cohen's d following Cohen (1988).

BioUtils

BioUtils is an end-to-end R toolkit for analyzing gene expression data from GEO datasets. It provides a unified workflow for differential expression, statistical testing, visualization, and biological interpretation.


Features

  • Load and preprocess GEO datasets
  • Differential expression analysis using limma
  • Visualization (PCA, volcano plots, gene-level plots)
  • Statistical testing (adaptive t-test, effect size, bootstrapped CI)
  • Gene set enrichment analysis (GSEA)
  • Machine learning (LASSO biomarker selection)
  • Gene co-expression analysis

Installation

install.packages("remotes")
remotes::install_github("spencertreadway/BioUtils")

Example Workflow

# Load data
eset <- load.geo.soft("GDS507.soft", log.transform = TRUE)
geo <- extract.expression(eset)

# PCA visualization
pca.plot(geo$expression, geo$phenotype, color.by = "disease.state")

# Differential expression
de.results <- run.limma.de(geo)

# Volcano plot
volcano.plot(de.results, fc.threshold = 0.3)

# Select top genes
top.genes <- head(rownames(de.results[order(de.results$adj.P.Val), ]), 5)
probe.ids <- find.probe.by.gene(geo$gene, top.genes)

# Single gene analysis
expr <- get.gene.expression(geo$expression, probe.ids[1])
df <- build.analysis.df(expr, geo$phenotype, geo$gene)
gene.analysis.plot(df)

# LASSO model
phenotype.binary <- ifelse(geo$phenotype$disease.state == "disease", 1, 0)
lasso.fit <- fit.lasso(geo$expression, phenotype.binary)

Interpretation

BioUtils integrates multiple layers of analysis:

  • PCA reveals global structure in the data
  • Differential expression (limma) identifies significant genes
  • Effect size & CI quantify biological impact
  • LASSO selects predictive biomarkers
  • GSEA links results to biological pathways

Documentation

Full documentation is available at https://spencertreadway.github.io/BioUtils/ or via:

help(package = "BioUtils")

Notes

  • Probe-to-gene mapping depends on GEO platform annotations
  • Fold-change thresholds are user-defined and dataset-dependent
  • Statistical significance does not always imply biological relevance

License

MIT


Author

Spencer Treadway.

Metadata

Version

0.1.3

License

Unknown

Platforms (80)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • sh4-linux
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows