📦 Download everything in one click

9 files · 6,108,912 total rows · 18.6 MB as a single archive

🧬

Typing

2 of 2 files
File Description Rows Size (.gz) Download
mlst_all.tsvOne row per accession: Pasteur ST, international clone (IC), OXA-51 variant, full allele profile48,038356.4 KB⬇ Download
capsule_all.tsvKaptive 3 KL and OCL calls per accession, with country/source/year context48,038291.7 KB⬇ Download
📋

Metadata

1 of 1 files
File Description Rows Size (.gz) Download
abyss_metadata.tsvCountry, isolation source, host, collection year, strain, assembly level — one row per accession59,160849.1 KB⬇ Download
💊

AMR

2 of 2 files
File Description Rows Size (.gz) Download
amr_all.tsvOne row per (accession × gene): gene, num hits, best identity, class440,8021.6 MB⬇ Download
amr_gene_freq.tsvOne row per gene: num genomes, prevalence %, occurrences4633.0 KB⬇ Download
🦠

Virulence

2 of 2 files
File Description Rows Size (.gz) Download
vfdb_all.tsvOne row per (accession × gene): gene, num hits, VFC class, VF category5,510,50117.3 MB⬇ Download
vfdb_gene_freq.tsvOne row per gene: num genomes, prevalence %, VFC class5173.0 KB⬇ Download
🔌

Plasmid

2 of 2 files
File Description Rows Size (.gz) Download
plasmid_all.tsvOne row per (accession × replicon): gene, num hits, best identity1,3077.4 KB⬇ Download
plasmid_gene_freq.tsvOne row per replicon: num genomes, prevalence %, occurrences86968 B⬇ 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")
caps  = pd.read_csv("capsule_all.tsv.gz", sep="\t")
meta  = pd.read_csv("abyss_metadata.tsv.gz", sep="\t")

# Join typing + capsule + metadata on accession
df = (mlst.merge(caps, on="accession", how="left")
          .merge(meta, on="accession", how="left"))

# IC2 genomes with OXA-23 from bloodstream infections
df[(df["IC"] == "IC2") & (df["source"] == "blood")].head()

🧬 Long-format gene tables

amr_all.tsv, vfdb_all.tsv, and plasmid_all.tsv are in long format — one row per (accession, 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))

🔗 GCA ↔ GCF translation

Metadata is GCF-preferred; gene tables are GCA-keyed. All joins in this dataset use the numeric accession stem, so they work as-is. If you need to map between NCBI pairs explicitly, use AB_59160.tsv from the ABYSS repository.

📎 Related resources

📚 Please cite

If you use these data, please cite both source works:

Typing pipeline: Beckley B, Amarh V, Lopes BS, et al. AcinetoScope: a computational pipeline for rapid, comprehensive Acinetobacter baumannii outbreak investigation and resistance gene tracking. Scientific Reports. 2026. doi:10.1038/s41598-026-70189-y

Gene data: Shelenkov A, Mikhaylova Y, Akimkin V. Genomic Epidemiology Dataset for the Important Nosocomial Pathogenic Bacterium Acinetobacter baumannii. Data. 2024;9(2):22. doi:10.3390/data9020022

Please also cite the specific downstream tools you used (mlst, Kaptive, AMRFinderPlus, ABRicate and their reference databases).