Skip to main content
Glama

AMR-기후 아틀라스 — 기후의 항균제 내성에 대한 인과적 귀속

기후-보건 포트폴리오 3개 프로젝트 중 두 번째 프로젝트입니다(참조: ../harvard-dataverse-climate-health-projects.md). 범위: ../amr-climate-causal-attribution-scoping.md · 구축 계획: ../amr-climate-causal-attribution-phases.md · 전체 보고서: docs/paper.md.

상태: 4개 단계 모두 완료. EU/EEA 패널(29개국, 2000~2023년, 4개 병원균-항생제 조합), 적절히 테스트된 인과 모델, 유전체 교차 검증, 실행 가능한 Streamlit 앱, 실시간 데이터 소스를 노출하는 MCP 서버, 그리고 자동화된 평가 게이트 검증 파이프라인을 갖추고 있습니다.

앱 스크린샷: K. pneumoniae/카바페넴 조합, 그리스 2023년이 내성 분포 상단에 강조 표시되어 있고, 차트 위에 인과 검정 주의사항이 표시됨

주요 발견

양방향(국가 + 연도) 고정효과 패널 회귀분석으로, 모든 결과가 유의하다고 간주되기 전에 필수 200회 이상의 순열 위약 검정을 거칩니다:

조합

n

계수

모수적 p

순열 p

E. coli / 플루오로퀴놀론

642

+0.11

0.77

0.62

E. coli / 3세대 세팔로스포린

642

+0.21

0.54

0.31

K. pneumoniae / 카바페넴 (2010-2022, 소비량 보정)

355

−1.73

0.008

0.000

S. aureus / MRSA

667

−0.13

0.89

0.69

4개 조합 중 3개는 어떤 기상 효과도 보이지 않습니다. 유일한 예외 — ESAC-Net 소비량 보정 20102022년 하위 표본에서의 K. pneumoniae 카바페넴 내성 — 은 실제이며(국가별 제외 검증에서도 안정적, COVID에 의한 것이 아님), 독립적인 유전체 염기서열 데이터(NCBI Pathogen Detection/MicroBIGG-E, 동일한 음의 부호, 표현형 비율과 r=+0.38 상관관계)로 방향성이 확인되지만, 전체 20002023년 패널에서는 나타나지 않으며, 항생제 소비 자체도 이를 통제하기로 되어 있는 모델에서 유의하지 않습니다. 해석하자면: 확인된 인과적 기후→AMR 연관성이 아니라, 실제이지만 좁은 표본 기간 특유의 패턴입니다.

이 결과는 실제 QA 프로세스를 거쳐 도출되었습니다. 독립적인 테스트 패스에서 소비량 보정 모델에 대한 순열 검정 누락이 발견되었고, 이후 강건성 검증에서 항생제 소비가 처음 보고된 대로 실제로 모델에 포함되지 않았음을 의미하는 교란변수 열 선택 버그가 발견되었습니다. 두 가지 모두 docs/paper.md에서 은폐하지 않고 투명하게 공개되었습니다.

Related MCP server: DMAP-AI MCP Server

이 저장소의 구성

