The tools, apps and packages I’ve built for computational biology: a family of research-genomics Shiny applications on one shared template, plus the cross-language packages beneath them. Analysis code turned into interfaces a bench scientist can actually use.
Learn more about Shiny Supporting Packages
Applications
tahoe-explorer
Filter and subset Tahoe-100M perturbation metadata, 100.6 million rows, and leave with a reproducible pull recipe. Summaries push down to DuckDB.
variant-reviewer
One gene, one variant, one page. Eighteen cards fan out asynchronously across public APIs, with a 3D structure viewer and a ClinVar typeahead.
Plotomics Live
Twenty-six pages of GPU-accelerated visualization through shinyreact, in 476 lines of R, one of which is the UI. Precomputed .f32 blobs go straight to the GPU.
genescout
An agentic evidence-review workbench. Give it a candidate list and a disease context, get back a plausibility-ranked, cited shortlist. Research use only.
recount-explorer
Browse 18,998 uniformly processed recount3 RNA-seq studies, load one through the recount3 API, and read its quality checks, gene expression and PCA.
gene-list-builder
Resolve a disease name to an EFO/MONDO term, query seven gene-disease sources in parallel, and dedupe to one row per gene. Re-ranks live as you tune the source weights.
Signature Scoring
Condenses each TCGA-BRCA sample into scores for the 50 Hallmark pathways, contrasts clinical subtypes, and opens any pathway to the genes driving it.
Drug Perturbation
Connectivity scoring against a reference perturbation panel. Rank compounds into mimics and reversers, then break any hit down by cell line or dose.
DE Explorer
Differential expression over uniformly reprocessed TCGA and airway RNA-seq. Tune thresholds and drill from a PCA overview into per-gene detail.
Genome Explorer
Recurrent TCGA breast driver mutations placed on hg19 through igv.js. Raise the recurrence filter, then click a variant to zoom the browser to it.
Supporting Packages
The packages I've built and maintain underneath the applications. Each one does a single job, and the applications compose them.
biobouncer
Validates gene symbols, ontology terms, variant formats and other biological database IDs, offline or live, through one API. R, Python and TypeScript share one conformance corpus, so they always agree.
biohttp
HTTP transport for R clients of biological web services. Calls return a result value instead of raising, so failures stay distinct from bad data. Circuit breaking, retry and caching are defaults.
bioclients
One client per biological database, each split into a request half and a pure parser half that needs no network to test. Transport and caching are left to biohttp.
plotomics
GPU-accelerated bioinformatics visualization for R, Python and the web, from one TypeScript core. Seventeen components, wrapped as npm for React, htmlwidgets for R, and anywidget for Python.
biocohort
Keeps the subjects, samples and analysis outputs of an omics study in one validated object. Species and assay are values in the data, not columns or classes, so one manifest works for any organism and any omics assay.
To report an issue with this page, or request an app to be added, please open an Issue on GitHub.
in Bioinformatics