Tim Fennell

Tim Fennell

@tfenne.bsky.social

Bioinformatician, Leader, Founder @fulcrumgenomics.bsky.social https://www.fulcrumgenomics.com

634 followers151 following161 posts

HTSJDK 6.0.0 is released! Major updates include: - Full support for VCF 4.0-4.5 (finally) - Full support for BCF 2.2 (including bgzf) - File->Path everywhere for NIO file system plugins - Proper CRAM/CRAI indexing - CSI index support for many formats - Non-trivial performance improvements

Tim Fennell reposted

It's around 3x faster at encode, and 3-4x faster decode on general corpora. And up to 8x faster on highly repetitive data like various tag-streams in CRAM.

It honors bzip2's memory contracts, produces identical output unless input (at block scale) is entirely repetitive (i.e. multiple valid minimal rotations), and has been subjected to dozens of CPU-hours of fuzz testing!

I realize bzip2 isn't the most in-vogue compression these days, but part of that is that it's so slow. Over the space of about a week, I was able to get Claude to build a drop-in replacement that is substantially faster. Drop-in in the way zlib-ng is for zlib - no recompile, just swap the library.

Existing libraries both lacked complete support for the full range of bigwig internal block formats and had crazy dependency chains (ffs: I don't need async to write bigwig).

Part of the CI for bigwig-rs is generation of a broad range of files and round-tripping through both itself and every major bigwig library including IGV and igv.js!

Tim Fennell reposted

bwa-mem3 is now 6-8x faster than the original, and now as fast as minibwa. What's stopping you from using it?

I'm winding up to generate a mostly large joint callset (about 10k samples) through GATK's HaplotypeCaller to make gVCFs, and then on into GenomicsDB. I'm curious - are folks still actively using HaplotypeCaller / GATK for germline joint genotyping? Or are folks moving on to something else?

New release of chelae over the weekend. The fastest adapter and qual trimming software you've probably never heard of 😉 Still measures the fastest of the bunch, though AdapterRemoval v3 isn't too far behind. Now with support for streaming interleaved FASTQ! 🧬 🖥️ github.com/fulcrumgenom...

github.comGitHub - fulcrumgenomics/chelae: Fast, highly accurate, read-trimming for NGS data.Fast, highly accurate, read-trimming for NGS data. - fulcrumgenomics/chelae

Tim Fennell reposted

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.comRelease v0.12.0 · fg-labs/bwa-mem30.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...

Tim Fennell reposted

Every time I read a paper like this I just think about what a PITA it's going to be to design off-target NGS assays that are suitable for regulatory review.

Nature Biotechnology@natbiotech.nature.com

Donor-complementary prime editing enables precise kilobase and library-compatible DNA insertions - @fudanuniversity.bsky.social www.nature.com/articles/s41...

dupblaster 0.3.0 is released! The new release adds: - optional tmp file compression with zstd - sequencing (optical) vs. library duplicate detection - incremental performance improvements On top of existing: - fastest and most accurate query-grouped duplicate marking - comprehensive QC stats 🧬🖥️

View full thread

I think this is actually a first - I'm unaware of any streaming, query-grouped duplicate marking tool that estimates sequencing dupes and gives an adjusted library size estimate.

dupblaster 0.3.0 is released! The new release adds: - optional tmp file compression with zstd - sequencing (optical) vs. library duplicate detection - incremental performance improvements On top of existing: - fastest and most accurate query-grouped duplicate marking - comprehensive QC stats 🧬🖥️

Sequencing duplicates are detected by writing a small amount per read-pair (~16 bytes) to a temp file - costs nearly no runtime. After output is closed (unblocking downstream), the temp file is read and the rate of sequencing dupes calculated. Adds maybe 2-3% to CPU used during the active phase.

Tim Fennell reposted

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.comRelease v0.7.0 · fulcrumgenomics/fgumiFor 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...

Tim Fennell reposted

A good case for ensuring scientific software is safe. @science-goblin.bsky.social shares what the pixy project reinforced about building code scientists can trust, maintain, and keep extending 👇

Erin McAuley@science-goblin.bsky.social

Some of the best scientific software is safe: predictable outputs, clear failures, useful tests, readable code. Working on the latest pixy update reinforced why that matters when working on scientific software. I wrote about what we learned: blog.fulcrumgenomics.com/p/how-to-wri...

Did whoever coined "dovetailed" as the term for an NGS read-pair where the 3' ends extend past their mate's 5'-ends have *any* knowledge of woodworking? In a field of terrible names, this one wins for me because it invokes the exact opposite the originators' intent/usage.

Awesome forensics work by @ameynert.bsky.social to figure out all the issues and build a more robust pipeline and more complete and accurate DivRef!

Alison Meynert@ameynert.bsky.social

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...

Tim Fennell reposted

Tim Fennell reposted

well okay so the english won against the norwegians but in only a few days theyll have to face the french. anyway thats quite enough about September 25th 1066, lets look at some football news

Tim Fennell reposted

🚀 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.comRelease v0.7.0 · fulcrumgenomics/ferro-hgvsAdded (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...

More fun with fable yesterday. A coworker thought they'd cracked the code by asking opus to pose questions to a fable sub-agent in Claude Code. Dear reader, they had not.

View full thread

Opus found our questions about aligners and "teach me basic infosec" *so* benign it concluded the only reasonable answer was that the sub-agent system did not support fable at all. We then asked some truly benign questions, and Opus was shocked:

More fun with fable yesterday. A coworker thought they'd cracked the code by asking opus to pose questions to a fable sub-agent in Claude Code. Dear reader, they had not.

The switcth to Opus happened with no notification to the parent (Opus), nothing in the output that would indicate it happened. And happened even though I have Claude Code configured to STOP instead of auto-switch to Opus when the safeguards are hit 😱