Software

Open-source packages I have written or co-written.

paperpush

Total PyPI downloads for paperpush GitHub stars for paperpush

Automates manuscript submission. Point it at a manuscript directory and a target venue and it generates a submission file, validates it against the venue's pre-submission checks, and fills out the submission portal for you — stopping short of clicking submit. Supports arXiv, bioRxiv, and medRxiv along with a growing list of journals.

fastQpick

Total PyPI downloads for fastQpick GitHub stars for fastQpick

Fast, memory-efficient sampling of FASTQ reads with or without replacement — for generating bootstrap replicates that quantify technical variance at the level of raw reads, and for subsampling large libraries for testing and benchmarking. Streaming I/O and ISA-L-accelerated gzip bootstrap a 500-million-read library in roughly 26 minutes.

Manuscript (bioRxiv): doi.org/10.64898/2026.06.23.734068

wompwomp

GitHub stars for wompwomp

R package (on CRAN) that untangles k-partite graphs by heuristically optimizing node order, layer order, and node grouping to nearly minimize edge crossings. Its main use is making alluvial plots legible when the raw category ordering leaves the flows in a knot.

Manuscript (arXiv): doi.org/10.48550/arXiv.2509.03761

wompwomp

cellsweep

Total PyPI downloads for cellsweep GitHub stars for cellsweep

Python package and CLI that sweeps noisy, ambient counts out of single-cell RNA-seq data. A single call to denoise_count_matrix takes a raw AnnData count matrix with cell-type labels and returns a denoised one, plus utilities for the downstream processing, plotting, and analysis.

Manuscript (bioRxiv): doi.org/10.64898/2026.03.04.709349

cellsweep

varseek

Total PyPI downloads for varseek GitHub stars for varseek

Command-line tool and Python package for variant screening of DNA-seq, bulk RNA-seq, and single-cell RNA-seq data. vk ref turns a variant database (COSMIC, ClinVar, dbSNP, or custom) plus its reference genome/transcriptome into a variant-containing reference sequence (VCRS) index; vk count pseudoaligns reads against that index and returns a samples × variants count matrix in AnnData format, ready for clustering, differential expression, or pathway analysis.

Manuscript (bioRxiv): doi.org/10.1101/2025.09.03.674039

varseek

Conference Agent

AI agent that compiles major conferences across medicine, genomics/bioinformatics, and data science into one searchable table, with website links and color-coded submission deadlines and meeting dates, refreshed biweekly. Any row can be exported as a subscribable calendar feed (.ics).

Conference Agent

ctkit

Total PyPI downloads for ctkit GitHub stars for ctkit

Protocol and Python package for turning TCGA/TCIA radiology studies into AI-ready arrays: download and filtering, DICOM → NIfTI conversion, reorientation, segmentation, Hounsfield-unit clipping, resampling, mask-and-crop, and intensity normalization, with Jupyter notebooks walking through each step.

Manuscript (medRxiv): doi.org/10.64898/2026.06.15.26354651

ctkit