DOI: 10.5281/zenodo.15013632
title: Annotated and processed sequencing data, metadata table, RMD script files, associated RDS files, FISH metadata, and BioRender licenses related to NMED-A140141A.

description: Dear Editor and Reviewers,

Thank you for taking the time to evaluate our work. The following resources are provided to accompany the manuscript and support the review process : 





A concise guide (A and B sections below) detailing each analysis script, including its purpose, required inputs and related outputs. 




A cross-reference table (SM_Tables_assigned_codes.xlsx) linking each Figure, Supplementary Figure, and Supplementary Table to its corresponding analysis code.




All generated supplementary materials, including figures and tables (SM_Figures_METBIOME, SM_tables, SM_Figure_SA_K, and SM_Tables_SA_M).




Complete DADA2 processing scripts (DADA2_RDP19 and dada2_Kinnex_pacbio) for both MiSeq and PacBio datasets, ensuring full reproducibility of raw data processing.



All R Markdown files (with corresponding *.html outputs) listed in Section B below are versioned, annotated, and fully reproducible. They can be executed sequentially or independently once the input data and associated phyloseq objects are loaded.All *.rds and *.RData files are R objects saved with saveRDS() or save() and can be reloaded using readRDS() or load(), respectively.

The supplementary materials are described throughout the manuscript and summarized below:





SM_Figures_METBIOME: Supplementary Figures 1–29




SM_tables: Supplementary Tables 1–29




SM_Figure_SA_K: Supplementary Figures A–K




SM_Tables_SA_M: Supplementary Tables A–M



All requested data and code are provided to ensure full transparency and reproducibility. Processed data tables, metadata, analysis scripts, and supplementary materials are available on Zenodo, while raw sequencing data will be deposited in the European Genome-phenome Archive (EGA, accession EGAC00001003263). In the meantime, we are providing a Figshare link containing the raw data together with the corresponding sample information required to begin processing. This allows fully anonymized access to the requested raw data.

Clarifications





cd and cd1 contain identical study metadata, provided in two formats to accommodate different scripts.




Philippe.allHS_rdp_train_set_19_phy.RDS: raw DADA2 output phyloseq object generated after ASV inference and taxonomic assignment using the RDP training set 19 database. This object represents the pre-processing, non-decontaminated ASV-level dataset and serves as the source object from which physeq.rds was derived after loading, formatting, and minor structural harmonization for downstream analyses (see Section A below).


v3v4_PacBio_ts19_sp.rds: phyloseq object containing PacBio long-read sequences annotated using the RDP training set 19 database (see Section A below).

Philippe_allHS_sample_id_v4.csv and Philippe_allHS_sample_id_pacbio.csv contain the sample IDs needed to link each sample to its corresponding FASTQ file (raw sequencing data). 


All methodological details are described in the Methods, Supplementary Materials, and within the annotated code.Please don’t hesitate to contact us if any aspect remains unclear. We hope this documentation facilitates an efficient and transparent review of our analyses.

A. Overview of DADA2 processing pipelines

Raw 16S rRNA gene sequencing data were processed using the DADA2 pipeline in R, following established best practices for high-resolution amplicon analysis.One workflow was implemented for the MiSeq short-read dataset, using the RDP training set 19 database, and one workflow was applied to the full-length PacBio dataset.Together, these pipelines ensure consistent data processing across long and short-read datasets, enabling robust microbial profiling and cross-cohort comparisons.

1. DADA2_RDP19.Rmd - MiSeq short-read dataset (RDP training set 19 annotation)

This script processes Illumina MiSeq paired-end V4 amplicon data across all sequencing runs(DI21R15, DI21R26, DI21R33, DI21R41, DI22R18, DI22R19, DI22R41, DI22R42, DI23R20).It follows the complete DADA2 workflow:





Quality filtering, trimming, and merging of paired reads




Denoising and chimera removal for each run




Merging of per-run ASV tables




Global chimera filtering




Taxonomic assignment using the RDP v19 database for both genus and species levels




Creation of a final phyloseq object (Philippe.allHS_rdp_train_set_19_phy.RDS) with ASV sequences. 



2. dada2_Kinnex_pacbio.R - Full-length 16S PacBio dataset (RDP training set 19 annotation)

This script processes PacBio HiFi/Kinnex full-length 16S rRNA reads to generate a high-quality phyloseq object.Key steps include:





Primer removal (removePrimers() with F27/R1492)




Quality filtering and length trimming optimized for long reads (1100–1800 bp)




Error learning using the PacBioErrfun model




Denoising and chimera removal




