256b87a01941403ecb6d5b6ce2ed34aa0fd77514
markd
  Fri Dec 19 21:50:42 2014 -0800
added support for transmap V3 which includes source databases in mapped alignment  idenitifier
diff --git src/hg/hgc/transMapClick.c src/hg/hgc/transMapClick.c
index b071b34..cd366e4 100644
--- src/hg/hgc/transMapClick.c
+++ src/hg/hgc/transMapClick.c
@@ -51,31 +51,31 @@
 AllocVar(bag);
 bag->psl = getAlignments(conn, tdb->table, mappedId);
 
 char *transMapInfoTbl = trackDbRequiredSetting(tdb, transMapInfoTblSetting);
 bag->info = transMapInfoQuery(conn, transMapInfoTbl, mappedId);
 
 if (getSrcRec)
     {
     char *transMapSrcTbl = trackDbRequiredSetting(tdb, transMapSrcTblSetting);
     bag->src = transMapSrcQuery(conn, transMapSrcTbl, bag->info->srcDb, bag->info->srcId);
     }
 
 char *transMapGeneTbl = trackDbSetting(tdb, transMapGeneTblSetting);
 if (transMapGeneTbl != NULL)
     bag->gene = transMapGeneQuery(conn, transMapGeneTbl,
-                                  bag->info->srcDb, transMapIdToAcc(bag->info->srcId));
+                                  bag->info->srcDb, transMapIdToSeqId(bag->info->srcId));
 bag->srcDbIsActive = hDbIsActive(bag->info->srcDb);
 return bag;
 }
 
 static void transMapBagFree(struct transMapBag **bagPtr)
 /* free the bag */
 {
 struct transMapBag *bag = *bagPtr;
 if (bag != NULL)
     {
     pslFree(&bag->psl);
     transMapInfoFree(&bag->info);
     transMapSrcFree(&bag->src);
     transMapGeneFree(&bag->gene);
     freez(bagPtr);
@@ -224,39 +224,39 @@
 
 static struct dnaSeq *getCdnaSeq(struct trackDb *tdb, char *name)
 /* look up sequence name in seq and extFile tables specified
  * for base coloring. */
 {
 /* FIXME: this is really a rip off of some of the code in
  * hgTracks/cds.c; really need to centralize it somewhere */
 char *spec = trackDbRequiredSetting(tdb, BASE_COLOR_USE_SEQUENCE);
 char *specCopy = cloneString(spec);
 
 // value is: extFile seqTbl extFileTbl
 char *words[3];
 int nwords = chopByWhite(specCopy, words, ArraySize(words));
 if ((nwords != ArraySize(words)) || !sameString(words[0], "extFile"))
     errAbort("invalid %s track setting: %s", BASE_COLOR_USE_SEQUENCE, spec);
-struct dnaSeq *seq = hDnaSeqGet(NULL, name, words[1], words[2]);
+struct dnaSeq *seq = hDnaSeqMustGet(NULL, name, words[1], words[2]);
 freeMem(specCopy);
 return seq;
 }
 
 void transMapShowCdnaAli(struct trackDb *tdb, char *mappedId)
 /* Show alignment for mappedId, mostly ripped off from htcCdnaAli */
 {
 struct sqlConnection *conn = hAllocConn(database);
 struct transMapBag *bag = transMapBagLoad(conn, tdb, mappedId, FALSE);
 struct genbankCds cds;
 if ((bag->gene == NULL) || (strlen(bag->gene->cds) == 0)
     || !genbankCdsParse(bag->gene->cds, &cds))
     ZeroVar(&cds);  /* can't get or parse cds */
-struct dnaSeq *seq = getCdnaSeq(tdb, transMapIdToAcc(mappedId));
+struct dnaSeq *seq = getCdnaSeq(tdb, transMapIdToSeqId(mappedId));
 
 writeFramesetType();
 puts("<HTML>");
 printf("<HEAD>\n<TITLE>%s vs Genomic</TITLE>\n</HEAD>\n\n", mappedId);
 showSomeAlignment(bag->psl, seq, gftDna, 0, seq->size, NULL, cds.start, cds.end);
 dnaSeqFree(&seq);
 transMapBagFree(&bag);
 hFreeConn(&conn);
 }