epidemiological-genomics/amr-surveillance/SKILL.md
Detects acquired antimicrobial-resistance determinants and chromosomal point-mutation resistance in bacterial assemblies using AMRFinderPlus, ResFinder 4.0 (acquired + PointFinder), CARD-RGI, abritAMR, staramr, and species-specific callers (TB-Profiler, Mykrobe). Harmonises cross-tool output via hAMRonization, contextualises determinants with mobile-genetic-element annotation (MOB-suite, PlasmidFinder, MobileElementFinder, ICEberg), predicts phenotype against EUCAST or CLSI breakpoints, and translates calls into WHO GLASS reporting categories. Use when screening clinical or surveillance isolates for AMR, distinguishing acquired vs intrinsic vs point-mutation resistance, calling rpoB / katG / pncA / gyrA / mgrB mutations, reconciling AMRFinderPlus vs RGI vs ResFinder disagreement, contextualising carbapenemases or mcr alleles on plasmids, predicting susceptibility from genotype against the WHO Mtb 2nd-edition catalogue, or building a hAMRonized multi-lab AMR surveillance pipeline.
npx skillsauth add GPTomics/bioSkills bio-epidemiological-genomics-amr-surveillanceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Reference examples tested with: ncbi-amrfinderplus 4.0+, resfinder 4.5+, rgi 6.0+ (CARD 3.3+), abritamr 1.0.14+, staramr 0.10+, hamronization 1.1+, tb-profiler 6.2+, mykrobe 0.13+, mob_suite 3.1+, plasmidfinder 2.1+, MobileElementFinder 1.0+, pandas 2.2+, BioPython 1.84+.
Before using code patterns, verify installed versions match. If versions differ:
pip show <package> then help(module.function) to check signatures<tool> --version then <tool> --help to confirm flagsamrfinder --list_organisms for the current --organism cataloguetb-profiler list_db and verify the bundled WHO editionamrfinder -u (NCBI ReferenceGeneCatalog) and tb-profiler update_tbdbIf a flag or column name does not match (--species vs --organism, barcode_build vs barcode-build), introspect the installed package rather than retrying. AMRFinderPlus, RGI, and ResFinder all renamed columns between major releases.
"What antibiotic-resistance determinants are in this assembly, and what susceptibility do they imply?" -> Combine acquired-gene detection, chromosomal point-mutation calling, mobile-element context, and curated phenotype mapping into a single per-isolate report fit for surveillance or clinical handover. Tool choice is determined by species (Mtb needs TB-Profiler, not AMRFinderPlus), reporting standard (WHO GLASS vs CARD vs in-house), and whether mobility matters (carbapenemase outbreak: yes; routine ESBL screen: less so).
amrfinder -n assembly.fa --organism Klebsiella_pneumoniae --plus -- acquired + intrinsic-aware point mutationstb-profiler profile -1 r1.fq.gz -2 r2.fq.gz -p sample -- TB drug-resistance against WHO 2nd-edition cataloguehamronize amrfinderplus --analysis_software_version 4.0.3 --reference_database_version 2025-02-01.1 in.tsv > out.tsv -- normalise output across toolspandas to join AMRFinderPlus + RGI + ResFinder + MOB-suite per-isolate for a single decision tableA pan-species AMRFinderPlus run misses chromosomal point-mutation resistance because the point-mutation panels are species-specific and activated only when --organism is set. Running amrfinder -n mtb.fa without --organism returns "no AMR detected" on an XDR-TB genome because AMRFinderPlus has no Mtb organism mode -- the user must switch tools (TB-Profiler or Mykrobe + WHO 2nd-edition catalogue). Similarly, Salmonella gyrA T83I, Klebsiella mgrB inactivation, and E. coli QRDR mutations are silent without --organism Salmonella / Klebsiella_pneumoniae / Escherichia. For any cross-tool surveillance pipeline, AMRFinderPlus with --organism MUST be paired with a species-specific second tool (TB-Profiler for Mtb; ResFinder 4.0 with -s 'species' for PointFinder coverage; hAMRonization to merge). Andersson et al. Nat Rev Microbiol 17:479 (2019) further notes that heteroresistance at 0.1-1% allele frequency is widespread and invisible to default variant callers, compounding the failure mode for any single-tool workflow.
| Tool | Mechanism | Inputs | Output | Strength | Fails when |
|------|-----------|--------|--------|----------|------------|
| AMRFinderPlus (Feldgarden 2021 Sci Rep 11:12728) | Curated HMM + BLAST against NCBI ReferenceGeneCatalog; per-gene cutoffs | assembly or protein | gene + class + element-type | Gene-family-aware (catches divergent variants); built-in species point-mutation panels | No Mtb mode; reports intrinsic genes unless --organism set |
| ResFinder 4.0 (Bortolaia 2020 J Antimicrob Chemother 75:3491) | BLAST against ResFinder DB (acquired) + PointFinder DB (chromosomal mutations) per species | assembly or reads | gene + predicted phenotype (S/I/R) | Phenotype prediction tied to CLSI/EUCAST | Requires explicit -s 'species' for PointFinder; default 90/60 cutoffs hide divergent variants |
| CARD-RGI (Alcock 2023 NAR 51:D690) | BLAST + HMM against CARD; tiers Perfect / Strict / Loose | assembly or protein | ARO ontology term, model-type (homolog / variant / overexpression / knockout / rRNA) | Mechanism-resolved (operons modelled); ARO ontology is curated | Loose tier produces many false positives; default Strict+Perfect misses real variants in non-model organisms |
| abritAMR (Sherry 2023 Nat Commun 14:60) | AMRFinderPlus wrapper + drug-class classifier; ISO-certified for clinical use | assembly | gene + drug class | First ISO-certified AMR pipeline; accredited reporting categories | Limited to AMRFinderPlus's underlying gene panel |
| staramr | ResFinder + PointFinder + PlasmidFinder + MLST in one pipeline | assembly | combined report | One-shot Salmonella / E. coli / Campylobacter surveillance | Default organism handling can hide point mutations; verify each component version |
| TB-Profiler (Phelan 2019 Genome Med 11:41) | Maps reads or assembly against H37Rv + WHO catalogue + Coll/Napier lineage barcode | reads or assembly | per-drug R/R-interim/Uncertain/S + lineage | WHO 2nd-edition catalogue integration; lineage call; heteroresistance from allele frequency | Hardcoded to MTBC; older bundled DB may predate current WHO edition |
| Mykrobe (Hunt 2019 Wellcome Open Res 4:191) | k-mer presence/absence against curated panel | reads | species + AMR per drug | k-mer-fast; cross-checks TB-Profiler; supports Mtb, S. aureus, Salmonella, gonorrhoea | Panel may lag WHO catalogue; check --panel |
| hAMRonization (PHA4GE) | Format converter to PHA4GE schema | per-tool TSV | unified TSV/JSON | Cross-tool comparison; surveillance harmonisation | Mandatory metadata fields differ per tool subparser |
| Scenario | Recommended | Why wrong choices fail |
|----------|-------------|------------------------|
| Routine screen of an E. coli / Klebsiella / Salmonella assembly for acquired AMR + point mutations | AMRFinderPlus with --organism Escherichia / Klebsiella_pneumoniae / Salmonella + --plus | Without --organism: no PointFinder panel, fluoroquinolone QRDR mutations missed; intrinsic-gene noise in Klebsiella |
| M. tuberculosis drug-resistance prediction | TB-Profiler interpreted via WHO 2nd-edition catalogue, Mykrobe as cross-check on R/XDR isolates | AMRFinderPlus has no Mtb organism mode; ResFinder PointFinder lacks the full WHO catalogue; tool defaults silently call Group 3 mutations as "susceptible" |
| Predict S/I/R phenotype, not gene presence | ResFinder 4.0 OR abritAMR; document EUCAST or CLSI breakpoint year | AMRFinderPlus reports presence only; mapping presence -> phenotype needs curated rules |
| Carbapenemase outbreak: is the gene mobile? | AMRFinderPlus -> MOB-suite (mob_recon + mob_typer) -> cross-reference; long-read or hybrid assembly recommended | PlasmidFinder alone gives replicon type but not gene-plasmid linkage; short-read draft assemblies fragment plasmid contigs and lose context |
| Cross-laboratory surveillance reporting | Pass per-tool output through hAMRonization to PHA4GE schema; populate analysis_software_version and reference_database_version | Raw cross-tool comparison is meaningless (CARD ARO vs ResFinder name vs NCBI ReferenceGeneCatalog) |
| Novel-variant surveillance (emergence) | AMRFinderPlus (HMM, gene-family-aware) OR CARD-RGI with Loose-tier manual review | abricate's 80/80 defaults reject divergent family members; pure-BLAST defaults silently miss novel mcr / OXA sub-variants |
| Quantitative AMR from metagenomic reads | AMRPlusPlus / DeepARG / ARGs-OAP normalised to 16S; report "ARG abundance" NOT "resistance" | Assembly-based tools fail on short reads; reporting environmental ARG counts as "resistance" inherits the environmental-resistome critique that homolog presence is not phenotypic resistance |
| Colistin resistance in Klebsiella / Enterobacter / Salmonella | mcr-1 to mcr-10 acquired (AMRFinderPlus; mcr-1 originally Liu 2016 Lancet Infect Dis 16:161) + mgrB / pmrAB / phoPQ point mutations (--organism Klebsiella_pneumoniae) + phenotypic confirmation for mcr-9/10 | mcr-9 / mcr-10 frequently report without elevated MIC; treating mcr presence as "colistin-R" triggers infection control unnecessarily |
| WHO GLASS submission | hAMRonization -> drug-class mapping -> EUCAST/CLSI breakpoint interpretation; record breakpoint year | Gene-level reporting without class mapping cannot populate GLASS categories |
Methodology evolves rapidly; before a high-stakes outbreak report, web-search "AMRFinderPlus organism modes 2026" and confirm the WHO Mtb catalogue edition currently bundled in TB-Profiler.
Goal: Produce a per-isolate AMR report including acquired genes, species-specific chromosomal point mutations, stress/virulence elements, and per-hit method and coverage metadata for downstream harmonisation.
Approach: Run amrfinder with -n for nucleotide assembly, --organism to activate the species-specific point-mutation panel, --plus to include stress / virulence / heat / metal, and --report_all when truncated-gene visibility matters. Pin the database via amrfinder -u -> verify --db matches a recorded date.
DB=$(amrfinder -V | grep -i database | awk '{print $NF}')
amrfinder \
-n assembly.fa \
--organism Klebsiella_pneumoniae \
--plus \
--threads 8 \
-o sample.amrfinder.tsv
echo "DB version: ${DB}" >> sample.amrfinder.tsv
Column semantics worth inspecting: Element type (AMR / POINT / VIRULENCE / STRESS / etc.), Method (EXACTX / PARTIAL_CONTIG_END / HMM / etc. -- partial-contig hits flag assembly fragmentation), % Coverage of reference sequence, % Identity to reference sequence, Class / Subclass (drug-class summary). Method = PARTIAL_CONTIG_END is the smoking gun for plasmid-context fragmentation -- consider long-read confirmation.
Goal: Generate a WHO-catalogue-aligned drug-resistance report for M. tuberculosis covering all 13 first-line + second-line + new/repurposed drugs, with lineage assignment via the Coll/Napier MTBC barcode (90-SNP version) and explicit handling of Group 3 (Uncertain) mutations.
Approach: TB-Profiler primary (it bundles the WHO catalogue and reports the Walker 2022 / 2023 association grouping); Mykrobe as an orthogonal cross-check on any R / XDR call that will drive treatment. NEVER collapse Group 3 mutations to "susceptible" -- the WHO catalogue's tiered scoring is load-bearing for clinical handover.
tb-profiler update_tbdb
tb-profiler profile \
-1 reads_R1.fq.gz \
-2 reads_R2.fq.gz \
-p sample \
--txt --csv --pdf \
--dir tbprofiler_out
mykrobe predict \
--sample sample \
--species tb \
--output sample.mykrobe.json \
--format json \
reads_R1.fq.gz reads_R2.fq.gz
Allix-Béguec et al. (CRyPTIC) NEJM 379:1403 (2018) established >99% negative predictive value for first-line drugs and is the basis for WGS-only DST policies; the same study showed sensitivity remains lower for bedaquiline, delamanid, linezolid, and clofazimine, so phenotypic DST is still required for second-line and new/repurposed agents in MDR/XDR-TB workups. The WHO 2023 catalogue (Walker et al. Lancet Microbe 3:e265, 2022 for the 2021 edition methodology; 2023 second edition data) grades each mutation Group 1 / Group 2 (Associated -- interim) / Group 3 (Uncertain) / Group 4 (Not Associated -- interim) / Group 5 (Not Associated). Reporting Group 3 as "S" actively misleads clinicians.
Goal: Convert per-tool AMR output (AMRFinderPlus, ResFinder, RGI, abricate, staramr, ARIBA, TB-Profiler, Mykrobe) to the PHA4GE schema so a multi-laboratory or multi-tool surveillance dataset is comparable.
Approach: Invoke hamronize <tool> per input with mandatory provenance metadata (--analysis_software_version, --reference_database_version, --input_file_name), then hamronize summarize to merge.
hamronize amrfinderplus \
--analysis_software_version 4.0.3 \
--reference_database_version 2025-02-01.1 \
--input_file_name sample.amrfinder.tsv \
sample.amrfinder.tsv > sample.hamr.tsv
hamronize resfinder \
--analysis_software_version 4.5.0 \
--reference_database_version 2024-12-15 \
--input_file_name sample.resfinder.json \
sample.resfinder.json > sample.resfinder.hamr.tsv
hamronize summarize -t tsv -o cohort.hamr.tsv per_sample_hamr/*.tsv
Default reporting ontology for public-health output is NCBI ReferenceGeneCatalog. Two consequences: (1) CARD ARO terms need translation; (2) any custom gene additions need a corresponding NCBI accession before they appear in the harmonised stream.
Goal: Determine whether a clinically actionable AMR gene (carbapenemase, mcr, ESBL) sits on a chromosome, a plasmid (and which incompatibility group / cluster), an integrative-conjugative element, or a transposon -- because "gene present" tells the infection-control team nothing about transmissibility.
Approach: Reconstruct plasmids from the assembly with MOB-suite mob_recon; type each plasmid with mob_typer; cross-reference AMR-gene coordinates against the plasmid contig list; annotate IS elements / integrons with MobileElementFinder. For surveillance-grade plasmid resolution, prefer long-read (R10.4.1 Q20+) or hybrid assemblies -- short-read draft assemblies routinely fragment plasmid contigs.
mob_recon \
--infile assembly.fa \
--outdir mob_out/ \
--num_threads 4
mob_typer \
--infile mob_out/plasmid_AA001.fasta \
--out_file mob_out/plasmid_AA001.typed.tsv
mefinder find \
--contig assembly.fa \
--out mef_out/sample \
--threads 4
Document MOB-suite version explicitly: v2 and v3 cluster codes are non-interoperable, and v3.1+ adds MGE reporting. Across longitudinal surveillance crossing the v2 -> v3 boundary, the same plasmid receives different cluster IDs and appears spuriously "novel".
Trigger: amrfinder -n mtb.fa without --organism; AMRFinderPlus has no Mtb organism mode in any v4.x release.
Mechanism: The species-specific point-mutation panels are activated only when a recognised --organism is passed. Mtb resistance is overwhelmingly chromosomal point mutation (rpoB / katG / inhA / pncA / embB / gyrA / rrs). With no panel active, none of these are called.
Symptom: Empty AMR table on a phenotypically MDR/XDR isolate; lineage barcode not reported (AMRFinderPlus does not call MTBC lineage).
Fix: Switch tools. Use TB-Profiler (preferred -- bundles WHO catalogue + Coll/Napier barcode) or Mykrobe; the AMRFinderPlus catalogue does not cover MTBC.
Trigger: Default per-isolate summarisers report the gene family (bla_OXA-48-like) rather than the allele (bla_OXA-244).
Mechanism: OXA-48 (potent carbapenemase), OXA-181 (Thr213Ala -- similar activity, different plasmid), OXA-232 (Arg214Ser -- reduced carbapenemase activity), and OXA-244 (Arg214Gly -- weakest, often phenotypically susceptible to ertapenem) share >95% identity. Pipelines that report family-level summary erase the clinically actionable variant identity.
Symptom: Surveillance report says "OXA-48-like detected", phenotype is borderline ertapenem-susceptible / meropenem-susceptible, clinical team is confused about whether ceftazidime-avibactam is needed.
Fix: Report the allele explicitly; never collapse to family. AMRFinderPlus reports the allele in Gene symbol -- preserve it through hAMRonization rather than summarising.
Trigger: Phenotypic high-level AmpC hyperproduction in Enterobacter cloacae complex / Citrobacter freundii; or KPC over-expression on Tn4401b (100-bp promoter deletion).
Mechanism: Resistance is mediated by ISEcp1 / IS26 / IS10 insertion upstream of the ampC promoter producing a strong hybrid promoter, or by Tn4401 variant. Gene presence is unchanged. Short-read assemblies fragment IS elements and collapse repeats; promoter context is lost. AMRFinderPlus / RGI / ResFinder report the gene; the regulatory configuration is not annotated.
Symptom: AMR pipeline output identical for wild-type ampC carrier and the hyperproducer; clinical phenotype is divergent.
Fix: Long-read (Nanopore R10.4.1 Q20+ or PacBio HiFi) or hybrid assembly with explicit promoter-context inspection. For Tn4401 variant typing, manual blast of the transposon region. Tools that automate this are emerging but not yet a default in surveillance pipelines.
Trigger: Routine Illumina WGS-AMR pipeline on a clinical isolate; resistance variant appears at 1-5% allele frequency.
Mechanism: Heteroresistance -- clonal subpopulations carrying resistance at 0.1-1% (Andersson, Nicoloff, Hjort Nat Rev Microbiol 17:479, 2019) -- is widespread and clinically meaningful (treatment failure under antibiotic pressure). Default variant callers (bcftools, lofreq default -q 20, GATK HaplotypeCaller) require minor-allele frequency of typically 10-20% to call. Assembly-based pipelines (AMRFinderPlus on assembly) collapse minor variants entirely.
Symptom: Surveillance pipeline calls "S" but clinical failure under therapy; subsequent sampling reveals high-level resistance.
Fix: For clinically critical drugs, supplement assembly-based AMR with deep-read variant calling at lower MAF thresholds (lofreq with -q 13 -a 0.01), or use targeted deep-amplicon sequencing. TB-Profiler reports allele frequency for resistance calls -- inspect for heteroresistance routinely.
Trigger: TB-Profiler / Mykrobe run on an Mtb isolate carrying a mutation graded Group 3 (Uncertain) in the WHO catalogue.
Mechanism: Tools translate Group 3 calls to "no resistance prediction" in their summary; downstream summarisers and clinical handover forms collapse "no prediction" to "S". The Walker 2022 Lancet Microbe catalogue methodology explicitly separates Group 3 (Uncertain) from Group 4/5 (Not Associated) for exactly this reason.
Symptom: Patient treated as drug-susceptible; clinical failure; retrospective inspection finds Group 3 mutation that should have triggered phenotypic DST.
Fix: Read TB-Profiler JSON output, NOT the simplified TSV. Report Group 3 mutations explicitly with "uncertain significance -- phenotypic DST recommended". This is widely under-communicated in surveillance pipelines.
Trigger: Chromosomal fosA in Klebsiella pneumoniae / Enterobacter / Serratia reported as "fosfomycin resistant" by ResFinder / AMRFinderPlus.
Mechanism: Chromosomal fosA confers low-level fosfomycin resistance below the EUCAST clinical breakpoint (32 mg/L for urinary isolates). Treating chromosomal-fosA E. coli as fosfomycin-resistant withholds an oral option for uncomplicated UTI unnecessarily.
Symptom: All K. pneumoniae isolates flagged "fosfomycin-R" regardless of plasmid context or phenotype.
Fix: AMRFinderPlus with --organism Klebsiella_pneumoniae suppresses the intrinsic fosA report; verify the suppression worked. Cross-reference fosA hits with MOB-suite to determine plasmid context; only plasmid-borne or upregulated fosA should be reported as resistance.
| Pattern | Likely cause | Action |
|---------|--------------|--------|
| AMRFinderPlus calls bla_NDM-5; ResFinder calls bla_NDM-1 | Allele assignment differs by reference database (NCBI ReferenceGeneCatalog vs ResFinder DB); both are within the NDM family | Report the family + flag the allele discordance; for clinical handover prefer NCBI nomenclature, for legacy comparability prefer ResFinder |
| RGI calls mecA "Strict"; AMRFinderPlus calls "EXACTX" | Tier semantics differ; both real hits | Concordant resistance call -- harmonise via hAMRonization, use NCBI ReferenceGeneCatalog nomenclature |
| ResFinder reports a gene at 88% identity; AMRFinderPlus omits | ResFinder default 90/60; AMRFinderPlus HMM cutoff stricter for that family | Manual review; for novel-variant surveillance, AMRFinderPlus + Loose-tier RGI catches more |
| TB-Profiler and Mykrobe disagree on isoniazid | Different curated panels; one may predate WHO 2nd edition | Defer to TB-Profiler interpreted against WHO catalogue; manual blast of katG / inhA / fabG1 |
| mcr-9 detected; phenotypic colistin MIC susceptible | Expected -- mcr-9 frequently silent without IqrR / induction | Report mcr-9 detection + susceptibility; do NOT trigger infection-control as if MCR-1 |
| AMRFinderPlus Method=PARTIAL_CONTIG_END for a carbapenemase | Assembly fragmentation at the plasmid edge | Re-assemble with long reads or hybrid before reporting; the gene may be present in full |
| RGI calls a long list of "Loose" hits | Non-model organism or distant lineage | Manual curation of Loose hits -- discard generic homologs, retain those near canonical AMR-active residues |
| Quantity | Threshold | Source / rationale |
|----------|-----------|--------------------|
| AMRFinderPlus default %identity | per-gene curated (typically 90% global) | Feldgarden 2021 Sci Rep 11:12728; HMM cutoff is gene-family-aware |
| AMRFinderPlus default %coverage | 50% (alignment coverage) | NCBI Reference; --report_all exposes partial hits |
| ResFinder default %id / %coverage | 90% / 60% | CGE convention; tighter than abricate |
| abricate default %id / %coverage | 80% / 80% | Too permissive for novel-variant surveillance |
| WHO Mtb Group 1 (Associated with R) | High-confidence resistance call | Walker 2022 Lancet Microbe 3:e265 |
| WHO Mtb Group 3 (Uncertain) | NOT "susceptible" -- phenotypic DST recommended | Walker 2022 Lancet Microbe 3:e265; 2023 2nd edition data |
| Heteroresistance MAF | 0.1-1% (deep amplicon detection) | Andersson 2019 Nat Rev Microbiol 17:479 |
| EUCAST fosfomycin urinary breakpoint | 32 mg/L | EUCAST clinical breakpoint tables (year-specific) |
| Variant MAF for routine WGS-AMR calling | 10% (lofreq default), 20% (GATK default) | Tool defaults; document per-pipeline |
| Error / symptom | Cause | Solution |
|-----------------|-------|----------|
| AMRFinderPlus empty on TB assembly | No Mtb --organism mode | Switch to TB-Profiler / Mykrobe |
| AMRFinderPlus calls intrinsic fosA on Klebsiella | --organism not set; intrinsic suppression off | Always pass --organism for the species |
| --species flag rejected | AMRFinderPlus uses --organism, not --species | Use --organism Klebsiella_pneumoniae |
| Different gene names for same determinant across tools | CARD ARO vs ResFinder vs NCBI ReferenceGeneCatalog | Pass through hamronize |
| Method=PARTIAL_CONTIG_END on a clinically critical gene | Assembly fragmentation | Re-assemble with long reads / hybrid |
| hamronize rejects input as missing metadata | --analysis_software_version not supplied | Populate all mandatory PHA4GE fields per tool subparser |
| MOB-suite cluster codes don't match published outbreak paper | v2 vs v3 incompatibility | Re-run with matched MOB-suite version; document |
| Point-mutation panel coverage list flips between AMRFinderPlus minor releases | DB schema change | amrfinder --list_organisms and record the version |
| TB-Profiler bundled DB predates WHO 2nd edition | DB not updated | tb-profiler update_tbdb and verify catalogue edition |
| Pushback | Response |
|----------|----------|
| "Why AMRFinderPlus, not RGI?" | AMRFinderPlus uses gene-family HMMs and NCBI-curated cutoffs that catch divergent novel variants without producing the Loose-tier noise of RGI; both are valid and hamronize lets the reviewer compare |
| "How were Group 3 WHO Mtb mutations handled?" | Reported as "Uncertain significance -- phenotypic DST recommended"; not collapsed to S |
| "What about heteroresistance?" | Read-based deep variant calling supplements assembly-based AMR for clinically critical drugs; report MAF |
| "Why not just trust ResFinder phenotype prediction?" | EUCAST/CLSI breakpoint year must be documented; rule-based phenotype prediction inherits its curation as a hidden dependency. Pair with explicit gene + class reporting |
| "Why long-read assembly for AMR?" | Short-read drafts fragment plasmid contigs and lose MGE / promoter context (e.g., ISEcp1 upstream of ampC; Tn4401 variants); long-read or hybrid is mandatory for any mobility / regulatory claim |
| "Why hAMRonization rather than tool-native outputs?" | Cross-tool comparison requires schema unification; PHA4GE is the public-health consensus |
| "Was the intrinsic vs acquired distinction considered?" | Yes -- --organism activates suppression of clinically inert intrinsic genes; reported separately |
tools
--- name: bio-phasing-imputation-foundations description: Frames the phasing/imputation pipeline before any tool runs: phasing and imputation are one Li-Stephens copying HMM (recombination is the transition, mutation the emission, the genetic map and Ne set the rates), imputation's honest output is a dosage with a self-estimated quality (INFO/R2/DR2) not a hard genotype, and the stages are ordered and each fails silently (QC, align build and strand to the panel, phase, impute per chromosome, fil
tools
Chooses the enrichment generation before any tool runs, mapping the input shape to a method class - a pre-selected gene list plus a background to over-representation analysis (ORA, hypergeometric), a ranked statistic for all genes to gene set enrichment (GSEA), a signed signaling topology to pathway-topology (SPIA) - then making the null explicit (competitive vs self-contained, gene vs subject sampling) and running a trustworthiness checklist (testable-gene universe, FDR, redundancy collapse, leading-edge check, version reporting). Covers why every clusterProfiler GSEA is the inter-gene-correlation-uncorrected competitive null, why the background not the gene list decides ORA significance, and why no method is universally best. Use when deciding ORA vs GSEA vs topology, which gene-set DB, whether a result is trustworthy, or which null a tool computes. For ORA see go-enrichment, GSEA see gsea, databases kegg-pathways/reactome-pathways/wikipathways; the ranking comes from differential-expression/de-results.
testing
End-to-end GWAS workflow from VCF to association results. Covers PLINK QC, population structure correction, and association testing for case-control or quantitative traits. Use when running genome-wide association studies.
development
Orchestrates the full path from differential expression results to redundancy-collapsed functional enrichment: choose ORA vs GSEA, convert gene IDs per method, run enrichGO/enrichKEGG/enrichPathway/enrichWP or gseGO/gseKEGG (clusterProfiler, ReactomePA, rWikiPathways), and visualize. Routes the ORA-vs-GSEA generation fork and the null/universe/reproducibility theory to pathway-analysis/enrichment-foundations. Use when a DESeq2/edgeR/limma result must become enriched GO terms, KEGG/Reactome/WikiPathways pathways, or a GSEA leading edge; when deciding whether a ranking exists for all genes (GSEA, named decreasing vector) or only a pre-selected list (ORA plus a defensible background universe); or when assembling DE-to-pathway end to end. The DE list and ranking statistic come from differential-expression/de-results; per-method nuance lives in the pathway-analysis skills.