c385c1661b72541e1e8fb28187323f3b31c431e7 angie Fri May 29 18:24:49 2026 -0700 If new columns are present in ripples server output then use them to draw RIVET-like recombination diagram in pop-up. diff --git src/hg/hgPhyloPlace/phyloPlace.h src/hg/hgPhyloPlace/phyloPlace.h index d620be7a60e..19e3e3286f3 100644 --- src/hg/hgPhyloPlace/phyloPlace.h +++ src/hg/hgPhyloPlace/phyloPlace.h @@ -135,30 +135,33 @@ uint donorNumDesc; // Number of descendants of donor node uint acceptorNumDesc; // Number of descendants of acceptor node uint bp1Min; // First breakpoint minimum coordinate uint bp1Max; // First breakpoint maximum coordinate uint bp2Min; // Second breakpoint minimum coordinate uint bp2Max; // Second breakpoint maximum coordinate char *recombClade; // First clade annotation assigned to recombinant node char *recombLineage; // Second clade annotation assigned to recombinant node char *donorClade; // First clade annotation assigned to donor node char *donorLineage; // Second clade annotation assigned to donor node char *acceptorClade; // First clade annotation assigned to acceptor node char *acceptorLineage; // Second clade annotation assigned to acceptor node char *representative; // Representative descendant of recombinant node uint originalParsimony; // Parsimony score of recombinant node in tree uint parsimonyImprovement; // Reduction in parsimony score given parents/breakpoints + char *recombMutations; // Comma-separated list of mutations found in recombinant + char *donorMutations; // Comma-separated list of mutations found in donor + char *acceptorMutations; // Comma-separated list of mutations found in acceptor }; 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 recombinantInfo *recombinants;// Potential recombinants found by ripples search struct hash *recombinantDescendants; // Leaf descendants of each potential recombinant node }; struct sampleMetadataStore /* Storage for sample metadata: hash of array of strings for named columns. */ @@ -304,16 +307,19 @@ /* Print out a report to stderr of how much time something took. */ boolean hgPhyloPlaceEnabled(); /* Return TRUE if hgPhyloPlace is enabled in hg.conf and db wuhCor1 exists. */ boolean phyloPlaceSamples(struct lineFile *lf, char *db, char *refName, char *defaultProtobuf, boolean doMeasureTiming, int subtreeSize, struct trackLayout *tl, struct cart *cart); /* Given a lineFile that contains either FASTA, VCF, or a list of sequence names/ids: * If FASTA/VCF, then prepare VCF for usher; if that goes well then run usher, report results, * make custom track files. * If list of seq names/ids, then attempt to find their full names in the protobuf, run matUtils * to make subtrees, show subtree results. * Return TRUE if we were able to get at least some results for the user's input. */ +void debugRecombinantDisplay(struct cart *cart); +/* Add recombinantData and buttons to page for quick-turnaround debugging of Javascript. */ + #endif //_PHYLO_PLACE_H_