Review of the DiSCoVeR STEC preprint
Independent review of a public preprint
| Field | Value |
|---|---|
| Manuscript | Tozzoli and colleagues, bioRxiv v1, posted 28 April 2026. DOI 10.64898/2026.04.27.721056. |
| Study | Multicountry genomic analysis of Shiga toxin-producing E. coli (STEC) from human and non-human sources. |
| Materials | Full manuscript, main figures and tables, Supplementary Method S1, Tables S1–S5, and linked Discover1.1 repository at f72fe1044f065c4d5ddab1cfc3a15ec9f3e344d2. |
| Scope | Public-source manuscript and code review, row-level supplement reconciliation, a missing-outcome sensitivity analysis and a focused code check. Reproducing the original ordination requires the authors’ analysis scripts and complete assignments. |
Overall assessment and scientific impact
This preprint assembles a substantial whole-genome sequencing resource for Shiga toxin-producing E. coli, spanning 3,418 quality-filtered isolates from human, animal, food and environmental collections in eleven European countries. Its strongest contribution is the opportunity to compare virulence repertoires across lineages and sources in one collection, including LEE-negative profiles that could be underrepresented in an O157-centred analysis. The resource could help reference laboratories decide which lineages and toxin profiles merit follow-up and give subsequent studies a starting point for external validation. The outcome analysis carries the greatest interpretive risk. After joining the supplementary workbooks, we could verify the clinical counts for two of the three ordination groups and locate the error in Figure 8. We also found that outcome coverage ranged from complete in Denmark to effectively absent in Norway and the UK, with Italian isolates accounting for most recorded HUS. The apparent differences in severity therefore depend on which isolates and countries contributed recorded outcomes, as well as on lineage and the way the groups were defined. The paper will have more impact if it makes the genomic resource fully traceable, shows which patterns persist across comparable collections, and treats candidate reservoir and severity associations as hypotheses for validation. Preprint v1 · Supplementary files
Editorial recommendation
Major revisions before submission. Regenerate Figure 8 from the isolate-level outcomes and release a complete, reproducible assignment for STEC_1–3. Reconcile the 226-isolate difference between the full human cohort and the three reported group totals. Report country-specific outcome completeness and keep any severity comparisons explicitly tied to the observed subset. Supply the ordination and testing scripts, clarify how the gene associations relate to the construction of the groups, and resolve repeated and missing sequence accessions. The genomic inventory and descriptive analyses provide a basis for revision. Claims of generalisable severity prediction or reservoir attribution require substantial analytical reworking and validation in suitable collections.
Priorities for the authors
| ID | Severity | Evidence status | Finding | Next action |
|---|---|---|---|---|
| MRT-01 | Major | Verified in sources | Workbook rows confirm that Figure 8 swaps two outcome counts in STEC_1 and STEC_3. The figure also conflicts with the STEC_2 narrative. | Rebuild from an explicitly keyed outcome table. |
| MRT-02 | Major | Verified in sources | Disease-status completeness varies across the three groups and the reported group totals do not cover the full human cohort. | Publish a group-by-outcome manifest and missingness audit. |
| MRT-03 | Major | Needs author input | The ordination and group assignment cannot be reconstructed from Methods. | Name the estimator, feature inputs, preprocessing and assignment rule. |
| MRT-04 | Major | Needs author input | Gene signals and disease patterns need validation independent of group construction and sampling structure. | Separate descriptive loadings from association tests and run structured sensitivity checks. |
| MRT-05 | Major | Verified in sources | The collection design limits reservoir and severity inference. | Document sampling and restrict comparisons to supported strata. |
| MRT-06 | Minor | Verified in sources | The abstract and toxin Results leave cohort stages and category totals unclear. | State the filtering denominator and regenerate the toxin summary. |
| MRT-07 | Major | Reproduced in code fragment | Distinct FASTQ pairs with underscores can produce the same sample ID in the public CLI. | Extract IDs from the read suffix and reject collisions. |
Findings
MRT-01 Figure 8 reverses diarrhoea categories in STEC_1 and STEC_3
Where. Figure 8 and caption, lines 518–521, Tables 2 and 3, and Results lines 411–428. Preprint v1
Observation. The figure defines D as diarrhoea and BD as bloody diarrhoea. For STEC_1, it shows D=17 and BD=69, while Table 2 and Results give diarrhoea=69 and bloody diarrhoea=17. For STEC_3, it shows D=120 and BD=79, while Table 3 gives diarrhoea=79 and bloody diarrhoea=120. For STEC_2, the plotted D=130 and BD=328 also run opposite to the Discussion’s account of roughly half with diarrhoea and 20.1% with bloody diarrhoea. HUS counts in the STEC_1 and STEC_3 figure panels agree with their tables.
Why it matters. The reversal changes which clinical presentation predominates in each group. The S4 and S5 rows confirm the reversal for STEC_1 and STEC_3. For STEC_2 the figure and Discussion disagree, and the assignment list is needed to verify the underlying counts. Supplementary files
Action and closure. Generate the figure and manuscript tables from one count table keyed by full outcome names. Confirm the counts against isolate-level records, including asymptomatic and unknown categories, and assert label-to-count agreement for each group.
MRT-02 Disease-status coverage differs substantially by group
Where. Results lines 298–302 and 401–428, Figure 8 and Tables 2–3. Preprint v1
| Group | Reported isolates | Known disease status | Unknown status | HUS among known |
|---|---|---|---|---|
| STEC_1 | 286 | 100 (35.0%) | 186 | 12/100 (12.0%) |
| STEC_2 | 1,263 | 648 (51.3%) | 615 | 169/648 (26.1%) |
| STEC_3 | 630 | 242 (38.4%) | 388 | 42/242 (17.4%) |
| Total across three reported groups | 2,179 | 990 (45.4%) | 1,189 | 223/990 (22.5%) |
Observation. The manuscript reports known disease status for 1,096 of 2,405 human isolates (45.6%). The three groups account for 2,179 isolates and 990 known outcomes. The manuscript should account for the difference of 226 isolates, including 106 with known outcomes, through group assignment, exclusions or other analysis stages. The authors identify site-level data-sharing restrictions and incomplete recording as reasons for missing outcomes.
Why it matters. The HUS percentages describe isolates with recorded status. Different recording practices or sampling patterns can change their ordering. A simple bound for STEC_1 spans 12/286 (4.2%) to 198/286 (69.2%) if every unknown is assigned to the non-HUS or HUS category respectively. This is an identification bound for the recorded collection, with extreme assumptions used to show how little the known outcomes alone constrain the all-isolate fraction.
Action and closure. Publish an isolate flow from quality filtering to ordination, group assignment and outcome analysis. Tabulate known and unknown status by group, country, year, source programme and lineage. Compare severity estimates in strata with adequate ascertainment and test explicit missingness assumptions. If outcomes are wholly unavailable in some strata, identify which population the resulting estimates can represent.
MRT-03 Specify and reproduce the ordination and cluster labels
Where. Methods lines 233–252 and Figures 6 and 9. Preprint v1 · scikit-learn PCA documentation
Observation. The paper calls the analysis both principal component analysis and PCoA, and refers to a scikit-learn PCoA module. It describes one-hot encoding and explained variance but does not name the exact estimator, distance or cluster-assignment algorithm. PCA on a feature matrix and principal coordinates analysis on a distance matrix have distinct inputs and can produce different results, depending on the distance and preprocessing. The manuscript describes two non-human feature sets with different LEE inclusion rules and presents one non-human ordination figure.
Action and closure. State the exact class, software version, input matrix, coding, scaling, distance or kernel, missing-call handling, and the rule assigning isolates to STEC_1–3. Identify the non-human feature set used for Figure 9. Publish scripts, scores and group membership. Regenerate both figures and verify that reported group totals and explained-variance summaries derive from those files.
MRT-04 Separate exploratory group characterisation from independent association
Where. Methods lines 234–252 and Results lines 392–431. Preprint v1
Observation. Virulence features define the ordination and are then used to describe group separation. Such results can explain the ordination, but significance tests on the same features and observations may simply reflect how the groups were defined. The manuscript gives a P<0.001 screen without enough detail to identify the test statistic, the set of hypotheses, the multiplicity adjustment or the handling of related isolates. Some gene signals also coincide with lineage, including a group composed of O157:H7.
Action and closure. Report loadings or feature enrichment explicitly as descriptive where they reuse the grouping inputs. For independent association claims, specify the effect measure, reference groups, test family and adjustment, and account for country, programme, outbreak clustering and genomic relatedness where supported. Check robustness after deduplication or lineage stratification and, if prediction is claimed, validate in a held-out country, lineage or independently sampled dataset.
MRT-05 Limit reservoir inference to the supported sampling frame
Where. Results lines 265–314 and the non-human ordination. Preprint v1
Observation. The collection combines surveillance, surveys, outbreaks and research programmes with different isolation criteria. Five countries contribute both human and non-human isolates, Denmark contributes human isolates only, and five contribute non-human isolates only. Source can therefore coincide with country and programme. Livestock isolates also include food and live-animal samples, which have different sampling mechanisms.
Action and closure. Provide the country-by-source-by-programme support table and show which comparisons have overlap. Repeat host comparisons within comparable strata, separating food and live-animal samples and checking sensitivity to dominant countries or collections. Report the cross-source genomic overlap as descriptive evidence unless the sampling and validation support source attribution.
MRT-06 Reconcile stage and toxin denominators
Where. Abstract, Results lines 288–295 and 356–359, Table 1. Preprint v1
Observation. The main text distinguishes 3,568 sequenced isolates before filtering from 3,418 retained. The abstract’s approximately 3,500-plus description should specify the stage. Table 1 reconciles to 2,405 human and 1,013 non-human isolates. It yields 850 with stx1 alone, 1,755 with stx2 alone, 791 with both and 22 with neither detected in the WGS calls. The Results’ stx1 total of 1,641 is consistent with 850 + 791, but the combined-category clause is incomplete.
Action and closure. State both cohort stages and include the four mutually exclusive categories. Document how WGS non-detections were adjudicated and included or excluded from virulence and severity analyses. Generate the abstract, Results and table counts from the same accession manifest.
MRT-07 Guard against sample-ID collisions in the linked pipeline
Where. Public Discover1.1 commit f72fe10, paired-read loop and output paths. Pinned code
Observation. The paired-read loop takes the substring before the first underscore as its sample identifier. Executing that assignment from the pinned source returned the same ID, farm, for synthetic inputs farm_01_R1.fastq.gz and farm_02_R1.fastq.gz. Output filenames and directories then use that ID. Static inspection also shows a contig gate that measures the length of a constructed filename string rather than checking that a contig file exists. These observations apply to the linked snapshot. The study’s input naming and executed Galaxy revision were unavailable, so effects on the published isolates are unverified.
Action and closure. Parse an anchored read suffix, enforce unique sample IDs, check the assembly file and exit status, and retain per-sample provenance. Add a two-sample regression fixture with underscores and an assembly-failure fixture. Archive the pinned Galaxy workflow and the separate statistical scripts used to generate Figures 6–9.
Supplement interrogation
We inspected Supplementary Method S1 and all five workbooks. The row-level checks used the exact isolate identifier as the join key after stripping surrounding whitespace. We compared counts directly with the summary tables and figures. The workbook references below locate the checked data. Supplementary files
| Source | Check performed | Result and interpretation |
|---|---|---|
| Method S1, steps 1–9 | Trace raw-read processing and genome typing through software, thresholds and outputs. | The method documents SPAdes 3.15.2, assembly filters and the reference screens. Its trimming step names the four Trimmomatic options without their numerical settings. A pinned workflow export would close that gap. The nine steps describe typing and output assembly, leaving ordination and inference to be reproduced from separate analysis code. |
| S1, Sheet1 A2:L3419 | Count rows, audit isolate IDs and examine accession coverage. | All 3,418 isolate IDs are unique. The accession field has 83 literal NA values, including 37 human isolates. Three non-NA strings are reused across pairs of distinct isolate IDs. Two reused strings are ERR run accessions. The third is an ERS sample accession, whose interpretation requires run-level mapping. |
| S1, Sheet1 Q2:R3419 | Rebuild WGS toxin categories and check other-method evidence. | Parsed subtype strings yield 850 stx1 only, 1,755 stx2 only, 791 both and 22 with no WGS subtype call. Seven of those 22 have the numeric value 1 in the other-method field. Define the flag and report the treatment of those records in toxin and severity analyses. |
| S2, Ark1 J2:K4 and S2:T7 | Reconcile source and clinical margin counts against S1. | 2,405 human and 1,013 non-human rows. The 2,322 NA entries in the disease summary combine 1,309 unknown human outcomes and 1,013 non-human records where this field is inapplicable. Keep those categories distinct in any missingness calculation. |
| S3, Ark1 A3:D8 | Recompute sequential quality exclusions. | 104 for CheckM completeness, 26 for contamination and 20 for the contig filter. The remaining two steps removed zero. 3,568 − 150 = 3,418. An exclusion ledger would allow review of the distribution of exclusions by country, source and sequencing batch. |
| S4 and S5, columns A and J | Join the 286 STEC_1 and 630 STEC_3 rows to S1 and check outcome labels. | Every ID joins to S1, the two sets are disjoint, and every disease status agrees with S1. The joined counts agree with Tables 2–3 and confirm the two Figure 8 label reversals for these groups. The STEC_2 comparison still depends on the figure and narrative because its assignments are unavailable. |
| S4 and S5, MLST columns | Compare sequence-type strings with S1 after joining. | There are 14 string differences in S4 and 30 in S5, mainly asterisk annotations and alternative missing-call labels. Define those conventions and identify which call set fed the lineage analyses before treating differences as biological changes. |
Clinical outcome coverage by country
Counts below come from S1, Sheet1 columns D, E and J, restricted to the 2,405 human isolates. HUS is haemolytic uraemic syndrome. Supplementary Table S1
| Country | Human isolates | Known outcome | Coverage | Recorded HUS |
|---|---|---|---|---|
| Denmark | 500 | 500 | 100.0% | 12 |
| Italy | 354 | 295 | 83.3% | 188 |
| Netherlands | 585 | 293 | 50.1% | 23 |
| Norway | 510 | 1 | 0.2% | 0 |
| Portugal | 7 | 7 | 100.0% | 3 |
| United Kingdom | 449 | 0 | 0.0% | 0 |
| Total | 2,405 | 1,096 | 45.6% | 226 |
Italy contributes 188/226 (83.2%) recorded HUS outcomes and 354/2,405 (14.7%) of human isolates. In the recorded-outcome subset, dropping Italy changes the pooled HUS proportion from 226/1,096 (20.6%) to 38/801 (4.7%). This leave-one-country-out check demonstrates how strongly collection composition affects the summary. It does not estimate an underlying HUS risk. Coverage is too sparse in Norway and the UK for outcome-based comparisons within those countries. Supplementary Table S1
Population assignment and sequence provenance
After removing the S4 and S5 IDs from the 2,405 human records in S1, 1,489 records remain, of which 754 have recorded outcomes and 172 are labelled HUS. The reported STEC_2 group has 1,263 isolates, 648 recorded outcomes and 169 HUS counts. If STEC_2 is a disjoint subset of that remainder, the differences are 226 isolates, 106 recorded outcomes and three HUS-labelled isolates. Release the STEC_2 list and identify the reason and stage for any exclusions. The ledger should also map each isolate to a primary run or assembly accession and explain shared accessions. Repeated identifiers can reflect shared material, multiple representations or mapping errors, and the workbook alone cannot distinguish those cases. Preprint v1, Results and Figure 8 · Supplementary files
Suggested revision to the Results
Disease status was available for 1,096 of 2,405 human isolates. Availability varied by country and ordination group. We report the clinical categories among isolates with recorded outcomes and provide country- and group-specific denominators. The clinical distributions describe the contributed collection and motivate validation in cohorts with comparable outcome ascertainment.
Regenerate the outcome figure and the text from a shared, versioned count table keyed by the full outcome names. Report group assignment and outcome availability as separate steps in the same isolate flow. Preprint v1 · Supplementary files
Coverage and reproducibility
| Material | Checks completed | Remaining evidence |
|---|---|---|
| Manuscript and main figures | Cross-checked Figure 8 with Tables 2–3, cohort totals with outcome counts, and Table 1 toxin categories. Reviewed ordination and sampling descriptions. | Source tables and logs for each analysis stage. |
| Supplementary Method S1 and Tables S1–S5 | Inspected all six files. Joined STEC_1 and STEC_3 to S1, audited accessions, rebuilt outcome coverage and reconciled exclusions and toxin margins. | Full STEC_2 assignment, per-isolate exclusion ledger and clarification of accession reuse. |
| Discover1.1 | Inspected pinned public code and executed the sample-ID expression on two synthetic filenames. | Production workflow export, dependency versions, read fixture and an end-to-end rerun. |
| Statistical analysis | Recomputed aggregate counts and descriptive bounds from reported values. | Feature matrix, assignment rules, statistics code and sensitivity analyses. |
Sources
- Tozzoli R and colleagues. Population analysis and host-disease associations of Shiga toxin-producing Escherichia coli from various sources across eleven European countries using whole genome sequencing. bioRxiv v1 · Full PDF · Supplement index
- Discover1.1 pinned repository · Paired-read loop · scikit-learn PCA documentation