5956c40955854fd83b75627124f6420518a78960 angie Wed Feb 24 20:51:42 2021 -0800 Add more columns from summary table to TSV summary file. Move PSL indel-tallying code upstream & store results for summaries. diff --git src/hg/hgPhyloPlace/phyloPlace.h src/hg/hgPhyloPlace/phyloPlace.h index 79957c3..74969b3 100644 --- src/hg/hgPhyloPlace/phyloPlace.h +++ src/hg/hgPhyloPlace/phyloPlace.h @@ -24,39 +24,43 @@ struct treeChoices /* Phylogenetic tree versions for the user to choose from. */ { char **protobufFiles; // Mutation annotated tree files in protobuf format for UShER char **metadataFiles; // Sample metadata a la GISAID's nextmeta download option char **sources; // GISAID or public char **descriptions; // Menu labels to describe the options to the user int count; // Number of choices (and size of each array) }; struct seqInfo /* User sequences, alignments and statistics */ { struct seqInfo *next; - struct dnaSeq *seq; - struct psl *psl; - struct singleNucChange *sncList; - struct singleNucChange *maskedSncList; - struct slRef *maskedReasonsList; - uint nCountStart; - uint nCountMiddle; - uint nCountEnd; - uint ambigCount; + struct dnaSeq *seq; // Uploaded sequence + struct psl *psl; // Alignment to reference (if FASTA uploaded) + struct singleNucChange *sncList; // SNVs in seq + struct singleNucChange *maskedSncList; // SNVs that were masked (not used for placement) + struct slRef *maskedReasonsList; // Reason (from Problematic Sites) for masking each SNV + uint nCountStart; // #Ns at beginning of seq + uint nCountMiddle; // #Ns not at beginning or end of seq + uint nCountEnd; // #Ns at end of seq + 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