a2a68e8ad4ff5927b604b27898c183a519c9e5f4
angie
  Tue Feb 23 20:08:34 2021 -0800
Instead of replacing small subtrees (usher -k) with the new single subtree option (-K), make both (unless a large number of sequences are uploaded; then just -K).

diff --git src/hg/hgPhyloPlace/phyloPlace.h src/hg/hgPhyloPlace/phyloPlace.h
index 481c747..79957c3 100644
--- src/hg/hgPhyloPlace/phyloPlace.h
+++ src/hg/hgPhyloPlace/phyloPlace.h
@@ -87,30 +87,31 @@
 /* Parsed subtree from usher and derivative products. */
     {
     struct subtreeInfo *next;
     struct tempName *subtreeTn;           // Newick file from usher (may have condensed nodes)
     struct phyloTree *subtree;            // Parsed subtree (#*** with annotated muts?  shoudl we?_
     struct hash *subtreeIdToIx;           // Map of subtree nodes to VCF output sample order
     struct slName *subtreeUserSampleIds;  // List of user-uploaded samples in this subtree
     struct slName *subtreeNameList;       // List of leaf names with nicer names for cond. nodes
     };
 
 struct usherResults
 /* Tree+samples download file, sample placements, and subtrees parsed from usher output. */
     {
     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 *gClade;       // GISAID amino acid change clade
     char *lineage;      // Pangolin lineage
     char *country;      // Country in which sample was collected