Skill Tracer
Skills › Scientific Agent Skills › pathogen-variant-surveillance › lineage-nomenclature.md

lineage-nomenclature.md

89 lines · skills/pathogen-variant-surveillance/references/lineage-nomenclature.md at 5f2bc03

Open on GitHub
1# Lineage nomenclature
2
3Reviewed 2026-10-01 using current Pango files, official naming/tool documentation, and the live
4LAPIS schemas. Labels below illustrate naming structure, never current prevalence or dominance.
5

Lineage nomenclature

Reviewed 2026-10-01 using current Pango files, official naming/tool documentation, and the live LAPIS schemas. Labels below illustrate naming structure, never current prevalence or dominance.

Raw lines 1 to 5
6## Pango designation versus database assignment
7
8The [Pango designation repository](https://github.com/cov-lineages/pango-designation) is the
9source for SARS-CoV-2 designations. Its current `lineage_notes.txt` contains descriptions and
10withdrawn/redesignated names marked with `*`; `pango_designation/alias_key.json` resolves aliases.
11Do not bake the number of designations or withdrawals into an answer: it changes continuously.
13Ordinary alias entries are strings. Repeated expansion follows the alias chain until it reaches
14A/B or a recombinant root. Recombinant entries are lists of parental lineage descriptions, not
15one dotted ancestral path. Expand an ordinary alias before looking for recombinant ancestry.
16A recombinant's descendants still have ordinary parent/child relationships within that lineage.
17The live files, not reasoning from the spelling, determine these relationships.
19The scripts fetch current files independently and record content SHA-256. Their HTTP ETags are
20not Git blob/commit IDs. For archival work, retain both files from one explicit repository
21commit; distinguish that historical naming snapshot from a fresh check of designation status.
22A source failure must not turn a cached assignment into a claim of current designation.
24LAPIS `pangoLineage` and `nextcladePangoLineage` share naming vocabulary but can disagree because
25assignment pipelines and datasets differ. A withdrawn name can remain assigned to records.
26Indexed membership establishes that a database can query a name, not that Pango still designates
27it. `resolve_lineage.py` uses Pango notes as the authority for Pango status, and returns failure
28for unverified names. Counts on indexed fields include descendants; the provenance says so.

Pango designation versus database assignment

The Pango designation repository is the source for SARS-CoV-2 designations. Its current lineage_notes.txt contains descriptions and withdrawn/redesignated names marked with *; pango_designation/alias_key.json resolves aliases. Do not bake the number of designations or withdrawals into an answer: it changes continuously.

Ordinary alias entries are strings. Repeated expansion follows the alias chain until it reaches A/B or a recombinant root. Recombinant entries are lists of parental lineage descriptions, not one dotted ancestral path. Expand an ordinary alias before looking for recombinant ancestry. A recombinant's descendants still have ordinary parent/child relationships within that lineage. The live files, not reasoning from the spelling, determine these relationships.

The scripts fetch current files independently and record content SHA-256. Their HTTP ETags are not Git blob/commit IDs. For archival work, retain both files from one explicit repository commit; distinguish that historical naming snapshot from a fresh check of designation status. A source failure must not turn a cached assignment into a claim of current designation.

LAPIS pangoLineage and nextcladePangoLineage share naming vocabulary but can disagree because assignment pipelines and datasets differ. A withdrawn name can remain assigned to records. Indexed membership establishes that a database can query a name, not that Pango still designates it. resolve_lineage.py uses Pango notes as the authority for Pango status, and returns failure for unverified names. Counts on indexed fields include descendants; the provenance says so.

Raw lines 6 to 29
30## Nextstrain, Nextclade and WHO
32| Field/system | Meaning |
33| --- | --- |
34| `pangoLineage` | fine-grained Pango assignment supplied by the dataset |
35| `nextcladePangoLineage` | assignment from Nextclade's versioned reference dataset |
36| `nextstrainClade` | a broader Nextstrain naming system, with deployment-specific labels |
37| `whoClade` | historical WHO-label metadata, often absent; not an authoritative current tracking table |
39Do not claim all recombinants always collapse into one Nextstrain label. Inspect actual values,
40the current reference dataset, and the question's required resolution. Likewise a null `whoClade`
41is not evidence that WHO's tracking system is retired. Consult the current
42[WHO tracking page](https://www.who.int/activities/tracking-SARS-CoV-2-variants) for official
43labels/classifications; do not invent Greek labels or infer a risk classification from a name.
45The instance may expose `nextcladeDatasetVersion`, which should accompany assignment comparisons.
46For separately authorized Nextclade analysis, the official CLI uses `nextclade dataset list`,
47`nextclade dataset get` and `nextclade run --input-dataset`. Record tool version, dataset name,
48tag/version and reference. Refresh for a current naming task; pin for reproducible reruns. Do
49not treat a dataset-server root as an inference endpoint or silently replace a study's dataset.
50These commands are documentation-reviewed here, not locally executed.
51[Official Nextclade usage](https://docs.nextstrain.org/projects/nextclade/en/stable/user/nextclade-cli/usage.html).

Nextstrain, Nextclade and WHO

Field/systemMeaning
pangoLineagefine-grained Pango assignment supplied by the dataset
nextcladePangoLineageassignment from Nextclade's versioned reference dataset
nextstrainCladea broader Nextstrain naming system, with deployment-specific labels
whoCladehistorical WHO-label metadata, often absent; not an authoritative current tracking table

Do not claim all recombinants always collapse into one Nextstrain label. Inspect actual values, the current reference dataset, and the question's required resolution. Likewise a null whoClade is not evidence that WHO's tracking system is retired. Consult the current WHO tracking page for official labels/classifications; do not invent Greek labels or infer a risk classification from a name.

The instance may expose nextcladeDatasetVersion, which should accompany assignment comparisons. For separately authorized Nextclade analysis, the official CLI uses nextclade dataset list, nextclade dataset get and nextclade run --input-dataset. Record tool version, dataset name, tag/version and reference. Refresh for a current naming task; pin for reproducible reruns. Do not treat a dataset-server root as an inference endpoint or silently replace a study's dataset. These commands are documentation-reviewed here, not locally executed. Official Nextclade usage.

Raw lines 30 to 52
53## Influenza
55| Instance | Reviewed fields | Interpretation |
56| --- | --- | --- |
57| `h3n2`, `h1n1pdm` | `cladeHA`, `cladeNA` | separate segment-derived clade calls |
58| `h5n1` | `clade` | HA clade; no whole-genome genotype field in the reviewed schema |
59| `influenza-a` | `subtypeHA`, `subtypeNA` | HA and NA subtype, not whole-genome genotype |
61HA and NA labels describe different segments; their differing values alone do not diagnose
62reassortment. These analyses need their own phylogenetic context. `unassigned` is a genuine
63category. Missing calls are different from it; retain both in denominator accounting.
65H5N1 HA clade labels and whole-genome genotypes are different entities. A query for a clade
66cannot produce a genotype count, and neither geography nor host can substitute for genotype
67assignment. [USDA GenoFLU](https://github.com/USDA-VS/GenoFLU) describes a specialist genotype
68workflow for North American H5N1 clade 2.3.4.4b sequences. Its scope and database do not generalize
69to every influenza genome. Genotyping is outside these scripts and was not executed in this audit.

Influenza

InstanceReviewed fieldsInterpretation
h3n2, h1n1pdmcladeHA, cladeNAseparate segment-derived clade calls
h5n1cladeHA clade; no whole-genome genotype field in the reviewed schema
influenza-asubtypeHA, subtypeNAHA and NA subtype, not whole-genome genotype

HA and NA labels describe different segments; their differing values alone do not diagnose reassortment. These analyses need their own phylogenetic context. unassigned is a genuine category. Missing calls are different from it; retain both in denominator accounting.

H5N1 HA clade labels and whole-genome genotypes are different entities. A query for a clade cannot produce a genotype count, and neither geography nor host can substitute for genotype assignment. USDA GenoFLU describes a specialist genotype workflow for North American H5N1 clade 2.3.4.4b sequences. Its scope and database do not generalize to every influenza genome. Genotyping is outside these scripts and was not executed in this audit.

Raw lines 53 to 70
71## Other reviewed instances
73| Instance | Lineage-like fields | Descendant support |
74| --- | --- | --- |
75| `mpox` | `clade`, `outbreakLineage`, `lineage` | `outbreakLineage` indexed |
76| `rsv-a`, `rsv-b` | `lineage`, `subtype` | `lineage` indexed |
77| `dengue` | `lineage`, `serotype` | `lineage` indexed |
78| `measles` | `genotype` | unindexed |
79| `west-nile` | `lineage` | unindexed |
80| `cchf` | `lineage_S` | indexed in the 2026-10-01 schema; segment-specific |
81| `hmpv` | `lineage` | indexed |
82| `ebola-zaire`, `ebola-sudan` | none | counts/date analysis possible; no automatic lineage choice |
84Keep original case for non-Pango labels, particularly `Ia`/`Ib` or composite outbreak labels.
85`resolve_lineage.py` prints alternate candidate fields. Its automatic choice is a convenience;
86select the field that answers the question, and report whether descendants were included.
87The [Pathoplexus API guide](https://pathoplexus.org/docs/how-to/search-download-seqs-api) and each
88instance's `/sample/databaseConfig` provide deployment-specific field names. A naming field
89being indexed does not make it a validated phenotype or transmission history.

Other reviewed instances

InstanceLineage-like fieldsDescendant support
mpoxclade, outbreakLineage, lineageoutbreakLineage indexed
rsv-a, rsv-blineage, subtypelineage indexed
denguelineage, serotypelineage indexed
measlesgenotypeunindexed
west-nilelineageunindexed
cchflineage_Sindexed in the 2026-10-01 schema; segment-specific
hmpvlineageindexed
ebola-zaire, ebola-sudannonecounts/date analysis possible; no automatic lineage choice

Keep original case for non-Pango labels, particularly Ia/Ib or composite outbreak labels. resolve_lineage.py prints alternate candidate fields. Its automatic choice is a convenience; select the field that answers the question, and report whether descendants were included. The Pathoplexus API guide and each instance's /sample/databaseConfig provide deployment-specific field names. A naming field being indexed does not make it a validated phenotype or transmission history.

Raw lines 71 to 89