Antimicrobial resistance, estimated to cause 1.27 million direct deaths in 2019, requires surveillance that normally demands bioinformatics skills to turn raw reads into answers. It ingests public SRA data via a Step Functions workflow and Fargate task, then runs a HealthOmics Nextflow pipeline that trims reads, assembles them, and detects resistance genes with AMRFinderPlus using a baked-in database. Results are normalized into the hAMRonization schema and merged idempotently into Iceberg tables on S3 Tables, so reprocessing an isolate updates rows rather than duplicating them. A Strands agent on Amazon Bedrock AgentCore answers plain-language questions by generating Athena queries, with Guardrails keeping responses grounded. The solution is defined entirely in AWS CDK, deploys with a single command, and avoids manual bioinformatics steps, remaining inexpensive when idle.
Context
The architecture addresses the challenge of antimicrobial resistance surveillance by enabling researchers to query public sequencing data without bioinformatics skills. It builds on a previous AWS pattern for genomics variant interpretation but starts from raw reads rather than VCF files, adding public-data ingestion, assembly-based detection, and idempotent storage. The solution is a demonstration architecture, not a clinical system, and is defined entirely in AWS CDK.
Approach / What changed
A Step Functions workflow ingests public SRA data via a Fargate task, AWS HealthOmics runs a Nextflow pipeline (fastp, SKESA, AMRFinderPlus) for assembly and gene detection, results are normalized into the hAMRonization schema by a Lambda function and merged idempotently into Iceberg tables on S3 Tables by an AWS Glue job, and a Strands agent on Amazon Bedrock AgentCore translates plain-language questions into Athena queries with grounded citations.
Takeaways
1
The architecture uses a DynamoDB table to record processed isolates, preventing redundant ingestion and processing of the same accession.
2
The AMRFinderPlus reference database is baked into the container image because HealthOmics tasks run without internet access.
3
The agent uses four tools (query_amr_profiles, get_resistance_trends, compare_isolates, lookup_gene_info) to answer questions, and Amazon Bedrock Guardrails enforce grounding and deny medical advice.
FAQ
How does the architecture avoid reprocessing the same isolate?
A DynamoDB table records every processed isolate. When a scheduled or on-demand submission arrives, the workflow checks this table and skips any accession that has already been processed, preventing redundant ingestion and computation.
Why is the AMRFinderPlus database baked into the container image?
HealthOmics tasks have no internet access, so the AMRFinderPlus reference database cannot be downloaded at runtime. It is baked directly into the container image during build time, ensuring the tool has the necessary data available locally.
What grounding mechanisms does the agent use?
The system prompt requires the agent to cite the gene ID, detecting tool, and confidence value for every claim. Amazon Bedrock Guardrails add a contextual grounding check and denied topics that keep responses tied to returned rows and off medical or patient advice.
Antimicrobial resistance surveillance is a layered data architecture: raw reads and demand signals flow in, get normalized into governed tables, and answer plain-language queries. The diagram maps each boundary.
Amazon Bedrock is the managed reasoning tier in an agent architecture, not the whole system. This layered view shows the pipelines, governed tables, query layer, and guardrails around it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.