48ff31d7c310549df1111e86dcd3abd66abe6586
angie
  Wed Oct 24 16:37:39 2018 -0700
Alt haplotype and fix patch alignment tracks with links to multi-region mode (refs #18854)
* Adding altSeqLiftOverPsl and fixSeqListOverPsl as top-level tracks (release alpha).
* New 'db' option for baseColorUseSequence makes it fetch sequence from the current database
(or other database if specified) -- we don't need seq/extFile for alts and patches now that
they have been added to the .2bit.
* Special hgc handler for {alt,fix}SeqLiftOverPsl has links to view the alt/fix in multi-region
mode, to see the alignment details in the current position range, and to jump to the
corresponding position range in the browser.

diff --git src/hg/hgTracks/cds.c src/hg/hgTracks/cds.c
index dd47d20..bb28cb3 100644
--- src/hg/hgTracks/cds.c
+++ src/hg/hgTracks/cds.c
@@ -972,30 +972,38 @@
     mrnaSeq = newDnaSeq(cloneString(lf->extra), strlen(lf->extra), lf->extra);
     if (lf->orientation == -1)
 	reverseComplement(mrnaSeq->dna, mrnaSeq->size);
     }
 else if (sameString("lrg", seqSource))
     {
     struct lrg *lrg = lf->original;
     mrnaSeq = lrgReconstructSequence(lrg, database);
     }
 else if (startsWith("table ", seqSource))
     {
     char *table = seqSource;
     nextWord(&table);
     mrnaSeq = hGenBankGetMrna(database, name, table);
     }
+else if (startsWithWord("db", seqSource))
+    {
+    char *sourceDb = seqSource;
+    nextWord(&sourceDb);
+    if (isEmpty(sourceDb))
+        sourceDb = database;
+    mrnaSeq = hChromSeq(sourceDb, name, 0, 0);
+    }
 else
     mrnaSeq = hGenBankGetMrna(database, name, NULL);
 
 if (mrnaSeq != NULL)
     touppers(mrnaSeq->dna);
 return mrnaSeq;
 }
 
 
 
 static void makeCdsShades(struct hvGfx *hvg, Color *cdsColor)
 /* setup CDS colors */
 {
 cdsColor[CDS_ERROR] = hvGfxFindColorIx(hvg,0,0,0); 
 cdsColor[CDS_ODD] = hvGfxFindColorIx(hvg,CDS_ODD_R,CDS_ODD_G,CDS_ODD_B);