Curation and site construction
Source dataset
All content derives from a single curated workbook,
FINAL_Corrected_GT_families_with_representatives.xlsx, distributed with this site under
data/source/. The workbook holds one row per protein record and
a family banner row before each family block. Banner and summary rows are recognised during
the build and preserved as family-level notes rather than being rendered as records;
148 such notes were captured across the dataset.
Record selection
The dataset is a representative sample, not an exhaustive listing: CAZy assigns millions of gene sequences to its GT families, and 2874 entries were selected from that pool to represent 138 families. Selection applied three tiers in order, and the resulting composition is measurable in the published records:
- Primary — UniProt annotation level 4 or 5 in a species on the model organism list: 919 records.
- Secondary — annotation level 4 or 5 in a species outside that list, admitted where the model organisms gave thin or no coverage: 1839 records. 23 of the 138 families contain no listed model organism at all.
- Relaxed — where a family had no member meeting either test, the species and annotation filters were opened and a representative set chosen: 116 records below level 4, in the 47 families that hold no level 4–5 member in any species.
Records from the third tier are badged on their record page, and their curated enzymology should be treated as provisional. Because the tiers are applied per family rather than globally, family coverage is deliberately uneven — see the family index pages for per-family notes on how representation was chosen.
Record classification
The workbook encodes curation confidence as cell fill colours, documented on its Legend sheet. The build script reads those fills directly and converts them to semantic categories, so the classification shown on the website cannot drift from the source: model-organism entries with UniProt annotation level 4 or 5, well-annotated non-model entries, and entries with lower or unassigned annotation. A separate red fill on the annotation-level cell marks records below level 4, which are badged on the record page. Acceptor identifiers are likewise split into structurally verified PDB chemical component codes and locally defined userCCD modelling identifiers.
Record identifiers and file naming
Each record is written to
records/<FAMILY>/<GENE>_<ACCESSION>.html.
Combining gene symbol with UniProt accession keeps filenames stable and unique even where
the same symbol recurs across species, or where no symbol is assigned; a numeric suffix is
appended in the rare event of a residual collision. The UniProt accession is unique within
a family throughout the current dataset.
Site generation
The site is fully static, generated by tools/build_site.py. No
server-side component, database or build toolchain is required: pages can be opened directly
from the file system or served from any static web host. Interactive behaviour — table
sorting, column filtering, sequence copying, FASTA export and cross-family search —
is implemented in a single dependency-free script,
assets/js/site.js, operating on data already present in the page
or loaded from a generated JavaScript index.
Coverage and updates
Every CAZy GT family present in the source workbook is published: 138 families covering all 2874 curated records. Adding rows or whole families to the source workbook requires no change to the generator: families are discovered from the data, so a revised workbook is republished by rebuilding the site. The published dataset therefore always corresponds to one specific revision of the workbook, recorded in the build date shown in the footer of every page.
External resource linking
Accessions are resolved to UniProtKB, AlphaFold, InterPro, NCBI Gene, RCSB PDB (entries and ligand chemical components) and CAZy family pages. Links are constructed from validated identifier patterns, so malformed or absent identifiers are rendered as plain text rather than broken links.