Taxonomic assignment using a custom RDP species-level classifier.




Integration into a final phyloseq object (v3v4_PacBio_ts19_sp.rds)



This pipeline provides accurate species-level resolution for long-read PacBio data and was used to validate taxa shared between CRC primary tumors and metastases.

Provenance and reproducibility note 

The DADA2 scripts for MiSeq runs (DADA2_RDP19.Rmd) were adapted from the Raeslab DADA2 pipeline available at:https://github.com/raeslab/QMP-Microbiome-CRC-confounders/blob/main/scripts/dada2_analysis.R

B. Overview of the analysis code and its purpose

Below is a concise description of each R Markdown script, including its purpose, required input files, and expected output. 

Each script can be run independently once the input data are loaded, or sequentially in the order listed below. For reproducibility, all inputs and outputs are explicitly referenced.

1. cohort_description_MTB.html

Provides an overview of sample and cohort counts before and after filtering (i.e. the decontamination pipeline).

Input files:cd1.rds, physeq.rds, physeq_noglom13.rds, merged_phy.rds

Notes:





cd1 contains the study metadata.




physeq is the initial object with ASV numbering (at ASV level, not agglomerated at genus level).




physeq_noglom13 represents the penultimate object of the decontamination pipeline (ASV level).




merged_phy is the final object (agglomerated at genus level).



Output: Figures 1 (count), 2d; Supplementary Tables S1–S3, S12–S15, S27–S28.

2. decontamination_pipeline_RDP_MTB.html

Performs all filtering steps, from initial data to the final phyloseq object. In addition, the initial physeq object ("physeq", at ASV level) is used to examine and clarify the distribution of Escherichia/Shigella ASVs prior to decontamination, including their presence across biological samples and negative controls.

Input files:cd.rds, Philippe.allHS_rdp_train_set_19_phy.RDS,contaminants.xlsx, HumGut.tsv, multiple Classeur_*.xlsx files. 

Notes:





cd contains study metadata.




contaminants.xlsx: list of contaminant genera (Salter et al.).




HumGut.tsv: taxa from the HumGut reference collection.




Classeur_*.xlsx: cutting order of cryostat sections per biobank/sample type (non-identifiable metadata).



Output: Supplementary Figures S1–S2, SA-I; Supplementary Tables SA-I. 

 

3. consecutive_sample_CUSL_god.html

Contains all steps of data filtering, from initial data processing to the generation of the phyloseq object used to evaluate cross-sample ASV transfer during the tissue-cutting step and to implement the subsequent exclusion of samples originating from the CUSL and Godinne biobanks.

Input files:cd.rds, Philippe.allHS_rdp_train_set_19_phy.rds, contaminants, HumGut.tsv, Classeur_stluc.xlsx, ClasseurGod.xlsx

Output: Supplementary Tables SJ–M; Supplementary Figures SJ–K.

 

4. RDA_MTB.html

Contains the db-RDA analyses and corresponding plots assessing the influence of methodological variables on microbial composition.

Input files:merged_phy, canCorPairs_custom

Note:canCorPairs_custom is a custom R function adapted from the canCorPairs original function in R package variancePartition, to compute pairwise canonical correlations among model variables, identifying collinear pairs and handling missing or zero-variance data.

Output: Supplementary Figure S7.

 

5. Alluvial_plot_tables_decontamination_MTB.html

Includes all details and data related to each step of the decontamination pipeline. It contains counts at both the phylum and genus levels, before and after filtering, as well as the alluvial plots illustrating these changes.

Input files:physeq_nocontam_6.rds, physeq_nocontam_7.rds, merge_hcc_PT.rds, physeq_nocontam_6_val.rds,physeq_nocontam_7_val.rds, merge_hcc_PT_val.rds, physeq_prospect_blood_noglom_decontam.rds,physeq_prospect_blood_noglom.rds, physeq.rds, physeq_noglom.rds, physeq_noglom3.rds,physeq_noglom13.rds, physeq_glom13.rds, merged_phy.rds.

These phyloseq objects represent successive stages of the decontamination pipeline, at both ASV and genus levels.

Output: Supplementary Tables S4–S6, S8-S11; Supplementary Figures S3–S6; Figure 2c.

 

6. prevalence_occurence_predominance_ASV_MTB.html

Describes taxa distribution across sample types and cohorts, computes predominance scores, and reconciles species assignments across multiple databases.Clade assignment analyses are detailed in code chunk “## 1.11/ Fna Clade analyses in CRC MT.”

Input files:physeq_noglom13.rds, merged_phy.rds, Phil_sevTax, fusobacterium_clades_blastn.csv

