openpathogen About

What is openpathogen, and how does it work?

openpathogen is an open-source platform that screens for antimicrobial resistance and virulence genes in sequencing reads.

It uses KMA v1.5.1 for read mapping and fastp 0.22 for quality control. Both are compiled from source to WebAssembly.

Your data is analysed on your own computer and is never uploaded anywhere. This makes it safe to use with clinical or unpublished data.

There is no need for account creation and no server. The only downloads are the app, the WebAssembly engines and the databases. More details are in the privacy section.

Databases are downloaded once, checked against pinned SHA-256 hashes and cached in the browser. Repeat runs can therefore start at once. The first run against a large database might take some time while it fetches the databases from Zenodo.

Privacy

Nothing you upload leaves your machine. A website ofcourse still makes some network requests. This is the full list of requests, so you can check it against the source code or your browser's network inspector.

Your sequencing files (FASTQ)
Never uploaded and never written to disk. Files are read into memory, processed by WebAssembly and gone when you close the tab. No cookies and no accounts.
Page views (Cloudflare, the host and goatcounter for analytics)
The site is served by Cloudflare, which sees each request and your IP address like any webpage host does. Page views are counted with Cloudflare Web Analytics and GoatCounter, which uses no cookies and no cross-site tracking. When enabled, Cloudflare adds a small beacon script from cloudflareinsights.com. There is no other analytics provider and no tracking code in the app.
Databases, CABBAGE snapshot and engines (this site or Zenodo)
The KMA and fastp engines ship with the page. The ResFinder, CARD and VFDB indexes and the CABBAGE snapshot are downloaded once from this site or from Zenodo and cached locally. Every file is checked against a pinned SHA-256 hash before it is used. A corrupted or altered download is rejected.
Fetching a public run (only when you ask)
If you fetch a run by accession or load the example, the accession and your IP address go to EMBL-EBI (ENA). ENA then knows which public run you fetched. The reads are cached in your browser like the databases.

That is all. To remove cached data (indexes, snapshot, example and fetched runs), use Clear cached data under the database selector on the main page.

Getting started

  1. Drop your read files (.fastq or .fastq.gz) on the page or choose them. For paired-end reads, you can select both files at once and they are matched to R1 and R2 by name. The read type is also set for you as: two files are paired-end, and a single file is Nanopore or single-end depending on its read lengths. You can change it with the Read type buttons if needed. Or try the example: S. aureus USA300_TCH1516 (SRR10341524), a 48 MB MiSeq run of the community-associated MRSA reference strain, downloaded from ENA. The reads are cached in your browser. You can also fetch any public run by accession (SRR, ERR or DRR) with Fetch reads. The species and read type are set from the ENA record. Files are limited to 1 GB each.
  2. Tick the databases to screen against. ResFinder is preselected, and any combination of ResFinder, CARD and VFDB runs in one go. Turn on fastp quality control if you want trimming and filtering, and open its settings to change the defaults.
  3. Enter the species if you know it. This is optional, and adds CABBAGE tested-resistance rates to the report. You can also set it on the results page.
  4. Select Run. Progress is written to the Logs panel, which shows the exact KMA and fastp commands and their output.

Databases

ResFinder 2.6.0
Acquired antimicrobial resistance genes (CGE).
CARD 4.0.1
Comprehensive Antibiotic Resistance Database, protein homolog model.
VFDB
Virulence Factor Database, set A (core virulence factors).

The report and CABBAGE rates

The results open with a report. Resistance genes are grouped by drug class, and each gene lists the antibiotics it affects, from ResFinder's curated phenotype table. Beta-lactams are grouped the way they are prescribed (penicillins, cephalosporins by generation, carbapenems), and well-known gene types are labelled: ESBL, AmpC, carbapenemase and methicillin resistance. CARD hits are matched to ResFinder genes by name. CARD genes that ResFinder has no drug class for, such as efflux pumps, are listed separately. The report then lists the drug classes with no acquired gene, and the virulence factors by VFDB category. Use Print / save PDF on the results page to keep a copy.

When the species is known, each gene also shows how often isolates of that species carrying it tested resistant in CABBAGE (Comprehensive Assessment of Bacterial-Based AMR prediction from Genotypes, Dickens et al., NAR 2026). CABBAGE links 170,750 sequenced isolates to 1.7 million susceptibility test results. Genotypes are AMRFinderPlus calls, and phenotypes are reinterpreted with the 2025 CLSI and EUCAST breakpoints. The report reads, for example: In CABBAGE, S. aureus with mecA tested resistant to methicillin in 97.7% of 1,792 isolates.

Rates are shown only for antibiotics the gene is known to affect: those ResFinder lists for it, and those CABBAGE links to it by drug name. Rates for other antibiotics mostly reflect other genes carried by the same lineages, so they are left out. Only rates from at least 20 tested isolates are shown. CABBAGE covers 28 species. The species is filled in for public runs and the example. For your own files, type it in on the input page or the results page.

These rates describe other isolates, not your sample, and include the effect of any other genes those isolates carry. They are not a susceptibility test, so confirm results that matter for treatment in the laboratory. To explore the full database, use the EMBL-EBI AMR portal. Everything is computed in your browser from a cached snapshot of under 1 MB. The rates behind the report are in the results ZIP as cabbage_predictions.csv.

Notes

  • The default thresholds are 90% template identity and 60% template coverage. Lower the identity threshold to pick up divergent variants, or lower the coverage threshold for fragmented or low-depth samples. Both sliders apply to every selected database.
  • Nanopore mode runs KMA with -bcNano for indel-aware base calling. fastp then only reports statistics.
  • Click any gene name in the report or the gene tables to see its coverage, consensus sequence, alignment and variants.
  • Print / save PDF prints the report with every gene table expanded. In the print dialog, choose "Save as PDF" to keep a file.
  • The results ZIP contains, per database, .res, .aln, .fsa, .frag.gz, .mat.gz, .vcf.gz and .mapstat, plus the fastp reports, the CABBAGE table as CSV and the run log.
  • openpathogen needs a browser with SharedArrayBuffer support: recent Chrome, Firefox, Edge or Safari, on a computer or a phone. Chrome, Edge and Firefox run the 64-bit engine, which can use more than 4 GB of memory. Safari and every browser on iPhone and iPad run a 32-bit build of the same tools, which gives the same results but has at most 4 GB of memory, and much less on a phone. On a phone, keep inputs small (the example, or a few hundred MB) and keep the page open and the screen on until the run finishes.

Citation

A short communication is in preparation. Until then, cite KMA, fastp, CABBAGE and the databases you used:

Clausen PTLC, Aarestrup FM, Lund O. Rapid and precise alignment of raw reads against redundant databases with KMA. BMC Bioinformatics. 2018;19:307. doi:10.1186/s12859-018-2336-6

Chen S, Zhou Y, Chen Y, Gu J. fastp: an ultra-fast all-in-one FASTQ preprocessor. Bioinformatics. 2018;34(17):i884–i890. doi:10.1093/bioinformatics/bty560

Dickens E, et al. A comprehensive AMR genotype–phenotype database (CABBAGE). Nucleic Acids Research. 2026. doi:10.1093/nar/gkag780. Data CC-BY 4.0.

Database citations (ResFinder, CARD, VFDB) and component licenses are listed in THIRD_PARTY_NOTICES.