f22f0b5f1d467e570dad2407813748889408d9bd
angie
  Tue Sep 14 09:38:11 2021 -0700
Don't rely on outputs printed only when usher is compiled with -DDEBUG=1; those are going away in server mode.  We already weren't showing the 'Best nodes' output, so just remove that code.  We already have sample mutations in seqInfo->sncList, so just reformat that into placementInfo->sampleMuts.

diff --git src/hg/hgPhyloPlace/phyloPlace.h src/hg/hgPhyloPlace/phyloPlace.h
index 6dc5188..ba176f93 100644
--- src/hg/hgPhyloPlace/phyloPlace.h
+++ src/hg/hgPhyloPlace/phyloPlace.h
@@ -56,53 +56,47 @@
     uint ambigCount;                        // # ambiguous IUPAC bases
     char *insRanges;                        // ranges and sequences inserted into reference
     char *delRanges;                        // ranges and sequences deleted from reference
     uint insBases;                          // total #bases inserted into reference
     uint delBases;                          // total #bases deleted from reference
 };
 
 struct variantPathNode
 /* A list of these gives a path from phylo tree root to some node (usually user seq leaf). */
     {
     struct variantPathNode *next;
     char *nodeName;                   // Either a numeric internal node ID or the user seq name
     struct singleNucChange *sncList;  // One or more single nucleotide changes associated with node
     };
 
-struct bestNodeInfo
-    {
-    struct bestNodeInfo *next;
-    char *name;                           // Node name
-    struct variantPathNode *variantPath;  // Mutations assigned to nodes along path from root->node
-    boolean isSibling;                    // Placement would be as sibling of node (not child)
-    };
-
 struct baseVal
 /* List of imputed base positions and values */
     {
     struct baseVal *next;
     int chromStart;         // 0-based position
     char *val;              // nucleotide base(s)
     };
 
 struct placementInfo
 /* Info about a sample's mutations and placement in the phylo tree */
     {
     char *sampleId;                       // Sample name from FASTA or VCF header
     struct slName *sampleMuts;            // Differences with the reference genome
+                                          // -- NOTE: runUsher used to make this from stderr of
+                                          // usher compiled with -DDEBUG=1; now caller must add it.
+                                          // (struct seqInfo sncList has the same info)
     struct variantPathNode *variantPath;  // Mutations assigned to nodes along path from root
-    struct bestNodeInfo *bestNodes;       // Other nodes identified as equally parsimonious
     struct baseVal *imputedBases;         // Ambiguous bases imputed to ref/alt [ACGT]
     int parsimonyScore;                   // Parsimony cost of placing sample
     int bestNodeCount;                    // Number of equally parsimonious placements
     char *nextClade;                      // Nextstrain clade assigned by UShER
     char *pangoLineage;                   // Pango lineage assigned by UShER
     // Fields above are parsed out of usher result files; below are added on later.
     char *nearestNeighbor;                // Nearest neighbor in phylogenetic tree/NULL if not found
     char *neighborLineage;                // Lineage of nearest neighbor/NULL if not found
     };
 
 struct subtreeInfo
 /* Parsed subtree from usher and derivative products. */
     {
     struct subtreeInfo *next;
     struct tempName *subtreeTn;           // Newick file from usher (may have condensed nodes)