Atlas › Genus-level PCA (335,956 samples)
Every catalog sample with a Sandpiper community profile (GTDB genus level, root coverage above the stated threshold) plotted on the first five principal components of the centred log-ratio transformed genus table.
About this page
335,956 of the 573,001 catalog samples across 2,030 studies. Colour by curated metadata, hover a point for its sample and study, type a study accession to draw its samples on top, or drag a box to count a selection. Everything runs in your browser; the data files total 13.9 MB.
Method
Sandpiper 2.0.0 GTDB R232 profiles of every profiled run of the catalog (gut_sandpiper_sample_genus.parquet), summed over a sample's runs and normalised by the sample's root coverage. Samples with root coverage ≥ 2 genome equivalents enter the matrix; genera present at ≥ 0.1 % relative abundance in at least 1 % of these samples are kept (383 genera), re-closed to 1, zeros replaced by a multiplicative pseudocount of 1e-5, log-transformed and centred per sample (CLR), then columns centred and decomposed by randomised SVD (5 components). Only the retained genera (not the unassigned remainder) enter the composition. Points are scores; loadings above are genus weights per component. Nearby points have similar genus compositions; distance is not a calibrated ecological metric — see Methods.
Data layout under data/atlas/: pca_points.bin (6,719,120 bytes) = little-endian Float32[n_points × n_pcs], row-major, point i component j at i·n_pcs+j; pca_codes.bin (2,687,648 bytes) = one categorical column per field in the order study_accession, age_category, country, health_condition, body_site_class, top_genus, lifestyle, each Uint16 (study) or Uint8 (others) × n_points at the byte offset given in pca_meta.json → fields[k].offset; codes index fields[k].labels, whose last two entries are always other and (no value); pca_meta.json (5,118,283 bytes) carries the sample keys in point order (newline-joined), explained variance, loadings and study titles. Total 14,525,051 bytes.