1b7f07fe5eb75a017ecf0305de99e202e6156e3f
markd
  Mon Jan 30 17:42:19 2017 -0800
fixed hgc crash on transMap V2 tracks

diff --git src/hg/hgc/transMapClick.c src/hg/hgc/transMapClick.c
index bc7f82e..e2b4f9c 100644
--- src/hg/hgc/transMapClick.c
+++ src/hg/hgc/transMapClick.c
@@ -105,47 +105,52 @@
         return "rbest";
     }
 assert(FALSE);
 return NULL;
 }
 
 static struct bigTransMap *buildFakeBigTransMapRec(struct transMapInfo *info,
                                                    struct transMapSrc *src,
                                                    struct transMapGene *gene)
 /* build a partial bigTransMap record from the tables; only metadata fields
  * are filled in. */
 {
 struct bigTransMap *bigTransMap;
 AllocVar(bigTransMap);
 bigTransMap->seqType = 1;
+bigTransMap->name = cloneString(src->id);
 bigTransMap->srcDb = cloneString(src->db);
 bigTransMap->srcChrom = cloneString(src->chrom);
 bigTransMap->srcChromStart = src->chromStart;
 bigTransMap->srcChromEnd = src->chromEnd;
 bigTransMap->srcScore = (int)(1000.0*src->ident);
 bigTransMap->srcAligned = (int)(1000.0*src->aligned);
 if (gene != NULL)
     {
     bigTransMap->geneName = cloneString(gene->geneName);
     bigTransMap->geneId = cloneString(gene->geneId);
+    bigTransMap->oCDS = cloneString(gene->cds);
     }
 bigTransMap->geneType = cloneString(guessTranscriptType(gene)); // set for ESTs
 bigTransMap->transcriptType = cloneString(guessTranscriptType(gene));
 bigTransMap->chainType = cloneString(chainSubsetToBigStr(info->chainSubset));
 bigTransMap->commonName = hOrganism(info->srcDb);
 if (bigTransMap->commonName == NULL)
     bigTransMap->commonName = cloneString("");
+bigTransMap->scientificName = hScientificName(info->srcDb);
+if (bigTransMap->scientificName == NULL)
+    bigTransMap->scientificName = cloneString("");
 bigTransMap->orgAbbrev = cloneString(emptyForNull(hOrgShortForDb(info->srcDb)));
 return bigTransMap;
 }
 
 static struct transMapBag *transMapBagLoadDb(struct trackDb *tdb, char *mappedId)
 /* load information from various tables for database version of transmap */
 {
 struct sqlConnection *conn = hAllocConn(database);
 struct transMapBag *bag;
 AllocVar(bag);
 bag->psl = getAlignments(conn, tdb->table, mappedId);
 
 char *transMapInfoTbl = trackDbRequiredSetting(tdb, transMapInfoTblSetting);
 struct transMapInfo *info = transMapInfoQuery(conn, transMapInfoTbl, mappedId);