Sign in

Nils Homer

@nilshomer.com
2.4K followers 215 following 171 posts

I write software for Biologists. Founder @fulcrumgenomics, Bioinformatician, Computer Scientist, Coder, Father of 2xGirls. Opinions are my own.

PostsRepliesMedia
Nils Homer @nilshomer.com · 14/09/2026
bwa-mem3 v0.12.0 is out 🧬 Since v0.10.0: faster on both Arm & x86 (--fast is now ~2× minibwa and stock is within ~15% on x86) while staying a byte-identical (--compat). It also brings ~30–40% faster methylation and a big memory-safety pass. github.com/fg-labs/bwa-... #bioinformatics #genomics
github.com
Release v0.12.0 · fg-labs/bwa-mem3
0.12.0 — faster on both architectures, a faster --meth, and a large safety pass A broad optimization release that speeds up both Arm and x86 (unlike 0.11.0, which concentrated on Arm), plus a methy...
0132
Nils Homer @nilshomer.com · 25/08/2026
fgumi v0.7.0 is released: github.com/fulcrumgenom... 1. sort is 28% faster; 2-3x faster than samtools 2. improved CODEC consensus calling 3. dedup now outputs metrics closer to picard MarkDuplicates and dupblaster 4. retag is a new tool that can copy/move/delete SAM tags
github.com
Release v0.7.0 · fulcrumgenomics/fgumi
For those running the fgumi command line tools v0.7.0 makes sort faster, hardens CODEC consensus, and brings dedup metrics to Picard/dupblaster parity. Sort is up to 28% faster — and 2–3× faster th...
173
Nils Homer @nilshomer.com · 11/08/2026
Want to see a mistake I made?
050
Reposted by Nils Homer
Rob Patro @robp.bsky.social · 10/08/2026
2.3 billion read pairs of 10x Flex v2 (281 GB of gzipped FASTQ) mapped in under 2 minutes on one machine (-t 64) with piscem-rs. That's ~20M read pairs/sec at ~87% mapped. One interesting part is the mapper, but what I want to talk about here is who gets the threads. 1/8
1247
Nils Homer @nilshomer.com · 08/08/2026
> then around 850-950 ad, their ceremonial centers were suddenly abandoned, and researchers still have no idea why
static.klipy.com
Ragnar Onurcem: Charismatic Leader
ALT: Ragnar Onurcem: Charismatic Leader
000
Nils Homer @nilshomer.com · 08/08/2026
When running benchmarks on shared tenancy systems (e.g. AWS), it's hard to compare cpu/wall times over time, even with many replicates.  have seen performance differences up to 20% just based on fighting others for access to the memory sub-system.
121
Reposted by Nils Homer
Alison Meynert @ameynert.bsky.social · 05/08/2026
DivRef is a resource for including common human variants and haplotypes in CRISPR off-target searches. I rebuilt the generation workflow to make its inputs, assumptions and population choices easier to inspect and change. blog.fulcrumgenomics.com/p/a-crispr-o...
blog.fulcrumgenomics.com
A CRISPR off-target search is only as good as the sequences it searches
Rebuilding DivRef so CRISPR off-target searches can account for human variation
144
Reposted by Nils Homer
Tim Dunn @timd.one · 22/07/2026
CRISPR off-target search can find the right locus while hiding plausible alignments within it. I wrote about how Sassy v0.2.5 uses recursive backtracking to report every reasonable alignment—more than 9× as many in under 30 seconds. blog.fulcrumgenomics.com/p/why-crispr...
blog.fulcrumgenomics.com
Why CRISPR Off-Target Search Should Report Multiple Alignments Per Locus
How Sassy enumerates every reasonable alignment without sacrificing runtime
054
Nils Homer @nilshomer.com · 04/08/2026
bwa-mem3 v0.8.0 is out. New --compat=bwa-mem2: byte-identical to bwa-mem2 v2.2.1, verified across 1.57B records on 6 CPU types — including ARM. Also ~13% faster, and methylation NM/MD no longer count bisulfite conversions as mismatches. github.com/fg-labs/bwa-mem3/releases/tag/v0.8.0
github.com
Release v0.8.0 · fg-labs/bwa-mem3
0.8.0 — a verified drop-in for bwa-mem2, ~13% faster, and corrected methylation tags 1. --compat=bwa-mem2 — swap in bwa-mem3 and get the same BAM The big one. Run bwa-mem3 mem --compat=bwa-mem2 ......
190
Reposted by Nils Homer
Tim Fennell @tfenne.bsky.social · 01/08/2026
Maybe three weeks ago, I* refactored some code out of dupblaster and methylsieve for using dedicated threads with large buffers for read-ahead and write-behind. Why? Because it turns out, even in Rust, it's still hard to write threading code that "just works". github.com/tfenne/rawb-io
github.com
GitHub - tfenne/rawb-io: Read-ahead / write-behind byte IO: threaded Reader/Writer that decouple a pipeline stage from the kernel pipe via a background thread and a byte ring buffer
Read-ahead / write-behind byte IO: threaded Reader/Writer that decouple a pipeline stage from the kernel pipe via a background thread and a byte ring buffer - tfenne/rawb-io
242
Nils Homer @nilshomer.com · 31/07/2026
Bioinformatics rewrites miss the relational impact tofolks that are still actively maintaining and developing the software. I've been guilty of this myself, and I'll be sharing my story soon so others can learn from it.
1216
Nils Homer @nilshomer.com · 23/07/2026
bwa-mem3 v0.7.0 is out. 5–24% faster than v0.6.0, output byte-identical; upgrade and it's free. If you do methylation: reworked bisulfite path with TAPS support too. github.com/fg-labs/bwa-mem3/releases/tag/v0.7.0
github.com
Release v0.7.0 · fg-labs/bwa-mem3
0.7.0 — methylation accuracy, a sharper --fast, and broad speedups This is primarily a methylation release. The bisulfite path was reworked to a chemistry-aware contract — TAPS support, a NEUTRAL -...
151
Reposted by Nils Homer
Fulcrum Genomics @fulcrumgenomics.com · 22/07/2026
Reporting one alignment per locus can commit a CRISPR off-target analysis to one scoring model too early. @timd.one explains how Sassy v0.2.5 enumerates every reasonable alignment while keeping runtime fast: >9× as many alignments in under 30 seconds. blog.fulcrumgenomics.com/p/why-crispr...
blog.fulcrumgenomics.com
Why CRISPR Off-Target Search Should Report Multiple Alignments Per Locus
How Sassy enumerates every reasonable alignment without sacrificing runtime
1162
Reposted by Nils Homer
Robert Aboukhalil @robert.bio · 22/07/2026
grep is a fantastic tool, but it doesn't really work on sequencing data: it breaks when the pattern is in the read name, and doesn't support paired-end FASTQs. Thanks to @nilshomer.com, we have a new interactive guide on using fqgrep to find patterns in FASTQ files: ➡️ sandbox.bio/tutorials/fq...
sandbox.bio
Interactive bioinformatics tutorials
Learn bioinformatics from your browser, no setup required. Everything runs in a sandbox, so you can experiment all you want.
0197
Nils Homer @nilshomer.com · 16/07/2026
Start from the patient, name the real gap, then build the analysis that closes it. @fulcrumgenomics.com VP of Translational Research Juliann Chmielecki, PhD nails it. Worth your time if you work anywhere near translational oncology. www.linkedin.com/pulse/from-e...
linkedin.com
From equations to patients: where computational biology meets translational science
Building translational strategies marries new methodologies with an unanswered clinical question, then works with the data and analyses needed to answer it When I think about what translational scienc...
030
Nils Homer @nilshomer.com · 14/07/2026
unum: a pure-Rust HLA/KIR genotyper It's a port of github.com/mourisl/T1K, offering significant speedups, ergonomics, and opinionated improvements. I am looking for folks who want to give it a try and give constructive feedback. github.com/fg-labs/unum
github.com
GitHub - fg-labs/unum: Fulcrum-owned Rust HLA/KIR genotyper (strangler port of T1K)
Fulcrum-owned Rust HLA/KIR genotyper (strangler port of T1K) - fg-labs/unum
192
Nils Homer @nilshomer.com · 09/07/2026
🚀 ferro-hgvs 0.7.0 is out: our biggest release yet. Major upgrades to HGVS normalization, parsing & projection: spec-compliant 3′ shifting, mosaic/compound alleles, multi-axis projection (g/c/n/p/r), Ensembl support, plus ~1.7× faster parsing. github.com/fulcrumgenom...
github.com
Release v0.7.0 · fulcrumgenomics/ferro-hgvs
Added (reference) validate manifest schema/version at load, fail loud on an incompatible reference (#1003) (mosaic) parse predicted-wrapper and whole-entity-LHS =/ forms (#992) (protein) parse ins...
021
Nils Homer @nilshomer.com · 07/07/2026
Save the compute, save the world!
030
Reposted by Nils Homer
Steven Salzberg @stevensalzberg.bsky.social · 07/07/2026
Our new genome annotation method relies almost entirely on transcriptome and alignment evidence, and as a result outperforms pretty much all other de novo pipelines. Check out the just-published paper led by Aleksey Zimin: rdcu.be/frSOg
rdcu.be
Efficient evidence-based genome annotation with EviAnn
Nature Methods - EviAnn surpasses existing genome annotation methods by leveraging gene expression and protein sequence homology evidence to achieve higher accuracy and efficiency.
04420
Nils Homer @nilshomer.com · 06/07/2026
#bioinformatics re-writes are more often about doing it "right" this time, rather than faster this time. #genomics #rust #rewrites
141
Reposted by Nils Homer
Tim Fennell @tfenne.bsky.social · 06/07/2026
New riker release this morning - version 0.4.0 is out! Major updates are: - New "rna" tool that ports picard CollectRnaSeqMetrics, fgbio EstimateRnaInsertSize, and much more - New global --threads option to multithread input BAM/CRAM decoding - Big performance improvements in "wgs" and "hybcap"
181
Nils Homer @nilshomer.com · 04/07/2026
🚀 bwa-mem3 v0.5.0 is out 🎉 One flag to rule them all. The new --fast preset makes whole-genome alignment ~2× faster while preserving accuracy and recall. 🧵 github.com/fg-labs/bwa-...
github.com
Release v0.5.0 · fg-labs/bwa-mem3
0.5.0 (2026-07-04) Features add opt-in --seed-order seed reordering (default off, byte-identical) (#186) (04749a1) add opt-in --smem-dedup (dedup identical SMEMs before chaining) (#187) (1384972) ...
1205
Reposted by Nils Homer
Fulcrum Genomics @fulcrumgenomics.com · 30/06/2026
New on the Fulcrum blog: minibwa, a faster mapper from @lh3lh3.bsky.social and our @nilshomer.com Its speed is great, yes, but more interesting is the decision to revisit BWA-MEM as infrastructure – keep what still works, change what limits performance, then test downstream impact. shorturl.at/xxqeI
blog.fulcrumgenomics.com
Minibwa: alignment is never solved
Heng Li and Nils Homer revisit BWA-MEM with a faster mapper for short reads, accurate long reads, and bisulfite sequencing data.
0195
Reposted by Nils Homer
Rob Patro @robp.bsky.social · 29/06/2026
Hey @nilshomer.com, you'd asked about this in the past: we finally got around to implementing byte-level determinism in salmon (github.com/COMBINE-lab/...). It turned out to require a lot of thought and changes, but it turns out we can do it elegantly (with RAD files) and fast (`--deterministic`)!
github.com
Release v2.2.1 · COMBINE-lab/salmon
salmon 2.2.1 The recommended 2.2.x release: it carries the full 2.2.0 feature set plus a security fix for a lz4_flex advisory pulled in by the new RAD compression. If you are on 2.2.0, upgrade. No ...
1243
Nils Homer @nilshomer.com · 28/06/2026
re-writes aren't just about speed dupblaster, riker, chelae, and methylsieve: the stack is being re-written, not just faster, but with the fixes we've always wanted
040
Reposted by Nils Homer
Tim Fennell @tfenne.bsky.social · 22/06/2026
Realized that I released a couple of new tools last week and didn't announce anything. The first one is *dupblaster*. Samblaster inspired streaming queryname grouped duplicate marking for NGS reads: github.com/fulcrumgenom...
github.com
GitHub - fulcrumgenomics/dupblaster: Blazingly fast, streaming duplicate detection for NGS data
Blazingly fast, streaming duplicate detection for NGS data - fulcrumgenomics/dupblaster
1153
Nils Homer @nilshomer.com · 28/06/2026
minibwa + ALTs: github.com/nh13/minibwa... In-mapper ALT-aware MAPQ recovery via DRAGEN-style liftover groups. No bwa-postalt.js. Matches bwa+postalt, byte-identical without a .alt file. Works how I want it to. The real test will be when others give it a try. No warranty, implied or otherwise.
github.com
ALT-aware mapping via post-extension liftover groups by nh13 · Pull Request #7 · nh13/minibwa
ALT-aware mapping via post-extension liftover groups Draft for design feedback, opened against this fork's master. It adds optional ALT-contig awareness: given a .alt file, reads whose confiden...
030
Nils Homer @nilshomer.com · 28/06/2026
🚀 new bwa-mem3 is out. Why use it? - 🏛️keep using a bwa-mem variant (avoid revalidation/reprocessing) - 🚅 1.7x faster/20% less memory than bwa-mem2 - 🧬native methylation support (asymmetric scoring) - ✅ matches bwa-mem2 output - 👊opt-in knobs to go even 2x faster bwa-mem3.readthedocs.io/en/latest/
bwa-mem3.readthedocs.io
Home - bwa-mem3
Accelerated short-read alignment, derived from bwa-mem2
14219
Nils Homer @nilshomer.com · 21/06/2026
Rust and python bindings for minibwa are available on crates.io and pypi.org: github.com/fg-labs/mini...
github.com
GitHub - fg-labs/minibwa-bindings: Rust and Python bindings for minibwa — Heng Li's lightweight bwa
Rust and Python bindings for minibwa — Heng Li's lightweight bwa - fg-labs/minibwa-bindings
1112
Nils Homer @nilshomer.com · 20/06/2026
Faster samtools sort, why aren't you using it? github.com/fg-labs/mako
github.com
GitHub - fg-labs/mako: Fast SAM/BAM sorter.
Fast SAM/BAM sorter. Contribute to fg-labs/mako development by creating an account on GitHub.
1122
Reposted by Nils Homer
Heng Li @lh3lh3.bsky.social · 16/06/2026
Minibwa is a hybrid of bwa-mem and minimap2 and the successor of bwa-mem for short-read mapping. ~4X/2.5X as fast as bwa-mem/bwa-mem2 for WGS reads at comparable accuracy. Native support of directional bisulfite-seq. Applicable to long reads. Preprint at arxiv.org/abs/2606.15357
1193109
Reposted by Nils Homer
Tim Fennell @tfenne.bsky.social · 14/05/2026
Over the last few weeks I've been exploring writing a new short-read adapter trimming tool after running into frustrations with existing tools. Yesterday I made it public and pushed the first release to bioconda: github.com/fulcrumgenom...
github.com
GitHub - fulcrumgenomics/chelae: Fast, highly accurate, read-trimming for NGS data.
Fast, highly accurate, read-trimming for NGS data. - fulcrumgenomics/chelae
173
Reposted by Nils Homer
Robert Aboukhalil @robert.bio · 14/05/2026
I've seen lots of AI rewrites in bioinformatics lately, and I’m concerned because LLMs can be confidently wrong. What do the best tool builders do to make sure their rewrites are correct? How can we tell if a rewrite is flawed? I interviewed 5 scientists to find out: youtu.be/0o2XnEBDxrI
youtu.be
I interviewed 5 bioinformatics experts about AI rewrites
YouTube video by OMGenomics
22913
Nils Homer @nilshomer.com · 07/05/2026
Sort your BAMs faster! I am looking for bug-resistant early alpha testers of mako to verify the speedup cl..ai..ms. I am seeing 1.1-1.9x speedups depending on data type and workload. github.com/fg-labs/mako
github.com
GitHub - fg-labs/mako: Fast SAM/BAM sorter.
Fast SAM/BAM sorter. Contribute to fg-labs/mako development by creating an account on GitHub.
061
Nils Homer @nilshomer.com · 22/04/2026
holodeck built with inspiration from dwgsim, which was built with inspiration from the original @lh3lh3.bsky.social wgsim. So many levels...
050
Nils Homer @nilshomer.com · 14/04/2026
Catch me if you can…
030
Nils Homer @nilshomer.com · 08/04/2026
Your freezer is lying to you. 🥶 We found frozen samples picked up way more artifactual C>T mutations than DNA stored at room temp. The data surprised us. 🧬👇
082
Reposted by Nils Homer
Tim Fennell @tfenne.bsky.social · 03/04/2026
It's amazing to me that libdeflate has been around for ~a decade and there hasn't been a production-ready JNI wrapper for it in all that time. So this week I built jlibdeflate: github.com/fulcrumgenom...
github.com
GitHub - fulcrumgenomics/jlibdeflate: Java JNI wrapper around libdeflate for faster DEFLATE/gzip/zip on the JVM
Java JNI wrapper around libdeflate for faster DEFLATE/gzip/zip on the JVM - fulcrumgenomics/jlibdeflate
151
Nils Homer @nilshomer.com · 02/04/2026
Totally agree something has shifted. We used Claude Code extensively for fgumi and it genuinely changed our velocity on the port from Scala to Rust. The key was having deep domain expertise to guide it and catch the subtle stuff. AI as a force multiplier for experienced devs is very real now.
1287
Reposted by Nils Homer
Phil Ewels @ewels.bsky.social · 02/04/2026
I'm not unique in getting here. 3 days into my effort, @robp.bsky.social wrote about using AI to rewrite piscem (combine-lab.github.io/blog/2026/02...). Then @fulcrumgenomics.com released fgumi this week (blog.fulcrumgenomics.com/p/introducin...). Something has clearly shifted in AI capabilities..
blog.fulcrumgenomics.com
Introducing fgumi
A New UMI Toolkit for Next-Gen Sequencing
2131
Reposted by Nils Homer
Phil Ewels @ewels.bsky.social · 02/04/2026
Super excited to be launching two things today: #RustQC 🦀🧬 and rewrites.bio 🚀 I used AI to rewrite 15 RNA-seq QC tools into a single Rust binary (I've never written any Rust). It ended up being over 60x faster. Here's the story 🧵 seqeralabs.github.io/RustQC/
seqeralabs.github.io
Welcome to RustQC
Fast quality control tools for sequencing data, written in Rust.
38536
Nils Homer @nilshomer.com · 31/03/2026
If you use fgbio or UMIs at all, you should start using fgumi. Up to 100x faster, and soon 2x faster sort than samtools, it’s been a labor of love and something we’ve wanted to do for a long time.
0166
Nils Homer @nilshomer.com · 18/03/2026
Went looking for a full-stack GA4GH refget implementation in Rust. Couldn't find one, so I had Claude build it. 🦀 refget-rs server, client, data models, storage, & CLI for Sequences v2.0.0 + Sequence Collections v1.0.0. Serve, query, compare, compute digests. 🔗 github.com/fulcrumgenomics/refget-rs
github.com
GitHub - fulcrumgenomics/refget-rs: GA4GH refget Sequences v2.0.0 and Sequence Collections v1.0.0 — server, client, and CLI tools in Rust
GA4GH refget Sequences v2.0.0 and Sequence Collections v1.0.0 — server, client, and CLI tools in Rust - fulcrumgenomics/refget-rs
184
Reposted by Nils Homer
Tim Fennell @tfenne.bsky.social · 18/03/2026
Last week's fun "how quickly can I solve this" project: github.com/fulcrumgenom... - a small toolkit to i) generate more easily machine parseable kraken2 reports, and ii) filter fastqs based on kraken2 classifications.
github.com
GitHub - fulcrumgenomics/k2tools: Tools for working with the outputs of kraken2
Tools for working with the outputs of kraken2. Contribute to fulcrumgenomics/k2tools development by creating an account on GitHub.
141
Reposted by Nils Homer
Fulcrum Genomics @fulcrumgenomics.com · 23/02/2026
@tfenne.bsky.social and @nilshomer.com are on the ground at #AGBT2026 this week. Big data. Tight timelines. Real decisions. #Bioinformatics is where complexity becomes something teams can actually use. If you’re here, let’s connect.
"AGBT meet your new bioinformatics team" with hand-drawn portraits of Nils Homer and Tim Fennell
034
Nils Homer @nilshomer.com · 24/01/2026
So long Scala, thanks for all the fish.
010
Reposted by Nils Homer
Fulcrum Genomics @fulcrumgenomics.com · 23/10/2025
10th Anniversary Core Values blog series: Valuing People Valuing People is one of our deepest commitments: to ourselves, to our team, and to our clients. Life is messy—just like biology. When life gets complicated, we don’t look away. We step in. Read More: blog.fulcrumgenomics.com/p/core-value...
blog.fulcrumgenomics.com
Core Value: Valuing People
Fulcrum Genomics 10th Anniversary Series
054
Nils Homer @nilshomer.com · 20/10/2025
@plasmidsaurus.bsky.social next time in Boston for #ASHG25, consider catering with Bagelsaurus!
040
Nils Homer @nilshomer.com · 14/10/2025
Ever want a live code review of your #bioinformatics code? DM me if you’re at #ASHG25 and I’ll take look to give you suggestions on how to improve reproducibility, maintainability, and overall engineering quality.
0102
Reposted by Nils Homer
Fulcrum Genomics @fulcrumgenomics.com · 02/10/2025
10th Anniversary Core Values blog series: Openness Openness is an action. It’s a positive, and proactive, choice to lean-in. It begins with a simple but powerful question: What do I know that others need to know? Read more: blog.fulcrumgenomics.com/p/core-value...
blog.fulcrumgenomics.com
Core Value: Openness
Fulcrum Genomics 10th Anniversary Series
022