Skip to content
View michael-denyer's full-sized avatar
🧨
🧨

Block or report michael-denyer

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
michael-denyer/README.md

Michael Denyer, scientific Python, genomics, data engineering, AI, and repository stars

I build bioinformatics and AI tools for the jobs that eat your afternoon: slow analyses, unfamiliar codebases, and agents that need the same explanation again. Mostly Python and C, with occasional detours into cats and cosmic destruction.

Python Rust C PySpark Databricks Docker

Bioinformatics · AI development · Other apps · Contributions · Website

Bioinformatics

JAMMA

Get more GWAS done with the compute you have. JAMMA accelerates kinship and association testing with native C kernels, processes genotypes in chunks to control memory use, and reuses eigendecompositions across phenotypes. Keep familiar GEMMA commands or use the Python API.

PyPI · Benchmarks · Lean 4 proofs

My numpy-mkl fork builds Intel MKL NumPy and SciPy wheels with 64-bit NumPy indexing for much larger GWAS.

Fast Beagle

Phase and impute larger cohorts with less waiting and less RAM. These C ports of Beagle 5.4 and 5.5 preserve each Java release's VCF output byte for byte at the same thread count, and add BGEN output. The 5.5 benchmarks show 1.5× to over 3× faster runs, with memory use reduced by up to 3.5×.

Beagle 5.5 edition · Beagle 5.4 edition · Benchmarks

pyLocusZoom

Give your GWAS hits some context. Turn result tables into publication-ready figures or interactive plots, with LD, genes, and fine-mapping evidence alongside the association signal. Works with Pandas or PySpark, with built-in dog and cat references and support for other species.

PyPI · Plot gallery

Manhattan and QQ plots produced with pyLocusZoom

Manhattan and QQ plots produced with pyLocusZoom.

AI development

Make your coding agent earn its "done". Pstack gives it workflows to reproduce bugs, challenge designs, review changes, and verify the result. My port of Lauren Tan's pstack brings that discipline to the agents below.

Claude Code · Codex · OpenCode · Gemini CLI · Prime Agent

Your assistant should remember why you made that decision. Memory MCP carries project knowledge between sessions, puts frequently used facts straight into Claude Code's context, and retrieves the rest by meaning.

Hot cache · Semantic search · Knowledge graph

Language servers

Help Claude Code follow definitions and references across Python, Terraform, and linked Markdown docs. Pyrefly also provides fast Python type checking, giving the agent more to work with when fixing errors.

Pyrefly · Terraform · Marksman

Give Claude Code a local helper. Delegate tasks to a Bonsai 2 27B model running on your Apple Silicon Mac through MLX. The server starts on demand and shuts down when idle, so you don't have to babysit it.

Claude has plenty to say. Signal helps it get to the point, with answers first, explanations sized to the question, and numbers backed by units and sources. A small output style for Claude Code.

Pick up where the last session left off. My Claude-Mem fork captures tool activity and compresses it into summaries, so Claude can recover what happened without rereading the whole conversation.

Other apps

Black Box Unlock

Investigate your codebase like a crime scene. Black Box Unlock combines change history, hidden coupling, ownership, and CI failures to help you choose what to review or refactor first. Use it from the CLI or give coding agents direct access through MCP.

A black hole consuming a procedurally generated cosmos

An interactive WebGL apocalypse. A spinning black hole consumes a procedural cosmos over twelve minutes, then a new universe takes its place. Stir the gas, feed the black hole, or just watch it all go.

Feed the black hole

The Aether Works is my personal site, disguised as a steampunk workshop. There are cats, animated machinery, and gauges fed by GitHub activity. Step inside.

Open-source contributions

Project Contributions
colibri Helping a tiny C inference engine run better on ARM, with kernel, profiling, portability, and memory-management fixes. Pull requests.
code-review-graph Teaching a code knowledge graph to read R and notebooks, and fixing how it tracks calls at module scope. Pull requests.
qqman Modernised the Python package for Python 3.10+. Pull request.

Meanwhile, at the Commit Café...

Repositories become cats, recent commits become yarn, open pull requests wait at the door, and the contribution streak fills the food bowl.

The Commit Café: animated cats represent repository activity, a dog represents open pull requests, and a bowl represents the contribution streak

Pinned Loading

  1. pstack-claude pstack-claude Public

    Claude Code, Codex, OpenCode, Gemini, and Prime Agent versions of Poteto's pstack. Rigorous agent workflows with Cursor primitives translated for other harnesses.

    JavaScript 728 89

  2. black-box-unlock black-box-unlock Public

    Code forensics and analysis tool - investigate your codebase like a crime scene

    Python

  3. memory-mcp memory-mcp Public

    Engram-inspired memory MCP server with hot cache and pattern mining

    Python 9 2

  4. pyLocusZoom pyLocusZoom Public

    pyLocusZoom -- publication-ready GWAS visualization in Python: LocusZoom-style regional association plots with LD coloring, gene tracks and recombination overlays, plus Manhattan, QQ, Miami, eQTL, …

    Python 2

  5. jamma jamma Public

    JAMMA (Highly-Accelerated Multi-method Mixed-model Association) -- a fast and modern Python and C reimplementation of GEMMA for large-scale GWAS.

    Python 2 1

  6. fast-beagle-5.5 fast-beagle-5.5 Public

    Fast standalone C port of Beagle 5.5 genotype phasing and imputation, byte-identical output to the Java release.

    Java