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("
Label: ");
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("Label: ");
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("
\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("
Label: ");
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("
\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);