app.py                         Streamlit atlas — combo explorer, causal-test caveat, rankings
mcp_server/                    live-data MCP server (NASA POWER + BigQuery, not the frozen CSV)
data/
  eu_eea_pilot_panel.csv       joined country-year-combo panel (join_panel.py's output)
  validation_baseline.json     accepted "known good" snapshot for the eval-gate pipeline
  raw/                         gitignored raw pulls (ECDC, NASA POWER, ESAC-Net, EPI)
validation_runs/               timestamped JSON logs from validate_pipeline.py runs
docs/
  phase1_access_check.md       access-verification memo
  phase3_scoping.md            causal-design scoping, grounded in the real pilot data
  phase4_scoping.md            scale-up fork (WHO GLASS vs. BigQuery vs. deepen EU/EEA) + genomic cross-check
  paper.md                     full write-up: methods, bugs found and fixed, results
src/amr_climate_atlas/
  config.py                    country lists, centroids, DOIs, ECDC/NASA POWER/BigQuery constants
  fetch_ears_net.py            EARS-Net resistance rates via ECDC Atlas (fully scriptable, see below)
  fetch_esac_net.py            antibiotic-consumption confounder (static XLSX annexes, 2010-2022)
  fetch_weather_anomaly.py     daily weather per EU/EEA country centroid (NASA POWER)
  fetch_confounders.py         EPI 2024 tabular confounder from Harvard Dataverse
  join_panel.py                joins resistance + weather + EPI into the country-year panel
  stage3_identification.py     two-way FE model + mandatory permutation test + lag check, per combo
  compare_genomic_phenotypic.py genomic (BigQuery) vs. phenotypic (EARS-Net) cross-check
  validate_pipeline.py         automated eval-gate: rerun + placebo-sanity-check + baseline drift check
.github/workflows/validate.yml ready-to-run CI (fires once this repo is pushed to GitHub)

먼저 언급할 가치가 있는 두 가지 발견

  1. ECDC 감시 아틀라스 내보내기는 수동 UI 전용이 아니라 완전히 스크립트화 가능합니다. 내보내기는 일반 매개변수화된 GET을 실행하며, 해당 downloadTokenId 매개변수는 실제로 서버 측에서 검증되지 않습니다 — 세션 쿠키가 부트스트랩되면 어떤 값이든 작동합니다. fetch_ears_net.py는 두 번의 HTTP 요청으로 특정 병원균-항생제 조합에 대한 전체 국가×연도 그리드를 가져옵니다.

  2. Dataverse API는 기본 python-requests 사용자 에이전트에 403을 반환합니다 — 어디에도 문서화되어 있지 않으며, 브라우저와 유사한 UA가 필요합니다(config.DATAVERSE_REQUEST_HEADERS 참조).

빠른 시작

python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

PYTHONPATH=src python -m amr_climate_atlas.fetch_ears_net        # ECDC EARS-Net resistance rates
PYTHONPATH=src python -m amr_climate_atlas.fetch_esac_net        # antibiotic consumption confounder
PYTHONPATH=src python -m amr_climate_atlas.fetch_weather_anomaly # NASA POWER, EU/EEA centroids
PYTHONPATH=src python -m amr_climate_atlas.fetch_confounders     # EPI 2024 from Dataverse
PYTHONPATH=src python -m amr_climate_atlas.join_panel            # join panel
PYTHONPATH=src python -m amr_climate_atlas.stage3_identification # causal model + permutation test

streamlit run app.py                                            # the live atlas

MCP 서버 — 고정된 CSV가 아닌 실시간 데이터

mcp_server/는 이 프로젝트의 두 데이터 소스를 Model Context Protocol을 통해 노출하므로, MCP 호환 클라이언트(Claude Desktop, 사용자 지정 에이전트)라면 eu_eea_pilot_panel.csv만 읽는 대신 실시간 기상 또는 실시간 유전체 AMR 데이터를 필요에 따라 쿼리할 수 있습니다. Anthropic 공식 mcp Python SDK(이 범위의 초기 초안에서 사용된 제작된 "MCP 2.0"/"Agent Plugins" 용어가 아닌 — 전체 용어 수정 및 실제 API 드리프트 발견 사항은 mcp_server/README.md 참조: 대부분의 튜토리얼에서 사용하는 FastMCP 클래스가 현재 SDK에서 제거됨)를 기반으로 구축되었습니다. 인프로세스 호출만이 아닌 실제 외부 프로세스 클라이언트(mcp_server/test_external_client.py)로 테스트되었습니다 — 파리 실제 기상 데이터, 프랑스 E. coli 분리주에 대한 실제 카바페넴 유전자 유병률(16.83%). 설정 및 문서화된 명명 특이사항은 mcp_server/README.md를 참조하세요(NCBI는 E. coli를 자체 스키마에서 "Escherichia coli"가 아닌 "E.coli and Shigella"로 그룹화).

자동화된 평가 게이트 검증

validate_pipeline.pystage3_identification.py의 적합성 + 순열 검정을 재실행 가능한 게이트로 자동화합니다: 순열 검정의 귀무가설 분포가 퇴화된 것처럼 보이면(셔플 로직이 조용히 손상되는 것에 대한 실제 검사) 또는 결과가 저장된 기준선에서 크게 벗어나면 실패합니다. 이는 위의 교란변수 버그를 사람이 자세히 살펴보지 않아도 자동으로 잡아내도록 설계되었습니다. GitHub Actions 워크플로우(.github/workflows/validate.yml)가 저장소가 GitHub에 올라가면 모든 푸시에서 이를 실행할 준비가 되어 있습니다.

지연됨 / 기본적으로 가져오지 않음

GRDI v1.10(래스터 GeoTIFF, 932MB) 및 EnvClim(2.6GB 지오패키지) — 국가-연도 패널에 비해 과도한 격자/하위 국가별 제품입니다. fetch_confounders.py는 향후 하위 국가별 구축에서 GIS 도구 투자 가치가 있는지 결정할 수 있도록 파일 목록을 출력합니다.

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • NASA POWER MCP — Prediction of Worldwide Energy Resources

  • Search NOAA climate stations and datasets, fetch historical weather observations.

  • NOAA and ECMWF weather forecast MCP for discovery, validation, and GribStream OAuth queries.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Rishavbhattarai/amr-climate-atlas'

If you have feedback or need assistance with the MCP directory API, please join our Discord server