Log
Occasional notes on what I'm building and thinking about, including a running habit of reading and reviewing one paper a day.
-
Jul 19, 2026 · 2 min read
A generalist for cell segmentation
The problem. Imaging-based spatial (MERFISH, Xenium) and microscopy in general hit the same first obstacle: drawing accurate boundaries around each cell. Cells vary wildly in sh...
-
Jul 19, 2026 · 2 min read
Mapping single cells onto tissue
The problem. Single-cell RNA-seq gives deep, whole-transcriptome cell-type detail but throws away location. Spatial methods keep location but are either coarse (capture) or targ...
-
Jul 19, 2026 · 2 min read
Finding domains with a graph net
The problem. Detecting spatial domains — coherent tissue regions like cortical layers or tumor niches — needs more than expression clustering, which ignores where cells are. Nei...
-
Jul 19, 2026 · 2 min read
Genes that vary across space
The problem. Once you have spatial transcriptomics data, the first analytical question is: which genes show spatial structure — expression that varies with position in a non-ran...
-
Jul 19, 2026 · 2 min read
A commercial imaging platform
The problem. Imaging-based methods (MERFISH, seqFISH+) are powerful but were largely bespoke, lab-built systems — hard to standardise, hard to scale across a facility. For spati...
-
Jul 19, 2026 · 2 min read
Spatial expression in the brain
The problem. The human dorsolateral prefrontal cortex has a clear laminar structure — cortical layers with distinct molecular identities. Recovering those layers de novo from sp...
-
Jul 19, 2026 · 2 min read
A whole embryo in space
The problem. Capture-based spatial methods faced a scale-versus-resolution bind: fine resolution over a large tissue meant an enormous number of capture spots, and most platform...
-
Jul 19, 2026 · 1 min read
Beads that map the tissue
The problem. Spot-based capture (Ståhl/Visium) is whole-transcriptome but coarse — 55-micron spots spanning several cells. Imaging is precise but targeted. Could a capture metho...
-
Jul 19, 2026 · 2 min read
Super-resolution across the transcriptome
The problem. Imaging methods like MERFISH give single-molecule resolution but on targeted panels; capture methods give whole-transcriptome coverage but coarse resolution. The ob...
-
Jul 19, 2026 · 2 min read
Imaging transcripts in place
The problem. Spot-based spatial transcriptomics (Ståhl, day 8) captures the whole transcriptome but at spot resolution — each spot is several cells. To see which individual cell...
-
Jul 18, 2026 · 2 min read
An atlas of immune response
The problem. Methods are only worth as much as the biology they reveal. PBMCs (peripheral blood mononuclear cells) responding to LPS — a bacterial endotoxin that triggers innate...
-
Jul 18, 2026 · 2 min read
Single-cell counts from STAR
The problem. Turning droplet single-cell reads into a cell-by-gene count matrix means handling cell barcodes, UMIs, and multi-mapping, then de-duplicating molecules. The standar...
-
Jul 18, 2026 · 2 min read
Stitching panoramas of cells
The problem. Integrating many single-cell datasets risks a specific failure: forcing alignment between datasets that don’t share cell types, blending distinct populations that s...
-
Jul 18, 2026 · 2 min read
Annotating cells by reference
The problem. After clustering, someone has to say what each cluster is — which cell type. Done manually, that means hunting marker genes cluster by cluster: slow, subjective, an...
-
Jul 18, 2026 · 2 min read
Correcting batch, fast
The problem. Combining single-cell datasets (Seurat’s anchors, day 10, solve this too) means removing batch effects without erasing biology. Anchor- and MNN-based methods work b...
-
Jul 18, 2026 · 2 min read
Clusters and trajectories, reconciled
The problem. Single-cell analysis splits into two worldviews: clustering says cells fall into discrete types; trajectory inference says they lie on continuous paths. Real tissue...
-
Jul 18, 2026 · 2 min read
Velocity for messier dynamics
The problem. The original RNA velocity model assumed genes reach a transcriptional steady state and that splicing rates are shared — convenient, but often false. In transient, f...
-
Jul 18, 2026 · 2 min read
The arrow of a cell
The problem. Pseudotime (Monocle, Slingshot) orders cells along a trajectory, but the direction of travel is assumed or inferred from side information — the data itself doesn’t ...
-
Jul 18, 2026 · 2 min read
Tracing lineages through clusters
The problem. Monocle showed you could order cells in pseudotime, but real differentiation branches: a progenitor becomes several fates. Inferring these branching lineages robust...
-
Jul 18, 2026 · 2 min read
Ordering cells in time
The problem. A single-cell experiment is a snapshot: all cells captured at one instant. But biology is a process — cells differentiate, transition, progress. If a population is ...
-
Jul 17, 2026 · 2 min read
Untangling mixed spectra
The problem. In metabolomics MS/MS, co-eluting compounds get fragmented together, so a single spectrum is often a blend of ions from several metabolites. Trying to match that ch...
-
Jul 17, 2026 · 2 min read
Picking peaks from the noise
The problem. Raw LC-MS metabolomics data is a mess of noisy peaks whose retention times drift between runs. Before you can compare samples, you must detect real peaks, correct t...
-
Jul 17, 2026 · 2 min read
A social network for molecules
The problem. Untargeted metabolomics detects thousands of small-molecule features, and most can’t be identified by matching to a reference spectrum — the databases are too incom...
-
Jul 17, 2026 · 1 min read
Deep proteomes by neural net
The problem. Classic proteomics (data-dependent acquisition) picks precursors to fragment one at a time, missing many peptides stochastically. Data-independent acquisition (DIA)...
-
Jul 17, 2026 · 2 min read
The genome, finally complete
The problem. The human reference genome, for two decades, had holes: centromeres, segmental duplications, and repeat arrays that short reads (and even ordinary long reads) could...
-
Jul 17, 2026 · 2 min read
Twelve years of SAMtools
The problem. Sequencing generates enormous alignments and variant sets, and without shared, efficient formats every tool would speak its own dialect. Aligners, callers, and view...
-
Jul 17, 2026 · 2 min read
Containers that run anywhere
The problem. Containers (Docker) solved “ship the exact environment,” but Docker needs root-level daemon privileges — a non-starter on shared academic HPC systems, where you’re ...
-
Jul 17, 2026 · 2 min read
Packaging the tools
The problem. Every bioinformatics tool has its own build system, dependencies, and version quirks. Historically, getting a dozen of them installed together — with compatible ver...
-
Jul 17, 2026 · 2 min read
A community of pipelines
The problem. Nextflow (previous post) gives you portable pipelines, but everyone still wrote their own from scratch, with idiosyncratic structure, no shared testing, and wildly ...
-
Jul 17, 2026 · 2 min read
Workflows that reproduce themselves
The problem. A bioinformatics analysis is a chain of a dozen tools, each with versions, parameters, and dependencies. Run it on a different machine — or six months later — and i...
-
Jul 16, 2026 · 2 min read
Freeing the raw files
The problem. Mass spectrometers write proprietary, vendor-specific binary files (Thermo’s .raw). Historically, converting these to open formats (mzML) for analysis required the ...
-
Jul 16, 2026 · 2 min read
Catching the doublets
The problem. Droplet single-cell occasionally traps two cells in one droplet. The result is a barcode whose expression is a blend of two real cell types — and that blend can mas...
-
Jul 16, 2026 · 2 min read
Long reads that are also accurate
The problem. Long reads (day 9’s nanopore) reach the repetitive, structural regions short reads can’t, but historically at a cost: high per-base error. Short reads were accurate...
-
Jul 16, 2026 · 1 min read
The same aligner, only faster
The problem. BWA-MEM (day 6’s aligner, in my variant_calling_nf) is accurate and ubiquitous, but it was written before today’s wide multicore CPUs and SIMD vector units. As sequ...
-
Jul 16, 2026 · 2 min read
From Louvain to Leiden
The problem. Louvain (day 6) is the community-detection method underneath most single-cell clustering. But it has a hidden flaw: it can produce communities that are internally d...
-
Jul 16, 2026 · 2 min read
Stitching single-cell datasets together
The problem. Real single-cell studies combine many samples, batches, technologies, even species. Naively pooling them, batch effects dominate: cells cluster by where they were r...
-
Jul 16, 2026 · 2 min read
Is that a cell or an empty drop?
The problem. In droplet single-cell (day 9’s 10x method), most droplets contain no cell — just ambient RNA floating in the suspension. These empty drops still capture stray tran...
-
Jul 16, 2026 · 1 min read
The single-cell toolkit in Python
The problem. By 2018 single-cell datasets (see: Zheng’s droplet method) were exploding in size, but the analysis ecosystem was fragmented and largely R-based. Python needed a sc...
-
Jul 16, 2026 · 2 min read
Finding the big rearrangements
The problem. SNVs and small indels are what GATK and DeepVariant call well from short reads. But a large fraction of consequential genetic variation is structural: kilobase dele...
-
Jul 16, 2026 · 2 min read
Calling variants with a neural net
The problem. GATK’s best-practices caller (day 6) encodes hand-built statistical models of sequencing error — powerful, but each correction is a human-designed rule for a specif...
-
Jul 15, 2026 · 2 min read
The embedding that replaced t-SNE
The problem. t-SNE (day 6) gave the field a way to see high-dimensional single-cell data, but at a cost: it’s slow on large datasets, scales awkwardly to millions of cells, and ...
-
Jul 15, 2026 · 2 min read
Cataloguing the switches
The problem. Transcription factors are the master switches of gene expression, but the human set was surprisingly poorly defined: estimates of how many there are, which proteins...
-
Jul 15, 2026 · 2 min read
Assembling a chromosome, end to end
The problem. Even with long reads, some regions resist assembly: the human X chromosome’s centromere is a vast array of near-identical repeats where reads can’t be uniquely plac...
-
Jul 15, 2026 · 2 min read
Sequencing a human genome on nanopore
The problem. Short reads (the Illumina data my pipelines assume) map beautifully to unique sequence but fail in repeats, segmental duplications, and structural rearrangements — ...
-
Jul 15, 2026 · 2 min read
Cleaning reads before anything else
The problem. Raw sequencing reads carry adapter contamination, low-quality tails, and other artefacts. Historically you chained several tools — one to trim adapters, one to filt...
-
Jul 15, 2026 · 2 min read
Single cells by the million
The problem. Early single-cell RNA-seq was low-throughput and expensive — hundreds of cells, plate-based, laborious. To see cell-type heterogeneity in a real tissue you need tho...
-
Jul 15, 2026 · 2 min read
The architecture behind the foundation models
The problem. Sequence models built on recurrence (RNNs, LSTMs) process tokens one after another, which is slow to train and struggles to link distant positions — the gradient ha...
-
Jul 15, 2026 · 2 min read
Protein and RNA from one cell
The problem. Single-cell RNA-seq measures transcripts, but cell identity — especially for immune cells — is often defined by surface proteins, the markers flow cytometry has use...
-
Jul 15, 2026 · 1 min read
Bias-aware transcript quantification
The problem. Fast pseudoalignment (kallisto, yesterday) gives you transcript abundances cheaply, but RNA-seq has systematic biases — GC content, fragment-length distribution, po...
-
Jul 15, 2026 · 1 min read
Searching spectra at speed
The problem. Identifying peptides means matching each observed spectrum against theoretical spectra from a protein database. If you also want to catch post-translational modific...
-
Jul 14, 2026 · 1 min read
The other variant benchmark
The problem. A truth set is only as trustworthy as the assumptions behind it. If everyone validates variant callers against one reference (say, GIAB), systematic blind spots in ...
-
Jul 14, 2026 · 1 min read
A near-complete proteome
The problem. Proteomics has long lagged genomics in completeness: a single mass-spec run samples only a fraction of the proteins present, and getting near-comprehensive coverage...
-
Jul 14, 2026 · 2 min read
A truth set for variant calling
The problem. You can run GATK and get a VCF, but how do you know it’s correct? Variant calling has no ground truth in a typical sample — you can’t independently confirm millions...
-
Jul 14, 2026 · 2 min read
The first spatial transcriptome
The problem. Bulk and single-cell RNA-seq tell you what is expressed and, for single-cell, in which cell type — but both discard where the cells were. Tissue is organised; funct...
-
Jul 14, 2026 · 2 min read
A toolkit for mass spectrometry
The problem. Mass-spectrometry analysis had powerful but often monolithic, closed tools. Building a custom, reproducible workflow — peak picking, then feature detection, then id...
-
Jul 14, 2026 · 2 min read
One report for the whole pipeline
The problem. A modern bioinformatics run scatters quality metrics across dozens of files: FastQC per sample, alignment stats from the aligner, duplication rates, counts summarie...
-
Jul 14, 2026 · 2 min read
Quantification without alignment
The problem. The classic RNA-seq route — align every read to the genome with STAR, then count — is accurate but heavy: full alignment is slow and produces information you throw ...
-
Jul 14, 2026 · 2 min read
Reading the urinary metabolome
The problem. Metabolites — the small-molecule end products of cellular activity — vary with age, sex, and body mass, but untangling those effects from a noisy untargeted LC-MS d...
-
Jul 14, 2026 · 2 min read
Deep learning, in one review
The problem. By 2015 deep networks had gone from fringe to dominant across vision and speech, but the ideas were scattered across a decade of conference papers. The field needed...
-
Jul 14, 2026 · 2 min read
A catalog of human variation
The problem. A variant caller tells you where a sample differs from the reference, but not whether that difference is a mundane common polymorphism or something rare and interes...
-
Jul 13, 2026 · 2 min read
The airway dataset everyone learns on
The problem. Glucocorticoids are frontline asthma drugs, but which genes they act on in airway smooth muscle — and how — wasn’t fully mapped. Himes and colleagues used RNA-seq t...
-
Jul 13, 2026 · 2 min read
Counting proteins without labels
The problem. To compare protein abundance across samples by mass spectrometry, the reliable route was chemical labelling (isotope tags), which is costly and limits sample number...
-
Jul 13, 2026 · 2 min read
Aligning RNA reads across splice junctions
The problem. DNA aligners like BWA assume a read maps to one contiguous stretch of genome. RNA reads don’t: a read can straddle a splice junction, with its two halves landing on...
-
Jul 13, 2026 · 2 min read
Reading open chromatin
The problem. Which parts of the genome are available to be read — nucleosome-free, bound by regulators, poised for transcription — is central to what a cell is doing. Earlier me...
-
Jul 13, 2026 · 2 min read
The network that started deep learning
The problem. For decades, image classification meant hand-engineered features fed to a classifier, and progress was incremental. Neural networks were an old idea widely consider...
-
Jul 13, 2026 · 1 min read
An encyclopedia of the genome
The problem. The human genome sequence told us the letters, but most of it doesn’t code for protein. What is the rest doing? Which stretches are promoters, enhancers, transcript...
-
Jul 13, 2026 · 2 min read
Annotating what a variant does
The problem. A variant caller hands you a position and an allele — chr7, this base is A not G. That’s a coordinate, not a consequence. Is it in a gene? Does it change an amino a...
-
Jul 13, 2026 · 1 min read
Differential expression, exon by exon
The problem. Standard differential-expression asks whether a gene goes up or down. But regulation often happens at finer grain: a splicing factor can shift which exons are inclu...
-
Jul 13, 2026 · 2 min read
Does RNA-seq beat the microarray?
The problem. Around 2010 the field was mid-transition from microarrays to RNA-seq, and the honest question was empirical: does sequencing actually detect more, and more reliable...
-
Jul 13, 2026 · 2 min read
The other differential-expression engine
The problem. Like DESeq, edgeR faces the fact that RNA-seq counts are discrete and overdispersed, and that most experiments have too few replicates to estimate each gene’s varia...
-
Jul 12, 2026 · 2 min read
The variant-calling standard
The problem. Once BWA has aligned your reads, you still have to call variants — decide where the sample differs from the reference — through a haze of sequencing errors, alignme...
-
Jul 12, 2026 · 2 min read
Before DESeq2, there was DESeq
The problem. RNA-seq gives you counts of reads per gene, and counts don’t behave like the continuous, normally-distributed data of the microarray era. They’re discrete, and thei...
-
Jul 12, 2026 · 2 min read
Mapping reads to the genome
The problem. Next-gen sequencing produces tens of millions of short reads per run; every one has to be placed against a three-billion-base reference, tolerating sequencing error...
-
Jul 12, 2026 · 2 min read
Seeing high-dimensional data
The problem. A single cell is a point in tens of thousands of dimensions (one per gene). You cannot see that, and naive projections (like PCA) preserve global variance but smear...
-
Jul 12, 2026 · 2 min read
Turning spectra into proteins
The problem. A mass spectrometer emits raw spectra, not proteins. Between them sits a gauntlet: calibrate masses, identify peptides, control error, roll peptides up to proteins,...
-
Jul 12, 2026 · 2 min read
Finding communities in a graph
The problem. Given a network — nodes and weighted edges — how do you find its communities: groups of nodes more connected to each other than to the rest? On large graphs this is...
-
Jul 12, 2026 · 2 min read
Rescoring the proteome
The problem. A shotgun proteomics run produces hundreds of thousands of spectra, each matched to a candidate peptide by a search engine. But any single score is a noisy signal, ...
-
Jul 12, 2026 · 2 min read
The rules of cancer
The problem. By 2000, cancer research was drowning in molecular detail — hundreds of oncogenes and tumor suppressors, thousands of mutations — with no organizing framework. Ever...
-
Jul 12, 2026 · 2 min read
The index that makes search cheap
The problem. Yesterday’s Burrows–Wheeler transform compresses text beautifully, but compression alone isn’t enough: you want to search a huge string — find every occurrence of a...
-
Jul 12, 2026 · 2 min read
Taming the multiple-testing problem
The problem. Test one hypothesis at p < 0.05 and you accept a 5% chance of a false positive. Test 20,000 genes at once and you’d expect a thousand false positives by chance a...
-
Jul 11, 2026 · 2 min read
The transform that makes aligners fast
The problem. This one starts in computer science, not biology: how do you compress text well and still search it efficiently? A permutation that groups similar contexts together...
-
Jul 11, 2026 · 2 min read
Making billions of copies
The problem. For most of DNA’s history the limiting reagent was DNA itself. Studying, sequencing, or manipulating a specific stretch meant you needed enough of it, and biology o...
-
Jul 11, 2026 · 2 min read
How we learned to read DNA
The problem. You could know DNA carried a linear code (Crick) without being able to read it. Until the late 1970s, determining the actual base-by-base sequence of a piece of DNA...
-
Jul 11, 2026 · 2 min read
The cell that swallowed a cell
The problem. Eukaryotic cells are radically more complex than bacteria, and two of their organelles — mitochondria and chloroplasts — are strangely bacterium-like: their own mem...
-
Jul 11, 2026 · 2 min read
The central dogma, first stated
The problem. By 1958 DNA’s structure was known, but how a gene becomes a protein was open. What determines a protein’s sequence? What is the flow of information between nucleic ...
-
Jul 11, 2026 · 2 min read
The double helix, in two pages
The problem. Avery had shown DNA carries heredity, but a carrier has to do two impossible-sounding things at once: store an enormous amount of information and copy it faithfully...
-
Jul 11, 2026 · 2 min read
The transforming principle is DNA
The problem. By the 1940s genes were known to be real — Mendel’s units, mapped onto chromosomes — but nobody knew what they were made of. The smart money was on protein, with it...
-
Jul 11, 2026 · 2 min read
Inheritance, quantified
The problem. Darwin had a mechanism that required heritable variation but no theory of heredity — inheritance looked like blending, which would dilute any new variant away. Nobo...
-
Jul 11, 2026 · 2 min read
Descent with modification
The problem. Nineteenth-century biology had a catalogue of life but no mechanism — no account of why organisms are so exquisitely suited to their conditions, or how the diversit...
-
Jul 11, 2026 · 2 min read
The database behind the interview
The problem. Predicting microRNA targets computationally is easy and mostly wrong — sequence complementarity throws off huge false-positive lists. What the field actually needs ...
-
Jul 10, 2026 · 2 min read
The single-cell best-practices bible
The problem. Single-cell tooling moves so fast that “best practice” is a moving target, and the 2019 tutorials — good as they were — no longer cover multimodal data, the deep-ge...
-
Jul 10, 2026 · 2 min read
Semi-supervised cell annotation
The problem. You often have some annotated cells — a reference atlas, a few labeled samples — and a pile of unlabeled ones. Purely unsupervised embedding (scVI) ignores the labe...
-
Jul 10, 2026 · 2 min read
A latent space for single cells
The problem. Single-cell counts are sparse, noisy, and shot through with technical variation — dropout, library-size differences, batch effects. The usual pipeline patches each ...
-
Jul 10, 2026 · 2 min read
A common container for spatial omics
The problem. Every spatial platform ships its own file layout, its own coordinate conventions, its own idea of what an “image” and a “cell” are. Before you analyze anything you ...
-
Jul 10, 2026 · 2 min read
The Scanpy of spatial
The problem. Single-cell analysis has Scanpy: a mature, composable toolkit everyone shares. Spatial analysis, for a while, was a pile of one-off scripts. What you want is the sa...
-
Jul 10, 2026 · 2 min read
Benchmarking the niche finders
The problem. Once you have BANKSY, and a dozen other spatial-domain and niche-identification methods, the same question that hit deconvolution returns: which one do you trust, a...
-
Jul 10, 2026 · 2 min read
One embedding for cells and domains
The problem. Spatial analysis usually splits into two tasks with two toolchains: cell typing (what is this cell?) and domain segmentation (what tissue region is it in?). Standar...
-
Jul 10, 2026 · 2 min read
Cleaning up missegmented transcripts
The problem. No segmentation is perfect. Transcripts from one cell get assigned to its neighbor, and the result is contamination: a cell’s expression profile is polluted by what...
-
Jul 10, 2026 · 2 min read
Segmentation as a graph problem
The problem. Baysor made molecule-level segmentation the right frame, but imaging panels keep growing — millions of transcripts, whole slides — and the probabilistic-model appro...
-
Jul 10, 2026 · 2 min read
Where does one cell end?
The problem. In imaging assays you don’t get cells — you get a cloud of transcript coordinates. Assigning each molecule to the right cell is the load-bearing step, and doing it ...
-
Jul 9, 2026 · 2 min read
Deconvolution, robustly
The problem. Deconvolution leans on a single-cell reference, but the reference and the spatial assay are measured on different platforms, with different biases. Ignore that gap ...
-
Jul 9, 2026 · 2 min read
How cell2location puts cell types back on the map
The problem. A Visium spot is a bag of several cells’ transcripts. To recover which cell types are where, you need to map a single-cell reference onto each spot — and do it in a...
-
Jul 9, 2026 · 2 min read
Which deconvolution tool should you trust?
The problem. Spot-based assays like Visium capture several cells per spot, so nearly every downstream question depends on deconvolution — estimating the cell-type mixture inside...
-
Jul 9, 2026 · 2 min read
A QC checklist for Xenium
The problem. Vendor pipelines get you from a Xenium run to a cell-by-gene matrix, but they don’t tell you whether to trust it, or what to check before analysis. This paper is th...
-
Jul 9, 2026 · 2 min read
Cross-checking spatial platforms against the references
The problem. Head-to-head imaging benchmarks tell you how the platforms compare to each other, but not whether any of them is right. On tumor tissue especially — heterogeneous, ...
-
Jul 9, 2026 · 2 min read
Xenium vs. MERSCOPE vs. CosMx, by the numbers
The problem. The three imaging spatial platforms — 10x Xenium, Vizgen MERSCOPE, NanoString CosMx — all promise single-cell-resolution, in-situ transcript detection, and vendors ...
-
Jul 9, 2026 · 2 min read
Pseudotime, but in tissue space
The problem. Trajectory inference in dissociated single-cell data reconstructs a process — differentiation, activation — from a static snapshot, but it throws away where the cel...
-
Jul 9, 2026 · 2 min read
The 2025 state of spatial omics
The problem. The founding spatial methods (Visium, the first imaging assays) are what most tutorials teach, but the technology has moved fast. This review is the 2025 snapshot o...
-
Jul 9, 2026 · 2 min read
From spatial map to clinical decision
The problem. Most spatial-methods reviews are written for method developers. This one asks a different question: what has to be true for spatial transcriptomics to inform clinic...
-
Jul 9, 2026 · 2 min read
A field map for spatial transcriptomics
The problem. Spatial transcriptomics adds coordinates to expression, and with them a new stack of computational problems that don’t exist in dissociated single-cell data. Before...
-
Jul 8, 2026 · 2 min read
Where the software lives in the DBTL loop
The problem. Synthetic biology is organized around the Design–Build–Test–Learn cycle, but “where exactly does software add value?” is usually hand-waved. This review answers it ...
-
Jul 8, 2026 · 2 min read
The single-cell checklist
The problem. Single-cell analysis has a dozen decision points before you ever see a UMAP, and most of them silently determine the result. This tutorial is the field’s shared ans...
-
Jul 8, 2026 · 2 min read
Best practices, audited against my own pipeline
The problem. Everyone builds an RNA-seq workflow; far fewer can defend each choice. This review is the field’s consensus map — QC through interpretation — and I read it as an au...
-
Jul 8, 2026 · 2 min read
What DESeq2 is actually doing to my counts
The problem. RNA-seq counts are discrete, over-dispersed, and — with two or three replicates per group — desperately under-powered per gene. Naive per-gene tests either miss rea...
-
Jul 8, 2026 · 2 min read
The lab that runs itself (almost)
The problem. LLMs can talk about experiments; can they run them — plan a protocol, write the instrument code, execute on real hardware, read the result, and iterate — without a ...
-
Jul 8, 2026 · 2 min read
Two recipes for a single-cell foundation model
The problem. If Geneformer showed pretraining can work for single cells, the next question is how — what objective, what tokenization, and does the design choice change which ta...
-
Jul 8, 2026 · 2 min read
Foundation models meet the single cell
The problem. Single-cell RNA-seq gives you a matrix of ~20,000 genes × thousands of cells, but most biological questions come with tiny labeled datasets. Could you pretrain on t...
-
Jul 8, 2026 · 2 min read
A foundation model for DNA
The problem. Protein language models learned to read amino acids. But DNA is the more general substrate — genes, regulatory elements, ncRNAs, whole operons — and modeling it at ...
-
Jul 8, 2026 · 2 min read
The poster child, revisited
The problem. Artemisinin is the frontline antimalarial, but it was sourced from a plant (Artemisia annua) with volatile supply and price. Could you engineer a microbe to make it...
-
Jul 8, 2026 · 2 min read
DBTL, fully worked
The problem. DBTL is easy to draw and hard to run as one integrated system. Carbonell et al. built the whole loop — design through machine-learning-guided redesign — inside a bi...
-
Jul 7, 2026 · 2 min read
Generating proteins that never existed
The problem. Prediction and inverse folding both start from something — a sequence, or a backbone you already drew. Design’s most ambitious version starts from intent: “give me ...
-
Jul 7, 2026 · 2 min read
Inverse folding
The problem. Structure prediction runs sequence → structure. Protein design needs the inverse: you have a backbone you want (a fold, a binder, a scaffold), and you need an amino...
-
Jul 7, 2026 · 2 min read
Proteins as a language
The problem. AlphaFold2 is accurate but leans on a multiple-sequence alignment per target, which is slow to build and thin for orphan or designed sequences. Could a model learn ...
-
Jul 7, 2026 · 2 min read
The structure problem, mostly solved
The problem. Predicting a protein’s 3D structure from its sequence was a 50-year open problem. Physics-based folding didn’t scale; earlier ML got close-ish. Then at CASP14, Alph...
-
Jul 7, 2026 · 2 min read
Find-and-replace on a genome
The problem. The genetic code is redundant — 64 codons for 20 amino acids plus stop — so in principle you don’t need all 64. But “in principle” is cheap. Could you actually rewr...
-
Jul 7, 2026 · 2 min read
The edit button
The problem. Targeted DNA cutting existed before CRISPR — zinc fingers, TALENs — but each new target meant engineering a new protein. That’s slow and expensive. The question was...
-
Jul 7, 2026 · 2 min read
A field map for synthetic biology
The problem. By 2010 synthetic biology had gone from two proof-of-concept circuits to a sprawl of switches, oscillators, logic gates, and early applications. Someone needed to d...
-
Jul 7, 2026 · 2 min read
Standard parts for living systems
The problem. After the toggle switch and repressilator, building anything bigger was miserable: every part behaved differently in every new context, and each project started fro...
-
Jul 7, 2026 · 2 min read
A clock built from three genes
The problem. The toggle switch showed a cell could hold a state. Elowitz and Leibler asked the harder dynamical question: could you make a cell cycle through states on a schedul...
-
Jul 7, 2026 · 2 min read
Biology's first flip-flop
The problem. By 2000, molecular biology could describe gene regulation exquisitely but rarely design it. Gardner, Cantor and Collins asked a pointed engineering question: can yo...
-
Jun 6, 2026 · 1 min read
what is this?
This section is meant to be a daily updated log where I surface random things or activities I’m working on, thoughts on papers I’ll include as well, along with my current readin...
No posts with that tag yet.