aba8125cb532df17beb7c7c9bc8467a43d09e3d6 braney Wed Feb 10 13:39:27 2016 -0800 changes to allow for GenBank metadata to be held in a common table. #16809 diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c index 78258ff..af94864 100644 --- src/hg/hgTrackUi/hgTrackUi.c +++ src/hg/hgTrackUi/hgTrackUi.c @@ -35,30 +35,31 @@ #include "hapmapSnps.h" #include "nonCodingUi.h" #include "expRecord.h" #include "wikiTrack.h" #include "hubConnect.h" #include "trackHub.h" #include "pcrResult.h" #include "dgv.h" #include "transMapStuff.h" #include "vcfUi.h" #include "bbiFile.h" #include "ensFace.h" #include "microarray.h" #include "trackVersion.h" #include "gtexUi.h" +#include "genbank.h" #ifdef USE_HAL #include "halBlockViz.h" #endif #define MAIN_FORM "mainForm" #define WIGGLE_HELP_PAGE "../goldenPath/help/hgWiggleTrackHelp.html" struct cart *cart = NULL; /* Cookie cart with UI settings */ char *database = NULL; /* Current database. */ char *chromosome = NULL; /* Chromosome. */ struct hash *trackHash = NULL; /* Hash of all tracks in database. */ void tfbsConsSitesUi(struct trackDb *tdb) { @@ -1701,31 +1702,31 @@ char *geneLabel; safef(varName, sizeof(varName), "%s.label", tdb->track); geneLabel = cartUsualString(cart, varName, "OMIM ID"); printf("<BR><B>Label:</B> "); radioButton(varName, geneLabel, "OMIM ID"); radioButton(varName, geneLabel, "OMIM gene or syndrome"); radioButton(varName, geneLabel, "UCSC gene symbol"); } void knownGeneIdConfig(struct trackDb *tdb) /* Put up gene ID track controls */ { struct sqlConnection *conn = hAllocConn(database); char query[256]; char *omimAvail = NULL; -sqlSafef(query, sizeof(query), "select kgXref.kgID from kgXref,refLink where kgXref.refseq = refLink.mrnaAcc and refLink.omimId != 0 limit 1"); +sqlSafef(query, sizeof(query), "select kgXref.kgID from kgXref,%s r where kgXref.refseq = r.mrnaAcc and r.omimId != 0 limit 1", refLinkTable); omimAvail = sqlQuickString(conn, query); hFreeConn(&conn); char *isGencode = trackDbSetting(tdb, "isGencode"); printf("<B>Label:</B> "); labelMakeCheckBox(tdb, "gene", "gene symbol", FALSE); if (isGencode) labelMakeCheckBox(tdb, "gencodeId", "GENCODE Transcript ID", FALSE); labelMakeCheckBox(tdb, "kgId", "UCSC Known Gene ID", FALSE); labelMakeCheckBox(tdb, "prot", "UniProt Display ID", FALSE); if (omimAvail != NULL) { char sym[32]; safef(sym, sizeof(sym), "omim%s", cartString(cart, "db")); @@ -1842,31 +1843,31 @@ labelMakeCheckBox(tdb, "acc", "accession", FALSE); printf("<BR>\n"); baseColorDrawOptDropDown(cart, tdb); } void refGeneUI(struct trackDb *tdb) /* Put up refGene or xenoRefGene gene ID track controls, with checkboxes */ { /* Figure out if OMIM database is available. */ int omimAvail = 0; if (sameString(tdb->track, "refGene")) { struct sqlConnection *conn = hAllocConn(database); char query[128]; - sqlSafef(query, sizeof(query), "select refLink.omimId from refLink, refGene where refLink.mrnaAcc = refGene.name and refLink.omimId != 0 limit 1"); + sqlSafef(query, sizeof(query), "select r.omimId from %s r, refGene where r.mrnaAcc = refGene.name and r.omimId != 0 limit 1", refLinkTable); omimAvail = sqlQuickNum(conn, query); hFreeConn(&conn); } /* Put up label line - boxes for gene, accession or maybe OMIM. */ printf("<BR><B>Label:</B> "); labelMakeCheckBox(tdb, "gene", "gene", TRUE); labelMakeCheckBox(tdb, "acc", "accession", FALSE); if (omimAvail != 0) { char sym[32]; safef(sym, sizeof(sym), "omim%s", cartString(cart, "db")); labelMakeCheckBox(tdb, sym, "OMIM ID", FALSE); } printf("<BR>\n"); @@ -3451,30 +3452,31 @@ return trackDbForPseudoTrack(OLIGO_MATCH_TRACK_NAME, OLIGO_MATCH_TRACK_LABEL, OLIGO_MATCH_TRACK_LONGLABEL, tvHide, TRUE); } void doMiddle(struct cart *theCart) /* Write body of web page. */ { struct trackDb *tdbList = NULL; struct trackDb *tdb = NULL; char *track; struct customTrack *ct = NULL, *ctList = NULL; char *ignored; cart = theCart; track = cartString(cart, "g"); getDbAndGenome(cart, &database, &ignored, NULL); +initGenbankTableNames(database); chromosome = cartUsualString(cart, "c", hDefaultChrom(database)); trackHash = trackHashMakeWithComposites(database,chromosome,&tdbList,FALSE); if (sameWord(track, WIKI_TRACK_TABLE)) tdb = trackDbForWikiTrack(); else if (sameWord(track, RULER_TRACK_NAME)) /* special handling -- it's not a full-fledged track */ tdb = trackDbForRuler(); else if (sameWord(track, OLIGO_MATCH_TRACK_NAME)) tdb = trackDbForOligoMatch(); else if (sameWord(track, CUTTERS_TRACK_NAME)) tdb = trackDbForPseudoTrack(CUTTERS_TRACK_NAME, CUTTERS_TRACK_LABEL, CUTTERS_TRACK_LONGLABEL, tvHide, TRUE); else if (isCustomTrack(track)) { ctList = customTracksParseCart(database, cart, NULL, NULL);