14 projects
Things I build
Benchmarks, models, databases, the pipelines behind the papers, and the years in industry that taught me to ship them. Everything here was used by somebody who isn't me — that is the only rule for getting on this page.
Teaching material has a page of its own. Everything else is on GitHub.
Benchmarks and datasets
Nearly everything I build starts as a complaint about an evaluation. A model that exploits an artefact posts a beautiful number and teaches you nothing, so somebody has to make the comparison fair first.
-
2025 – present
Genomic Benchmarks QC
Automated quality control for genomic machine-learning datasets. It scores the biases, duplicate sequences and train/test leakage a classifier could exploit before you train on it — length differences, GC content, per-position give-aways, near-duplicate overlap between splits — and gives each check a pass / warning / fail flag, a report you can read and a CSV you can drop into CI. It is the general form of the problem behind everything else in this section: rather than curate one more clean dataset, check the one you already have. I designed it, wrote it and maintain it.
Docs Code pip install genomic-benchmarks-qc The wider project
-
2024 – 2025
miRBench
Benchmark datasets and a Python package for miRNA target-site prediction, built to remove the frequency-class bias that quietly inflates published scores. It ships the data, the splits and wrappers around the existing predictors, so a new method can be measured against all of them in one call instead of six afternoons. I led the project and supervised the students who built much of it.
-
2021 – 2023
Genomic Benchmarks
Eight curated datasets for genomic sequence classification across human, mouse and roundworm, each with a sensible split and a baseline model, so a new architecture has something honest to beat. Installable as a package and mirrored on Hugging Face — the field's most common excuse for not comparing fairly is that it was too much work. I led it and first-authored the paper.
Shipped in industry
Seven years of software engineering before and alongside research. Mostly closed source, so there is nothing to click — but it is where I learned how software is built to last, and most of what I think computational biology should borrow.
-
2023
Reading street signs at city scale
Melown Technologies
A computer-vision model that recovers the text on a street sign from many low-quality views of it, inside a pipeline building 3D models of entire cities. Research prototype through to something that ran unattended.
-
2021 – 2022
Product matching across catalogues
Proficio / Databy
NLP that decides when two listings from different sellers are the same physical product, plus the unglamorous text cleaning that made the listings comparable in the first place.
-
2020 – 2021
SuiteAnalytics Connect
Oracle NetSuite
Third-party analytics access to NetSuite data — the layer that lets a customer point their own reporting tool at the system and get an answer. Java, SQL and ODBC, at a scale where a careless query is everyone's problem.
-
2018 – 2020
Test infrastructure and CI
Tieto
Continuous integration and the test infrastructure around a large Java system. This is where the habit of not believing a result until something else re-runs it comes from.
-
2016 – 2018
Corpora Processing Software
Knowledge Technology group, Brno University of Technology
Tooling for building and querying very large annotated text corpora. My first research job, and the first time something I wrote was used by people I had never met.
Models and methods
Sequence in, prediction out — and, wherever I can manage it, some account of what the model actually noticed.
-
2022 – 2026
miRBind and miRBind2
Deep learning models that decide whether a microRNA binds a given site, trained on chimeric read data rather than on the seed-match rules everyone assumed. The second version goes a step further and predicts how much the transcript is actually repressed, from sequence alone.
-
2022 – 2023
Attribution sequence alignment
A way to make a model say what it noticed. Attribution gives you one importance score per nucleotide, which is not yet a motif; aligning those profiles across many sequences makes the patterns a network has learned visible as patterns — something a biologist can argue with, and occasionally something nobody had written down.
Databases and web services
Things with a URL, so that using them costs nobody an afternoon.
-
2023 – 2026
AlphaFind and AlphaFind2
Structure-similarity search across the whole of AlphaFold DB. Pretrained networks compress each structure into an embedding, which turns an all-against-all comparison over more than 200 million structures into a query you can wait for. The second version searches TED domains as well, so a hit can be a shared domain rather than a whole fold. Both versions are up and public.
-
2023 – 2024
RBP-Tar
A searchable database of experimentally determined RNA-binding protein sites, pulled out of published CLIP experiments and put behind a query interface — so you can ask what binds a transcript without reprocessing somebody else's raw data first. I built it and first-authored the paper.
Pipelines behind the papers
The analysis for a paper, written as a workflow rather than a folder of scripts — raw data in, figures out, on a machine that isn't mine. It is the difference between a result and a result somebody else can check.
-
2024 – 2026
Senescence marker discovery and scoring
The machine learning behind the SenCat paper, written as a Snakemake workflow: transcriptomic and proteomic profiles of several senescent primary cell types go in, and out come marker sets that stay informative across cell types instead of describing one fibroblast very well. It ships the markers and a scoring script, so somebody else can score their own data for senescence without rerunning the discovery. I wrote it.
-
2024 – 2025
Isoform remodeling in the ageing mouse brain
The single-cell long-read pipeline behind the ageing mouse brain paper — nanopore reads through to which RNA isoform each cell type switches to as the animal ages, which is a question short reads cannot answer at all. Written as a workflow so the figures can be regenerated from the raw data by someone who was not in the room.