Making genome-derived AMR surveillance data accessible worldwide
π Quick Links: π Live Dashboard β’ π Documentation β’ π Quick Start β’ π¬ Community
Making genome-derived AMR surveillance data accessible worldwide
π Quick Links: π Live Dashboard β’ π Documentation β’ π Quick Start β’ π¬ Community
AMRnet is a comprehensive web-based platform that transforms complex antimicrobial resistance (AMR) genomic surveillance data into accessible, interactive visualisations. Our mission is to democratize access to high-quality AMR data for researchers, public health professionals, and policymakers worldwide.
- πΊοΈ Interactive Global Maps - Visualize resistance patterns across countries and regions
- π Trend Analysis - Track resistance changes over time with dynamic graphs
- π Advanced Filtering - Explore data by organism, drug, genotype, and geography
- π Multi-Language Support - Available in English, French, Portuguese, and Spanish
- π± Responsive Design - Optimised for desktop, tablet, and mobile devices
- π Data Export - Download filtered datasets for further analysis
- π API Access - Programmatic access to all data with comprehensive documentation
| Organism | Scientific Name | Key Features |
|---|---|---|
| S. Typhi | Salmonella Typhi | Typhoid fever surveillance |
| K. pneumoniae | Klebsiella pneumoniae | Healthcare-associated infections |
| N. gonorrhoeae | Neisseria gonorrhoeae | Gonorrhea resistance monitoring |
| E. coli | Escherichia coli | ESBL and carbapenemase tracking |
| Shigella | Shigella spp. | Dysentery and MDR monitoring |
| Salmonella | Salmonella enterica | Non-typhoidal Salmonella surveillance |
- π Visit the Dashboard: Go to amrnet.org
- π¦ Select an Organism: Choose from our supported organisms
- π Apply Filters: Customize your view by geography, time, and resistance
- π Explore Visualizations: Interact with maps and graphs
- π₯ Export Data: Download results for your analysis
# Clone the repository
git clone https://github.com/amrnet/amrnet.git
cd amrnet
# Install dependencies
npm install
cd client && npm install && cd ..
# Set up environment
cp .env.example .env
# Edit .env with your MongoDB connection string
# Start development servers
npm run start:devVisit http://localhost:3000 to see the application running locally.
π Need more details? Check our Installation Guide and Developer Guide.
AMRnet employs a modern, scalable MERN stack architecture designed to handle large-scale genomic surveillance data with enterprise-grade performance.
We provide comprehensive visual documentation of our platform architecture:
|
π Macro Architecture View High-level overview of the four main architectural layers |
π¬ Detailed Component View Comprehensive data pipeline and component breakdown |
π± Frontend Layer (React 18)
βββ π¨ Interactive UI Components with Material-UI
βββ π D3.js Data Visualizations & Dynamic Charts
βββ πΊοΈ Geographic Maps with React Simple Maps
βββ π Multi-language Support (EN, ES, FR, PT)
βββ π± Progressive Web App with Offline Capabilities
βοΈ Backend Layer (Node.js/Express)
βββ π‘οΈ RESTful API with Rate Limiting & Authentication
βββ β‘ Optimized Endpoints with 70-87% Performance Gains
βββ ποΈ Advanced Compression (90% Payload Reduction)
βββ π Security Framework (Helmet, CORS, OAuth2)
βββ π Real-time Data Processing Pipelines
ποΈ Database Layer (MongoDB Atlas)
βββ π 8 Organism Collections (500K+ Records)
βββ οΏ½ Performance Indexes for Geographic & Temporal Queries
βββ π Aggregation Pipelines for Server-side Processing
βββ οΏ½ Advanced Filtering by Country, Drug, Genotype
βββ βοΈ Cloud-hosted with Automated Backups
π Infrastructure Layer
βββ π Heroku Deployment with Auto-scaling
βββ π Fixie Proxy for Secure Database Connections
βββ π AWS S3 for Data Export & Backup Storage
βββ οΏ½ CI/CD Pipeline with GitHub Actions
AMRnet leverages cutting-edge technologies for optimal performance:
Frontend Technologies
βββ βοΈ React 18 with Hooks & Functional Components
βββ π¨ Material-UI v5 for Modern Design System
βββ π D3.js for Interactive Data Visualizations
βββ πΊοΈ React Simple Maps for Geographic Visualizations
βββ π react-i18next for Internationalization
βββ π± Progressive Web App Features
βββ β‘ Performance: Code Splitting, Lazy Loading, Service Workers
Backend Technologies
βββ π’ Node.js v18.20.4 with Express.js Framework
βββ ποΈ MongoDB with Mongoose ODM
βββ π Authentication: JWT, OAuth2, API Keys
βββ π‘οΈ Security: Helmet, CORS, Rate Limiting
βββ οΏ½ Data Processing: Aggregation Pipelines, Field Projection
βββ ποΈ Compression: gzip, brotli for Payload Optimization
βββ π Logging: Winston with Sentry Error Tracking
Database & Infrastructure
βββ βοΈ MongoDB Atlas Cloud Database
βββ π AWS S3 for File Storage & Data Exports
βββ π Heroku Platform for Application Hosting
βββ οΏ½ Fixie SOCKS5 Proxy for Secure Connections
βββ π GitHub Actions for CI/CD Automation
βββ π Performance Monitoring & Health Checks
Our architecture delivers enterprise-grade performance with measurable improvements:
| Metric | Before Optimization | After Optimization | Improvement |
|---|---|---|---|
| Load Times | 3.2s average | 0.4-1.0s average | 70-87% faster |
| Payload Size | 2.1MB average | 0.2-1.0MB average | 60-90% reduction |
| API Capacity | 2,000 req/hour | 10,000+ req/hour | 500% increase |
| Database Queries | 800ms average | 120ms average | 85% faster |
AMRnet integrates surveillance data from major public genomic databases:
π¦ Supported Organisms (8 Species)
- Salmonella Typhi - Global typhoid surveillance from Pathogenwatch
- Klebsiella pneumoniae - Healthcare-associated infections from Pathogenwatch
- Neisseria gonorrhoeae - STI surveillance from Pathogenwatch
- Escherichia coli - Enteric infections from Enterobase
- Diarrheagenic E. coli - Diarrheal disease surveillance from Enterobase
- Shigella species - Shigellosis surveillance from Enterobase
- Salmonella enterica - Non-typhoidal Salmonella from Enterobase
- Invasive Salmonella - Bloodstream infections from Enterobase
π Global Coverage
- 500,000+ genomic records with AMR predictions
- 75+ countries represented across all continents
- 4 languages supported (English, Spanish, French, Portuguese)
- Real-time updates from source databases
π¬ Data Sources
- Pathogenwatch - 3 organisms with AMR predictions
- Enterobase - 5 organisms with hierarchical clustering
- Academic consortiums - Global Typhoid Genomics Consortium
For comprehensive technical documentation, visit:
- π Interactive Architecture Diagrams - Visual platform overview
- π§ Developer Guide - Implementation details and contribution guide
- π API Documentation - Complete RESTful API reference
| Resource | Description | Link |
|---|---|---|
| User Guide | Complete dashboard usage instructions | π Read the Docs |
| API Documentation | RESTful API reference and examples | π API Docs |
| Developer Guide | Adding new organisms and contributing | π οΈ Dev Guide |
| Data Dictionary | Data structure and field definitions | π Data Docs |
- Node.js 18+ with npm
- MongoDB 6.0+ (local or Atlas cloud)
- Git for version control
-
Clone and Install:
git clone https://github.com/amrnet/amrnet.git cd amrnet npm install -
Client Dependencies:
cd client npm install cd ..
-
Environment Configuration:
cp .env.example .env
Edit
.envwith your configuration:MONGODB_URI=mongodb://localhost:27017/amrnet NODE_ENV=development PORT=3000
-
Start Development Servers:
npm run start:dev
The application will be available at http://localhost:3000 with hot reloading enabled.
For production deployment instructions, see our Deployment Guide.
AMRnet provides a comprehensive RESTful API for programmatic access to all data.
# Get all S. Typhi data
curl "https://api.amrnet.org/styphi"
# Filter by country and year
curl "https://api.amrnet.org/styphi?country=BGD&year_start=2020"
# Get summary statistics
curl "https://api.amrnet.org/styphi/summary"import requests
import pandas as pd
# Fetch AMR data
response = requests.get('https://api.amrnet.org/styphi',
params={'country': 'USA', 'limit': 1000})
data = response.json()
# Convert to DataFrame
df = pd.DataFrame(data['data'])
print(f"Retrieved {len(df)} samples")π Full API Documentation: amrnet.readthedocs.io/api
We welcome contributions from the global AMR surveillance community!
- π Report Bugs: Create an issue
- π‘ Suggest Features: Request features
- π§ Submit Code: Fork and create pull requests
- π Improve Documentation: Help us make docs better
- π¦ Add Organisms: Follow our Developer Guide
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- ESLint: Follow our JavaScript style guide
- Prettier: Code formatting consistency
- JSDoc: Document all functions and components
- Testing: Include unit tests for new features
π Full Contributing Guide: CONTRIBUTING.md
If you use AMRnet data or visualizations in your work, please cite:
@software{amrnet2023,
title = {AMRnet: Global Antimicrobial Resistance Surveillance Dashboard},
author = {Cerdeira, L, Sharma, V, Holt, Kathryn E. and {AMRnet Team}},
year = {2024},
url = {https://www.amrnet.org},
doi = {10.5281/zenodo.10810218}
}AMRnet is released under the GNU General Public License v3.0 (GPL-3.0).
- β Use - Commercial and non-commercial use allowed
- β Modify - Create derivative works and modifications
- β Distribute - Share original and modified versions
β οΈ Share Alike - Derivatives must use GPL-3.0 licenseβ οΈ Disclose Source - Source code must be made available
See LICENSE for full details.
AMRnet is proudly funded by:
- ποΈ Wellcome Trust - Core platform development and maintenance
- π London School of Hygiene & Tropical Medicine - Institutional support
- π€ Global Partnership - International collaboration network
We gratefully acknowledge:
- Global Typhoid Genomics Consortium - Data curation and expertise
- Pathogenwatch Team - Bioinformatics pipeline support
- EnteroBase Contributors - Database infrastructure
- Open Source Community - Technology stack and tools
- International Collaborators - Data sharing and validation
| Type | Resource | Response Time |
|---|---|---|
| π Bugs | GitHub Issues | 1-3 days |
| π‘ Features | GitHub Discussions | 3-7 days |
| π§ General | [email protected] | 5-10 days |
| π Documentation | Read the Docs | Self-service |
We're committed to fostering an inclusive, welcoming community:
- π€ Be Respectful - Treat all community members with courtesy
- π― Stay On Topic - Keep discussions relevant to AMR surveillance
- π Help Others - Share knowledge and assist newcomers
- π Search First - Check existing issues before creating new ones
- π Be Clear - Provide detailed bug reports and feature requests
AMRnet - Powered by AMRnet team.
π Dashboard β’ π Docs β’ π» GitHub β’ π§ Contact
Making AMR surveillance data accessible to everyone, everywhere
