1813d94a8d9108b9709cb48166b4980d0f02d839
angie
  Wed Sep 8 12:02:05 2021 -0700
Add coloring options for Nextstrain clade and Pango lineage assigned by usher (really by matUtils annotate) if metadata includes columns for those.

diff --git src/hg/hgPhyloPlace/phyloPlace.h src/hg/hgPhyloPlace/phyloPlace.h
index 98f1a96..6dc5188 100644
--- src/hg/hgPhyloPlace/phyloPlace.h
+++ src/hg/hgPhyloPlace/phyloPlace.h
@@ -117,41 +117,43 @@
     {
     struct tempName *bigTreePlusTn;      // Newick file: original tree plus user's samples
     struct hash *samplePlacements;       // Info about each sample's placement in the tree
     struct subtreeInfo *singleSubtreeInfo;  // Comprehensive subtree with all uploaded samples
     struct subtreeInfo *subtreeInfoList; // For each subtree: tree, file, node info etc.
     };
 
 struct sampleMetadata
 /* Information about a virus sample. */
     {
     char *strain;       // Strain name, usually of the form Country/ArbitraryId/YYYY-MM-DD
     char *epiId;        // GISAID EPI_ISL_[0-9]+ ID
     char *gbAcc;        // GenBank accession
     char *date;         // Sample collection date
     char *author;       // Author(s) to credit
-    char *nClade;       // Nextstrain year-letter clade
+    char *nClade;       // Nextstrain year-letter clade assigned by nextclade
     char *gClade;       // GISAID amino acid change clade
-    char *lineage;      // Pangolin lineage
+    char *lineage;      // Pango lineage assigned by pangolin
     char *country;      // Country in which sample was collected
     char *division;     // Administrative division in which sample was collected (country or state)
     char *location;     // Location in which sample was collected (city)
     char *countryExp;   // Country in which host was exposed to virus
     char *divExp;       // Administrative division in which host was exposed to virus
     char *origLab;      // Originating lab
     char *subLab;       // Submitting lab
     char *region;       // Continent on which sample was collected
+    char *nCladeUsher;  // Nextstrain clade according to annotated tree
+    char *lineageUsher; // Pango lineage according to annotated tree
     };
 
 struct geneInfo
 /* Information sufficient to determine whether a genome change causes a coding change. */
     {
     struct geneInfo *next;
     struct psl *psl;        // Alignment of transcript to genome
     struct dnaSeq *txSeq;   // Transcript sequence
     };
 
 struct tempName *vcfFromFasta(struct lineFile *lf, char *db, struct dnaSeq *refGenome,
                               boolean *informativeBases, struct slName **maskSites,
                               struct hash *treeNames,
                               struct slName **retSampleIds, struct seqInfo **retSeqInfo,
                               struct slPair **retFailedSeqs, struct slPair **retFailedPsls,