d354f7c4ff9867b3a64ecaadba87ba2381371e27
angie
  Mon Nov 7 16:46:38 2022 -0800
In Nextstrain view (JSON), show the Nextstrain clade and Pango lineage assigned by usher for uploaded samples.  Make Pango lineage the default coloring, and add a filter to highlight uploaded samples so user immediately sees the uploaded samples' lineage(s) and placement in the subtree.  Also, for uploaded names/IDs, don't truncate at first comma until we check whether line is a list of IDs / ID ranges.

diff --git src/hg/hgPhyloPlace/phyloPlace.h src/hg/hgPhyloPlace/phyloPlace.h
index 59dcd38..2affbc5 100644
--- src/hg/hgPhyloPlace/phyloPlace.h
+++ src/hg/hgPhyloPlace/phyloPlace.h
@@ -197,31 +197,32 @@
 void serverSetThreadCount(char *db, int val);
 /* Send thread command and value to usher server. */
 
 void serverSetTimeout(char *db, int val);
 /* Send timeout command and value (in seconds) to usher server. */
 
 struct slPair *getAaMutations(struct singleNucChange *sncList, struct geneInfo *geneInfoList,
                               struct seqWindow *gSeqWin);
 /* Given lists of SNVs and genes, return a list of pairs of { gene name, AA change list }. */
 
 struct geneInfo *getGeneInfoList(char *bigGenePredFile, struct dnaSeq *refGenome);
 /* If config.ra has a source of gene annotations, then return the gene list. */
 
 void treeToAuspiceJson(struct subtreeInfo *sti, char *db, struct geneInfo *geneInfoList,
                        struct seqWindow *gSeqWin, struct hash *sampleMetadata,
-                       struct hash *sampleUrls, char *jsonFile, char *source);
+                       struct hash *sampleUrls, struct hash *samplePlacements,
+                       char *jsonFile, char *source);
 /* Write JSON for tree in Nextstrain's Augur/Auspice V2 JSON format
  * (https://github.com/nextstrain/augur/blob/master/augur/data/schema-export-v2.json). */
 
 struct tempName *writeCustomTracks(char *db, struct tempName *vcfTn, struct usherResults *ur,
                                    struct slName *sampleIds, char *source, int fontHeight,
                                    struct phyloTree **retSampleTree, int *pStartTime);
 /* Write one custom track per subtree, and one custom track with just the user's uploaded samples. */
 
 
 struct sampleMetadata *metadataForSample(struct hash *sampleMetadata, char *sampleId);
 /* Look up sampleId in sampleMetadata, by accession if sampleId seems to include an accession. */
 
 struct phyloTree *phyloPruneToIds(struct phyloTree *node, struct slName *sampleIds);
 /* Prune all descendants of node that have no leaf descendants in sampleIds. */