Data and code from: Environmental filtering shapes patch dynamics across isolated mesophotic reefs
Data files
Aug 04, 2026 version files 31.69 MB
-
18S_metazoo_ASVtab.csv
2.42 MB
-
ALL_ARMS_CoralNet_Annotations.csv
22.89 MB
-
best_taxonomy_selector.py
29.70 KB
-
CN_proportion_check.py
6.87 KB
-
COI_metazoan_ASVtab.csv
1.67 MB
-
CoralNet_abundances.py
7.22 KB
-
CoralNet_CYCLE21_All_Plates.Rmd
290.58 KB
-
CoralNet_dataprep_postMETA.py
7.45 KB
-
CoralNet_R_sample_metadata_ALL.csv
56.77 KB
-
CYCLE_ARMS_2mm_counts.csv
240.75 KB
-
CYCLE_ARMS_2mm_Motile_Metadata.csv
8.73 KB
-
eDNA18S_pub.Rmd
304.74 KB
-
EnvMatrix_ind_corrected.csv
4.05 KB
-
FINAL_18S_PreTaxa.Rmd
253.86 KB
-
final_process_taxonomy.py
26.83 KB
-
find_missing_asvs.py
1.36 KB
-
lulu_curation.R
10.81 KB
-
metadata_18S_FINAL.csv
91.13 KB
-
metadata_18S_FINAL.RData
16.83 KB
-
metadata_ARMS_env_COI.csv
69.92 KB
-
metazoan_ASVtab_18S.Rdata
133.70 KB
-
Motile_2mm_CYCLE21.Rmd
205.46 KB
-
motile_organism_processing.py
7.11 KB
-
MZG_BLAST.py
13.73 KB
-
ncbi_blast.sh
1.93 KB
-
nmnh_taxonomy_processor.py
14.03 KB
-
PostTaxa_18S.Rmd
136.99 KB
-
QC_trim_DADA2.md
17.45 KB
-
README.md
23.15 KB
-
taxa_metazoan_18S.csv
1.37 MB
-
taxa_metazoan_COI_final.csv
1.13 MB
-
taxonomy_master.sh
20.82 KB
-
trait_mapping_QC_v4.csv
199.86 KB
Abstract
Pittoors et al.
bioRxiv preprint: https://doi.org/10.1101/2025.11.02.686126
Dataset Overview
This package contains the processed community and environmental data used for all analyses in the above manuscript, along with the analysis scripts used to generate results and figures. Data were collected during the CYCLE 2021 expedition (R/V Point Sur), targeting cryptobenthic invertebrate communities colonizing Autonomous Reef Monitoring Structures (ARMS) deployed at six mesophotic reef banks on the Texas–Louisiana continental shelf: Stetson, East Flower Garden Banks (EFGB), Bright, McGrail, Alderdice, and Diaphus. The central question is whether environmental filtering — primarily turbidity driven by the benthic nepheloid layer (BNL) — or dispersal limitation structures mesophotic cryptobenthic communities across this isolated reef system.
Raw amplicon sequencing reads (COI and 18S ARMS metabarcoding) are archived at NCBI SRA under BioProject PRJNA1159220. Raw 18S eDNA sequencing reads are archived under a separate NCBI SRA accession (see manuscript for current accession number). The files in this package represent processed, analysis-ready data derived from those raw reads.
Analysis scripts are provided here as a static snapshot. The actively maintained and version-controlled repository, including full commit history and documentation, is available at: https://github.com/npittoors/CYCLE-ARMS-Community-Analyses
Study Design
ARMS units consist of stacked PVC plates that mimic reef structural complexity and recruit cryptobenthic invertebrates over a two-year deployment period (2019–2021). Units were deployed in triplicate at shallow and deep depth strata at each bank where accessible, yielding 12 sampling sites total. Upon retrieval, each ARMS was disassembled and processed into four fractions:
- 100 µm motile fraction — organisms retained on a 100 µm mesh after decanting
- 500 µm motile fraction — organisms retained on a 500 µm mesh
- Sessile fraction — organisms scraped and blended from plates after photography
- 2 mm macrofauna — organisms >2 mm sorted by hand, counted, and barcoded as voucher specimens
Five complementary community datasets were generated: COI-ARMS metabarcoding, 18S-ARMS metabarcoding, 18S-eDNA water column metabarcoding, CoralNet plate image annotations, and 2 mm barcoded motile macrofauna.
Site abbreviations
| Code | Bank | Depth stratum |
|---|---|---|
| STE_s | Stetson | Shallow |
| EFGB_s | East Flower Garden Banks | Shallow |
| EFGB_d | East Flower Garden Banks | Deep |
| BRI_s | Bright | Shallow |
| BRI_d1 | Bright | Deep replicate 1 (formerly "coral") |
| BRI_d2 | Bright | Deep replicate 2 (formerly "background") |
| MCG_d | McGrail | Deep |
| ALD_s | Alderdice | Shallow |
| ALD_d1 | Alderdice | Deep replicate 1 (formerly "coral") |
| ALD_d2 | Alderdice | Deep replicate 2 (formerly "background") |
| DIA_d1 | Diaphus | Deep replicate 1 (formerly "coral") |
| DIA_d2 | Diaphus | Deep replicate 2 (formerly "background") |
Note on legacy naming: Raw data files and some scripts use earlier site name conventions where
_coral=_deep1and_background=_deep2. These are equivalent.
File Descriptions
Data Files
COI_metazoan_ASVtab.csv
ASV count table for COI (cytochrome oxidase subunit I) ARMS metabarcoding, filtered to retain only metazoan-assigned ASVs after taxonomy assignment and LULU post-clustering curation. Rows are ASVs; columns are samples. Sample IDs follow the format [Site]_[fraction]_[ARMS replicate].
taxa_metazoan_COI_final.csv
Taxonomy table for COI ASVs classified as metazoans. Each row is one ASV. Taxonomy was assigned using a custom COI reference database and curated with LULU. Unresolved ranks are coded as NA.
| Column | Description |
|---|---|
ASV_ID |
Unique ASV identifier matching row names in COI_metazoan_ASVtab.csv |
Kingdom |
Taxonomic kingdom (all: Animalia) |
Phylum |
Phylum-level assignment |
Class |
Class-level assignment (NA if unresolved) |
Order |
Order-level assignment (NA if unresolved) |
Family |
Family-level assignment (NA if unresolved) |
Genus |
Genus-level assignment (NA if unresolved) |
Species |
Species-level assignment (NA if unresolved) |
18S_metazoo_ASVtab.csv
ASV count table for 18S rRNA gene ARMS metabarcoding (V4 region; primers CCAGCASCYGCGGTAATTCC / ACTTTCGTTCTTGATYRATGA), filtered to retain metazoan-assigned ASVs after DADA2 inference and LULU curation. Rows are ASVs; columns are samples. Values are raw read counts.
metazoan_ASVtab_18S.Rdata
R binary file containing the 18S metazoan ASV table formatted as a data frame for direct loading into phyloseq-based workflows. Content is equivalent to 18S_metazoo_ASVtab.csv. Requires R version 4.4.2 (2024-10-31).
taxa_metazoan_18S.csv
Taxonomy table for 18S ASVs classified as metazoans. Structure is equivalent to taxa_metazoan_COI_final.csv. Taxonomy assigned using the PR2 database v5.
metadata_18S_FINAL.csv
Sample metadata for 18S-ARMS metabarcoding samples. Each row is one sample (ARMS × size fraction combination).
| Column | Description |
|---|---|
SampleID |
Unique sample identifier |
Site |
Sampling site (e.g., EFGB_shallow, Bright_deep1) |
Bank |
Reef bank abbreviation (STE, EFGB, BRI, MCG, ALD, DIA) |
Depth_stratum |
Shallow or deep |
Depth_m |
Deployment depth (m) |
Fraction |
Size fraction (100, 500, or sessile) |
ARMS_ID |
Individual ARMS unit identifier (random effect in LMMs) |
Turbidity_rank |
Mean standardized visibility rank (1 = clearest, 13 = most turbid); higher values indicate greater BNL influence |
Reads_raw |
Total reads before quality filtering |
Reads_filtered |
Reads retained after DADA2 quality filtering and chimera removal |
metadata_18S_FINAL.RData
R binary version of metadata_18S_FINAL.csv, formatted for direct use in phyloseq. Requires R version 4.4.2 (2024-10-31).
metadata_ARMS_env_COI.csv
Sample metadata for COI-ARMS metabarcoding samples. Structured equivalently to metadata_18S_FINAL.csv. Note that COI and 18S were sequenced from the same ARMS fractions but differ in rarefaction depth (COI: 7,285 reads; 18S: 17,000 reads).
eDNA18S_phyloseq_20250915.rds
Phyloseq object (R binary, .rds format) containing the processed 18S eDNA water column metabarcoding dataset, including ASV count table, taxonomy table, and sample metadata. eDNA samples were collected by filtering seawater from ARMS holding containers onto 0.22 µm Sterivex filters as passive water column samplers; they are analyzed separately from the ARMS fraction data. Requires R version 4.4.2 (2024-10-31) and phyloseq v1.48.0.
EnvMatrix_ind_corrected.csv
Site-level environmental data table used as input for distance matrix construction (Mantel tests, Partial Mantel tests, MRM) and community ordination (dbRDA, PERMANOVA). Each row is one sampling site (n = 12). Environmental variables were z-score standardized prior to Euclidean distance calculation for distance-based analyses.
Important: This is the corrected version of the environmental matrix; an earlier version contained site ID–environment value mismatches that were resolved in August 2025. Use this file for all analyses.
Primary predictors retained after PCA-based collinearity screening:
| Column | Description |
|---|---|
Site |
Site identifier |
Depth_m |
Deployment depth (m) |
Turbidity_rank |
Mean standardized visibility rank (inverse proxy for BNL turbidity intensity) |
PP_mean |
Mean satellite-derived primary productivity (mg C m⁻² d⁻¹); used in eDNA and CoralNet analyses |
Latitude |
Decimal degrees N |
Longitude |
Decimal degrees W |
Additional variables collected but excluded as predictors due to collinearity (retained in supplementary tables): temperature, dissolved oxygen, salinity, light (HOBO loggers); chlorophyll-a, absorption coefficients, suspended matter (Copernicus-GlobColour satellite, 4 km resolution).
ALL_ARMS_CoralNet_Annotations.csv
Raw per-point annotation export from CoralNet covering all 612 ARMS plate photographs. Each row represents one annotation point. A standardized 15 × 15 grid (225 points per image, 137,700 total annotations) was used. Classification used a comprehensive labelset including hard corals, octocorals, hydrozoans, sponges, erect and encrusting bryozoans, solitary and colonial tunicates, mollusks, worm tubes, crustose coralline algae, red/brown/green algae, sediment, bacterial biofilms, no recruitment, unavailable, and unknown. Semi-automated classification in CoralNet was followed by full manual verification. For multivariate community analyses, annotations were aggregated to a sample × phylum proportional cover matrix and fourth-root transformed.
| Column | Description |
|---|---|
Image_ID |
Unique plate image identifier |
ARMS_ID |
ARMS unit identifier |
Site |
Sampling site |
Point_ID |
Grid point identifier within image |
Label |
CoralNet label assigned to this annotation point |
Annotator |
Manual or machine classification source |
CoralNet_R_sample_metadata_ALL.csv
Sample metadata for CoralNet plate image annotation dataset. Each row is one ARMS plate image. Contains plate identifier, ARMS unit, site, depth, and environmental predictor values used in CoralNet-specific community analyses.
| Column | Description |
|---|---|
Image_ID |
Unique plate image identifier matching rows in ALL_ARMS_CoralNet_Annotations.csv |
ARMS_ID |
ARMS unit identifier |
Site |
Sampling site |
Bank |
Reef bank abbreviation |
Depth_m |
Deployment depth (m) |
Turbidity_rank |
Mean standardized visibility rank |
PP_mean |
Mean primary productivity (mg C m⁻² d⁻¹) |
Plate_position |
Position of plate within ARMS stack |
CYCLE_ARMS_2mm_counts.csv
Taxonomic occurrence records for macrofaunal organisms >2 mm sorted from ARMS retrievals. Each row is one taxon record from one ARMS unit. Taxonomic identifications combine morphological and COI barcoding approaches. Organisms identified to the lowest taxonomic level possible; partial identifications use a symbol-based forward-filling convention (see below).
| Column | Description |
|---|---|
eventID |
ARMS deployment identifier (e.g., CYCLE_2021_ARMS_05_DIAcoral) |
individualCount |
Number of individuals for this taxonomic unit |
kingdom, phylum, class, order, family, genus, scientificName |
Taxonomic hierarchy |
Taxonomic forward-filling symbols — when a specimen cannot be identified below a given rank, lower ranks are filled with the lowest resolved name plus a symbol denoting that rank:
| Symbol | Rank |
|---|---|
! |
Class |
# |
Order |
^ |
Family |
* |
Genus |
** |
Species |
For example, a specimen identified only to Family Caprellidae will have genus = Caprellidae^ and scientificName = Caprellidae^.
CYCLE_ARMS_2mm_Motile_Metadata.csv
Sample metadata for 2 mm barcoded motile macrofauna. Each row is one ARMS unit. Contains site, depth, ARMS identifier, and environmental predictor values linked to voucher specimen counts.
trait_mapping_QC_v4.csv
Functional trait assignment table linking 18S-ARMS metazoan families to functional feeding groups (suspension feeder vs. non-suspension feeder) based on literature review. Used for the functional feeding group analysis testing whether suspension-feeding taxa show stronger turbidity sensitivity, consistent with the BNL hypothesis.
| Column | Description |
|---|---|
Family |
Taxonomic family (matching 18S taxonomy table) |
Feeding_guild |
Functional feeding group: suspension or non-suspension |
Source |
Literature reference(s) supporting the trait assignment |
Notes |
QC flags or notes on ambiguous assignments |
Script Files
All scripts are provided as a static snapshot at time of publication. For the version-controlled repository with full documentation, see: https://github.com/npittoors/CYCLE-ARMS-Community-Analyses
Scripts require R version 4.4.2 (2024-10-31) unless otherwise noted.
QC_trim_DADA2.md
Markdown documentation of the amplicon sequencing quality control and DADA2 ASV inference pipeline. Covers FastQC/MultiQC quality assessment, primer trimming with Cutadapt, and paired-end DADA2 denoising for both COI and 18S libraries.
FINAL_18S_PreTaxa.Rmd
R Markdown script for pre-taxonomy processing of 18S ARMS amplicon data. Covers DADA2 ASV inference, chimera removal, and preparation of ASV tables for taxonomy assignment.
PostTaxa_18S.Rmd
R Markdown script for post-taxonomy processing of 18S ARMS data. Covers integration of PR2 taxonomy assignments, LULU curation, filtering to metazoan ASVs, rarefaction, and generation of the phyloseq objects used in downstream community analyses.
lulu_curation.R
R script implementing LULU post-clustering curation to remove spurious ASVs based on sequence similarity and co-occurrence patterns. Applied to both COI and 18S ASV tables.
seascape_env_model.Rmd
R Markdown script for environmental characterization and spatial modeling. Covers processing of in-situ HOBO logger data, satellite-derived oceanographic variables (Copernicus-GlobColour), PCA-based variable selection, and construction of the environmental and geographic distance matrices used in Mantel and dbRDA analyses. Generates EnvMatrix_ind_corrected.csv.
eDNA18S_pub.Rmd
R Markdown script for all 18S eDNA water column metabarcoding analyses, including alpha diversity, NMDS ordination, PERMANOVA, dbRDA, and ANCOM-BC2 differential abundance testing. Reads eDNA18S_phyloseq_20250915.rds.
CoralNet_CYCLE21_All_Plates.Rmd
R Markdown script for all CoralNet plate image annotation analyses. Covers aggregation of raw per-point annotations to community matrices, alpha and beta diversity analyses, NMDS ordination, PERMANOVA, dbRDA, SIMPER, and ANCOM-BC2 analyses. Reads ALL_ARMS_CoralNet_Annotations.csv and CoralNet_R_sample_metadata_ALL.csv.
Motile_2mm_CYCLE21.Rmd
R Markdown script for all 2 mm barcoded macrofauna analyses. Covers multi-level count table generation (phylum, order, family, species), alpha diversity, NMDS, PERMANOVA, dbRDA, SIMPER, and comparative analyses with CoralNet sessile communities. Reads CYCLE_ARMS_2mm_counts.csv and CYCLE_ARMS_2mm_Motile_Metadata.csv.
motile_organism_processing.py
Python script (requires pandas, numpy) for pre-processing raw 2 mm macrofauna occurrence records. Parses ARMS event IDs, applies taxonomic forward-filling (see symbol key under CYCLE_ARMS_2mm_counts.csv), and generates count and proportion matrices at multiple taxonomic levels for input to Motile_2mm_CYCLE21.Rmd.
CoralNet_dataprep_postMETA.py, CoralNet_abundances.py, CN_proportion_check.py
Python utility scripts for CoralNet data preparation and quality control. Cover reformatting of CoralNet exports, calculation of proportional cover from annotation counts, and validation of annotation totals across images.
final_process_taxonomy.py, best_taxonomy_selector.py, nmnh_taxonomy_processor.py
Python scripts for taxonomy processing and validation. Cover integration of BLAST results with NMNH taxonomy, selection of best taxonomic assignments across multiple database hits, and standardization of taxonomic hierarchies.
MZG_BLAST.py, ncbi_blast.sh, taxonomy_master.sh
Scripts for sequence similarity searching and taxonomy assignment. ncbi_blast.sh submits amplicon sequences to NCBI BLAST; MZG_BLAST.py processes BLAST output; taxonomy_master.sh coordinates the full taxonomy assignment workflow.
find_missing_asvs.py
Python utility script for quality checking ASV tables. Identifies ASVs present in taxonomy files but absent from count tables (or vice versa) to ensure consistency across data files before downstream analysis.
Missing Data and Caveats
Turbidity_rankis a standardized, ranked proxy derived from ROV-assisted water column visibility estimates, not direct nephelometric measurements. Higher rank values indicate lower visibility (greater turbidity/BNL influence).EnvMatrix_ind_corrected.csvsupersedes any prior version of the environmental matrix. An earlier version contained site ID–value mismatches corrected in August 2025.- Legacy site names in raw data files (
_coral,_background) correspond to_deep1and_deep2respectively in all analyses and figures.
Related Resources
| Resource | Location |
|---|---|
| Raw ARMS sequencing reads (COI + 18S) | NCBI SRA BioProject PRJNA1159220 |
| Raw eDNA sequencing reads (18S) | NCBI SRA (see manuscript for accession) |
| Analysis repository (version-controlled) | https://github.com/npittoors/CYCLE-ARMS-Community-Analyses |
| Manuscript preprint | https://doi.org/10.1101/2025.11.02.686126 |
Software
| Software | Version | Use |
|---|---|---|
| R | 4.4.2 (2024-10-31) | All R analyses |
| phyloseq | 1.48.0 | Amplicon data handling |
| vegan | 2.6-10 | Multivariate community analyses |
| ANCOMBC | 2.0.2 | Differential abundance testing |
| DADA2 | — | ASV inference (see QC_trim_DADA2.md) |
| LULU | — | Post-clustering curation |
| Python | 3.x | Data pre-processing scripts |
| pandas, numpy | — | Python data manipulation |
Contact
Corresponding author: Santiago Herrera, sah516@lehigh.edu
Lehigh Oceans Research Center, Lehigh University
Data package compiled by: Nicole C. Pittoors, ncp220@lehigh.edu
Last updated: March 2026
