Typing
| File | Description | Rows | Size (.gz) | Download |
|---|---|---|---|---|
| mlst_all.tsv | One row per genome: Achtman ST, allele profile, status | 1,816 | 18.0 KB | ⬇ Download |
| phylogroup_all.tsv | Clermont phylogroup (A/B1/B2/C/D/E/F/G) per genome | 1,816 | 12.7 KB | ⬇ Download |
| serotype_all.tsv | SerotypeFinder O:H serotype, O-type, H-type, confidence | 1,816 | 28.7 KB | ⬇ Download |
| chtyper_all.tsv | fumC and fimH allele types per genome | 1,816 | 17.9 KB | ⬇ Download |
Metadata
| File | Description | Rows | Size (.gz) | Download |
|---|---|---|---|---|
| eclipse_metadata.tsv | Country, isolation source, host, collection year, strain, assembly level | 431,592 | 5.6 MB | ⬇ Download |
AMR
| File | Description | Rows | Size (.gz) | Download |
|---|---|---|---|---|
| amr_all.tsv | One row per (genome ร gene): gene, num_hits, best identity, class, subclass | 53,278 | 477.9 KB | ⬇ Download |
| amr_gene_freq.tsv | One row per gene: num_genomes, prevalence %, occurrences, class | 6,143 | 37.2 KB | ⬇ Download |
Virulence
| File | Description | Rows | Size (.gz) | Download |
|---|---|---|---|---|
| vfdb_all.tsv | One row per (genome ร gene): gene, num_hits, VFC class, VF category | 138,651 | 1.5 MB | ⬇ Download |
| vfdb_gene_freq.tsv | One row per gene: num_genomes, prevalence %, VFC class | 541 | 5.2 KB | ⬇ Download |
Plasmid
| File | Description | Rows | Size (.gz) | Download |
|---|---|---|---|---|
| plasmid_all.tsv | One row per (genome ร replicon): gene, num_hits, best identity | 6,016 | 35.8 KB | ⬇ Download |
| plasmid_gene_freq.tsv | One row per replicon: num_genomes, prevalence %, occurrences | 81 | 1.0 KB | ⬇ Download |
๐ How to use these files
Every file is a gzipped TSV. Decompress and open with pandas, R, or the command line:
gunzip mlst_all.tsv.gz head -5 mlst_all.tsv
Or read directly from Python without decompressing โ pandas handles .gz automatically:
import pandas as pd
mlst = pd.read_csv("mlst_all.tsv.gz", sep="\t")
amr = pd.read_csv("amr_all.tsv.gz", sep="\t")
meta = pd.read_csv("eclipse_metadata.tsv.gz", sep="\t")
# Join typing + metadata on accession
df = mlst.merge(meta, on="accession", how="left")
df[df["ST"] == "131"].head()
๐งฌ Long-format gene tables
amr_all.tsv, vfdb_all.tsv, and
plasmid_all.tsv are in long format โ one row per
(genome, gene) presence. To pivot to a wide presence/absence matrix:
amr_wide = (amr.assign(present=1)
.pivot_table(index="accession", columns="gene",
values="present", fill_value=0))
๐ Related resources
- Source genomes: NCBI Assembly โ Escherichia coli
- Download the genomes themselves:
datasets download genome accession --inputfile list.txt - Typing pipeline: EcoliTyper on GitHub
- Metadata source: NCBI BioSample
๐ Please cite
If you use these data in your research, please cite EcoliTyper:
Beckley B, Amarh V. EcoliTyper: a species-optimized computational pipeline for comprehensive genotyping and surveillance of Escherichia coli. BMC Bioinformatics. 2026. doi:10.1186/s12859-026-06529-6
Please also cite the specific downstream tools you used (mlst, ClermonTyping, SerotypeFinder, CHTyper, AMRFinderPlus, ABRicate, and their reference databases). The complete list is maintained in the EcoliTyper repository.