Skip to content

AcinetoScope v1.2.0

Latest

Choose a tag to compare

@bbeckley-hub bbeckley-hub released this 29 May 16:57

🦠 AcinetoScope v1.2.0 – "The One Where We Finally Gave Up on PlasmidFinder and Rewrote Half the Universe"

Release date: 2026-05-29
Coffees consumed: > 200
Sane commits: 0

If you’ve ever tried to type plasmids in A. baumannii with PlasmidFinder, you know the pain. It’s like asking a fish to climb a tree. So we did what any sleep‑deprived bioinformatician would do: we built our own damn plasmid typing module. And then we got carried away. This release is huge. No, really. Scroll down.


🧬 1. APT Plasmid Typing – Because Acinetobacter Deserves Better

The Acinetobacter Plasmid Typing (APT) scheme [Lam et al., 2023; Lam & Hamidian, 2024; Tobin et al., 2025] is now fully integrated. No more staring at empty PlasmidFinder outputs.

  • Uses blastn against curated rep genes (Rep1, Rep3, RepPriCT).
  • Thresholds: ≥95% identity, ≥70% subject coverage (as the APT gods intended).
  • Spits out per‑genome TSV, per‑genome HTML, and a glorious cross‑genome summary with rep type frequencies and genome‑level lists.
  • Validated on 140 public genomes100% concordance. You’re welcome.

In the 145‑genome demo: 41 unique rep types, top hits RP‑T1, R3‑T60, R3‑T1. PlasmidFinder? It found 6 replicons, total. We’re not saying it’s useless, but… actually we are.


🎨 2. The Reporter Ate Steroids – Now It's Actually Usable

We took the already‑nice HTML report and gave it the love it deserved. This is what you get when a bioinformatician discovers JavaScript and refuses to sleep.

🔍 Search & Highlight – Finally Everywhere

  • Sample Overview, MLST, Capsule, Combinations, Plasmid tabs now have two search boxes:
    1. Filter rows – hides non‑matching rows.
    2. Highlight text – turns matches yellow without nuking the HTML structure.
  • Genome tags (the little badges) stay put – they just change colour. No more disappearing acts.

🏷️ Genome Tags – No More Comma Hell

Every sample list is now a collection of clickable, highlightable, scrollable tags. Because reading “AC1119, AC1224, AC1532…” is for masochists.

🦠 Virulence Tab – Fixed (Finally)

Virulence genes no longer squat in the AMR tab. They now live where they belong – in the Virulence tab. Took us 2.1 versions, but we got there.

🧬 APT Plasmid Integration

The Plasmids tab now shows:

  • APT rep type frequency (Marker, Frequency, Genomes as tags).
  • Per‑genome APT rep types (badges, or “No Rep found”).
  • Legacy PlasmidFinder results – kept for nostalgia, but clearly marked “legacy”.

📥 Export & Print – One Click

Every table has CSV export. The whole report has a print mode that hides the interactive widgets but keeps your data. Also JSON export for your AI overlords.

🎛️ Filter Buttons Galore

AMR tab: carbapenemases, ESBLs, colistin, tigecycline, etc.
Virulence tab: biofilm, T6SS, iron uptake…
Bacmet tab: biocides, heavy metals, efflux pumps.
We went a little button‑happy. You’re welcome.


🛡️ 3. Error Handling – One Module Dies, Pipeline Keeps Walking

A reviewer once said: “One module should not compromise the total analysis.” We cried a little, then we fixed it.

  • Each module runs in a try/except. If it fails, we log and move on.
  • Per‑genome failures inside modules don’t kill the whole batch.
  • Missing databases? No BLAST? We warn you, but we don’t abort.

Your analysis will finish, even if a single genome tries to ruin your day.


🧹 4. Cleanup – We Now Delete Even More Junk

The orchestrator now cleans up the acineto_plasmid_results directory after copying. No digital litter. No “why is this file still here?”.


🎛️ 5. New CLI Flag

--skip-plasmid – for the rare occasions you want to ignore plasmids. We don’t judge. But we do side‑eye.


🐛 6. Bug Fixes That Will Make You Dance

Bug Fix
Virulence genes in AMR tab Fixed – now in Virulence tab.
Genome tags vanish after search Use highlightGenome instead of highlightTableCells. Tags stay.
Sample Overview table missing headers Re‑added <thead>. Sorry.
Oxford MLST low assignment rate Documented as expected (blame draft assemblies).
PlasmidFinder gave nothing Replaced by APT module. Legacy kept for reference.
Combination tables comma‑separated mess Now genome tags. Beautiful.
QC table scroll shows white background Fixed overflow and background colour.

🌙 7. Late‑Night Realisations (A Short Play)

Week 1: “PlasmidFinder is fine.”
Week 2: “Wait, it’s not finding anything.”
Week 3: “Let’s implement the APT scheme.”
Week 4: “BLAST output parsing is making me question my life choices.”
Week 5: “Why do genome tags disappear? Oh, because we’re replacing the whole cell HTML.”
Week 6: “Let’s rewrite the reporter. Again.”
Week 7: “It works. It finally works.”

Coffee count: 200+. Sane commits: 0.


🙏 8. Acknowledgements – The Giants We Stood On (And Sometimes Borrowed Coffee From)

We are deeply indebted to the open‑source community. Without you, this release would be a pile of broken subprocess calls and regret.

Tools & databases – MLST, Kaptive, AMRFinderPlus, ABRicate, Biopython, psutil, BLAST+, CARD, ResFinder, ARG‑ANNOT, MEGARes, VFDB, Ecoli_VF, PlasmidFinder (yes, even you), EcoH, BacMet2. You are the real MVPs.

APT scheme & maintainers – Margaret M.C. Lam, Jonathan Koong, Kathryn E. Holt, Ruth M. Hall, Mehrad Hamidian, Liam A. Tobin. You gave us a proper rep typing scheme. We owe you many beers.

Validation dataset – Din et al. (Microbial Genomics, 2025). Without your 126 A. baumannii isolates, our validation would have been a lot shorter (and more embarrassing).

Python, Conda, GitHub – for keeping us (mostly) sane.

To my co‑authors and the caffeine industry – I owe you my sanity.

If we forgot you, open an issue. We’ll add you. It’s the sleep deprivation.


⭐ 9. Show Some Love

If AcinetoScope made your A. baumannii analysis less painful, star the repo and share it with your fellow outbreak investigators.


Now go forth, type acinetoscope -i "*.fna" -o results/, and may your contigs be long and your plasmids be typed.
🦠🧬💻

P.S. If you find a bug, please report it. But be gentle – my sleep cycle is still recovering.