Notes:





Phil_sevTax: ASV table annotated to species level using multiple databases (RDPv19, GTDB r202/r214, and SILVA v138.1/v138.2). 




fusobacterium_clades_blastn.csv: BLASTn alignment results linking Fusobacterium ASVs to reference clades.



Output: Supplementary Tables S16–S23; Supplementary Figures S8–S12; Figures 3a–b, 4a-b.

 

7. differential_abundance.html

Performs differential abundance (DA) analyses of taxa significantly abundant between tumor and NAT in CRC primary tumors (PT) and metastases (MT).Includes DREAM, DESeq2, ANCOM-BC2, and MaAsLin3 analyses with detailed analyses.

Input files:



merged_phy.rds (final genus-level object).


Output: Supplementary Figures S13–S20, S27–S28; Figure 3c.

 

8. taxa_sharing_MTB.html

Identifies shared taxa at genus and ASV levels between CRC primary tumors and metastases within individual patients.

Input files:cd1.rds, physeq_noglom13.rds, merged_phy.rds, final_asv_mt3.rds

Notes:





final_asv_mt3.rds: consensus species assignments obtained by reconciling multiple databases.



Output: Supplementary Tables S24–S26; Figures 5b–c.

 

9. PacBio_MTB.html

Details the analysis of the PacBio sequencing dataset.Clade assignment analyses are detailed in code chunk "## clades PACBIO". At the beginning of the script, specific analyses for Escherichia/Shigella are included, covering ASV selection, prevalence and abundance across sample types (MTB, MCK, Neg), identification of ASVs detected in negative controls, and relative abundance estimation in tissue samples after exclusion of control-associated ASVs.

Input files:v3v4_PacBio_ts19_sp.rds, physeq_noglom13.rds, merged_phy.rds, pt4.rds, mt4.rds,Fna_C_trimmed_ref_V3V4PacBio_results.csv, Fna_C_trimmed_ref_V3V4PacBio_ASV_matrix.csv

Notes:





v3v4_PacBio_ts19_sp.rds: phyloseq object containing PacBio long-read sequences annotated using the RDP training set 19 database.




pt4.rds / mt4.rds: lists of final taxa retained after all filtering steps in the CRC PT and MT sample types, respectively.




Fna_C_trimmed_ref_V3V4PacBio_results.csv: BLASTn alignment results with reference clade sequences.




Fna_C_trimmed_ref_V3V4PacBio_ASV_matrix.csv: abundance matrix of PacBio-detected Fusobacterium ASVs across metastases.



Output: Supplementary Figures S21–S24.

10. ecoli_filtering_JD.html and  dada2_Kinnex_e_coliQC.html

ecoli_filtering_JDThis script performs post-DADA2 evaluation and filtering of Escherichia coli ASVs by assessing their prevalence and abundance across samples and controls to determine whether the signal is consistent with contamination. It supports the decision to invalidate E. coli as a biological signal and was developed in the context of the current rebuttal.

Input files:physeq_nocontam_6.rds, physeq_nocontam_7.rds, merge_hcc_PT.rds, physeq_nocontam_6_val.rds,physeq_nocontam_7_val.rds, merge_hcc_PT_val.rds, physeq_prospect_blood_noglom_decontam.rds,physeq_prospect_blood_noglom.rds, physeq.rds, physeq_noglom.rds, physeq_noglom3.rds,physeq_noglom13.rds, physeq_glom13.rds, merged_phy.rds.

dada2_Kinnex_e_coliQCThis script focuses on tracking and inspecting E. coli ASVs during DADA2 inference and taxonomic assignment using RDP training set 19 in the PacBio dataset. It serves as an upstream quality-control reference to understand how E. coli signals arise prior to downstream decontamination, in support of the current rebuttal.

Input files:v3v4_PacBio_ts19_sp.rds

11. figures_METBIOME_reviewing2.html

Provides direct access to the final, improved figures presented in the manuscript, without requiring execution of the full analysis scripts. All previous figure versions remain accessible within the corresponding R scripts. 

Input files:Not applicable (compiled visualization output).

Output:Final figures included in the main manuscript.

Additional Files Provided 

- FISH data, including all image files and associated metadata corresponding to the figures presented in the main article.

If you feel that any aspect of the code or documentation could be clarified or streamlined, please don’t hesitate to let us know. We are more than happy to refine or adjust it upon request to ensure smooth readability and usability.

If you have any questions or need further clarifications, please don’t hesitate to reach out. We truly appreciate your time and efforts in reviewing this work!

Best regards,Philippe Stevens, on behalf of the co-authors