PratirodhSearchAbout
Pratirodh

How Pratirodh reads a drain

From a bottle of drain water to a cell on the map, what is computed from it, the test written down before looking, and what none of it can say.

From a drain to a number

the four steps behind every cell on the map

1 · A bottle from a drain

one drain, one dayone bottle

One grab sample from one open city drain on one day. 447 of them, March 2022 to March 2024, published by CSIR-CCMB.

2 · Everything in it is read

every read in the samplematches a gene

The DNA of every microbe in the bottle is sequenced in short stretches, called reads.

3 · Matched to a catalogue

a gene in the catalogue (CARD)no match: not counted

Reads are matched against CARD, the open catalogue of known resistance genes, as the authors annotated them. 3,354 distinct genes turn up at least once.

4 · Counted per million

matching readsper million bacterial readsthe month's median sample

Matching reads per million bacterial reads, so a big sample and a small one compare. A month's cell is its median sample.

What is computed

units are this dataset's own; another study's numbers are never put on the same axis

All resistance genes

one cell, one monthdarker: more

Reads matching any resistance gene, per million bacterial reads in the sample; the month's median sample.

Last-resort genes

KPCNDMVIMIMPOXA-48OXA-23OXA-24OXA-58OXA-143MCRcarbapenemases, and mobile colistin resistance (MCR)

The same count for these named families only. Named, because the catalogue's broad "carbapenem" label also covers enzymes that do not break carbapenems.

By drug class

one gene, two classes

The share of a month's resistance-gene reads from genes against each class. A gene can act on several classes, so the shares add up to more than 100%.

Rain, temperature

each daya montha day missing

ERA5 daily values over the city's districts, summed or averaged by calendar month. A month with a missing day is left missing.

The registered analysis

written down before the data was loaded

The question

DelhiMumbaiKolkataChennaiJFMAMJJASOND

Chennai's rains come October to December; the other three cities' come June to September. If resistance in the drains follows the rain, Chennai's pattern should be shifted. The test, and what counts as a yes, were written down before the data was loaded.

Read the plan in full

Pratirodh — pre-registered seasonal analysis

Registered 27 Sep 2026, before the CCMB data were downloaded. The commit that adds this file is the timestamp. Any change after that is a new, dated commit to this file, with the reason, and the results page lists every change.

Question

Does monthly antibiotic-resistance-gene load in open-drain wastewater track each city’s rainfall?

Hypothesis

H1. In each city, monthly total resistance-gene load (pratirodh_arg_load, the dataset’s own normalised unit) is associated with that city’s monthly rainfall at a lag of 0, 1 or 2 months.

H2. If H1 holds, Chennai’s seasonal peak in load is offset from Delhi’s, Mumbai’s and Kolkata’s by roughly the gap between the northeast monsoon (Oct–Dec) and the southwest monsoon (Jun–Sep).

The direction is not assumed: heavy rain may dilute drains (load down) or wash resistance in from land and sewers (load up). The sign is estimated, and reported whatever it is.

Data

  • Outcome: CCMB wastewater metagenomes (Singh, Garg et al., Nat Commun 2026; Zenodo 17590646, CC BY 4.0). 447 samples, 19 sites in 4 cities, monthly, Mar 2022 to Mar 2024. City-month load is the dataset’s own city-month aggregate where it provides one; otherwise the median over that city’s sites that month. Samples failing the authors’ QC are excluded as the authors excluded them.
  • Rainfall (primary): ERA5 daily precipitation summed to calendar months, averaged over each city’s area (coverage-weighted over the LGD districts that make up the city: Delhi’s 13 districts, Mumbai City + Mumbai Suburban, Kolkata, Chennai). Computed and stored before the outcome is loaded.
  • Rainfall (check): IMD gridded rainfall, where its licence allows, as a sensitivity analysis only.
  • Temperature: ERA5 monthly mean 2 m temperature over the same area, as a covariate.

Analysis

  1. Per city, Spearman correlation between monthly load and rainfall at lags 0, 1 and 2 months (rainfall leading). Three lags × four cities = 12 tests; p-values are Holm-adjusted across all 12. Point estimates with 95% intervals by block bootstrap (3-month blocks, 2,000 resamples).
  2. Across cities: a linear mixed model, log(load) ~ rainfall(lag k) + temperature + (1 | city), fitted for k = 0, 1, 2; the lag reported is the one with the lowest AIC, and all three are shown. A second model replaces rainfall with monsoon phase (in-season / out-of-season for that city’s own monsoon) as the fixed effect of interest.
  3. H2: for each city, the month of peak load in a harmonic fit (one annual sine + cosine) and its bootstrap interval; the Chennai offset is the difference between its peak month and the mean of the other three cities’ peak months.

What counts as support

  • H1 is supported only if the same-sign lagged association holds in at least 3 of the 4 cities at one common lag, with the Holm-adjusted p < 0.05 in at least 2 of them, and the mixed-model rainfall coefficient’s 95% interval excludes zero.
  • H2 is supported only if Chennai’s peak-month interval does not overlap the pooled peak-month interval of the other three cities, and the offset is in the direction of the northeast monsoon.

Confounders, stated in advance

  • Dilution: heavy rain lowers concentration in open drains without changing what is shed.
  • Seasonal antibiotic use: fever and diarrhoea seasons overlap the monsoon, so rain and prescribing move together. This analysis cannot separate them; a positive result is an association, not a mechanism.
  • Two years is about two monsoon cycles per city. Power is low. All results are exploratory and are labelled that way wherever they appear.

Kill rule

If H1 is not supported, the null is published as part of the data descriptor, with the full per-city table, and the third paper (the seasonal analysis) is dropped. The atlas keeps showing the city series beside rainfall, without any claim about a relationship.

Not in this analysis

No site-level model (19 sites, one grab sample per site-month, is too thin). No gene-by-gene tests (they would be a new registration). No data from any other dataset.

Status

not run yetregistered 27 September 2026 at 16:01 IST, commit c9027abe

Not changed since. The map shows rain and resistance side by side, and makes no claim about them until it is run.

The evidence map

published studies of resistance in India's environment found by one registered search of indexed papers · open the map

Searched

714records from Europe PMC

With the exact search string written in the protocol before the search was run.

Screened

searched714included270excluded431still unclear13

Every record has a decision and a one-line reason. One screener in this round, Maplore's own; no second independent screener yet.

Mapped

63of 790 districts have at least one study

A study is placed at the finest level its paper supports; 39 name no place that can be read at all. The protocol.

Results are not pooled and places are not ranked by resistance: studies use different methods and units, and their numbers are never put on one axis. A hospital is mapped at its city or district, never named.

Limits