7a5533f3131b50e00f7568767cf837c4c418b6a0
kent
  Thu May 12 06:40:55 2022 -0700
Outputting all genes with same name so get refSeq on both alts and main chromosomes.

diff --git src/hg/utils/gencodeGeneSymVerTx/gencodeGeneSymVerTx.c src/hg/utils/gencodeGeneSymVerTx/gencodeGeneSymVerTx.c
index 39595af..3d5d551 100644
--- src/hg/utils/gencodeGeneSymVerTx/gencodeGeneSymVerTx.c
+++ src/hg/utils/gencodeGeneSymVerTx/gencodeGeneSymVerTx.c
@@ -398,33 +398,34 @@
     {
     v->geneList = makeGencodeGeneList(v);
     v->gpHash = hashGenePredFile(v->genePredName);
     }
 
 versionList = slCat(refSeqVersionList, versionList);
 
 /* Now make output */
 FILE *f = mustOpen(output, "w");
 fprintf(f, "#gene\tsymbol\tgencodeVersion\tucscDb\tchrom\tchromStart\tchromEnd\ttranscript\tscore\tstrand\tthickStart\tthickEnd\titemRgb\tblockCount\tblockSizes\tblockStarts\n");
 for (v = versionList; v != NULL; v = v->next)
     {
     struct gene *gene;
     for (gene = v->geneList; gene != NULL; gene = gene->next)
         {
-	struct genePred *gp = hashFindVal(v->gpHash, gene->bestTx->name);
-	if (gp != NULL)
+	struct hashEl *hel;
+	for (hel = hashLookup(v->gpHash, gene->bestTx->name); hel!=NULL; hel = hashLookupNext(hel))
 	    {
+	    struct genePred *gp = hel->val;
 	    fprintf(f, "%s\t%s\t%s\t%s\t",   
 		gene->name, gene->symbol, v->name, v->ucscDb);
 	    /* Print scalar bed fields. */
 	    fprintf(f, "%s\t", gp->chrom);
 	    fprintf(f, "%u\t", gp->txStart);
 	    fprintf(f, "%u\t", gp->txEnd);
 	    fprintf(f, "%s\t", gene->bestTx->name);
 	    fprintf(f, "%u\t", 0);
 	    fprintf(f, "%s\t", gp->strand);
 	    fprintf(f, "%u\t", gp->cdsStart);
 	    fprintf(f, "%u\t", gp->cdsEnd);
 	    fprintf(f, "%u\t", 0);
 	    fprintf(f, "%u\t", gp->exonCount);
 
 	    /* Print exon-by-exon fields. */