bffbb000a3df4b88a8117ea5f852ab3abeea6e17
angie
Mon Sep 24 14:42:01 2018 -0700
Added a new mode to hgSuggest: altOrPatch, to match alt haplo or fix patch sequence names. Use it in hgTracks' multi-region dialog. Make the dialog inputs activate their respective radio buttons. refs #18854
diff --git src/hg/hgTracks/config.c src/hg/hgTracks/config.c
index b7f825f..1f4d2e9 100644
--- src/hg/hgTracks/config.c
+++ src/hg/hgTracks/config.c
@@ -674,48 +674,66 @@
hPrintf("Show only one transcript using an ID from %s : ", emGeneTrack->shortLabel);
char *trans = cartUsualString(cart, "singleTransId", singleTransId);
char sql[1024];
sqlSafef(sql, sizeof sql, "select name from %s where name='%s'", emGeneTable, trans);
char *result = sqlQuickString(conn, sql);
if (!result)
{
sqlSafef(sql, sizeof sql, "select name from %s limit 1", emGeneTable);
trans = sqlQuickString(conn, sql);
}
hTextVar("singleTransId", trans, 20);
hPrintf("\n");
}
*/
-if (conn && sqlTableExists(conn, "altLocations"))
+if (conn)
+ {
+ boolean altLocExists = sqlTableExists(conn, "altLocations");
+ boolean fixLocExists = sqlTableExists(conn, "fixLocations");
+ if (altLocExists || fixLocExists)
{
hPrintf("
");
- cgiMakeRadioButton("virtModeType", "singleAltHaplo", sameWord("singleAltHaplo", virtModeType));
+ cgiMakeRadioButton("virtModeType", "singleAltHaplo",
+ sameWord("singleAltHaplo", virtModeType));
hPrintf(" | ");
hPrintf("Show one alternate haplotype, placed on its chromosome, using ID: ");
char *haplo = cartUsualString(cart, "singleAltHaploId", singleAltHaploId);
+ char *foundHaplo = NULL;
char sql[1024];
+ if (altLocExists)
+ {
sqlSafef(sql, sizeof sql, "select name from altLocations where name='%s'", haplo);
- char *result = sqlQuickString(conn, sql);
- if (!result)
+ foundHaplo = sqlQuickString(conn, sql);
+ }
+ if (!foundHaplo && fixLocExists)
{
+ sqlSafef(sql, sizeof sql, "select name from fixLocations where name='%s'", haplo);
+ foundHaplo = sqlQuickString(conn, sql);
+ }
+ if (!foundHaplo)
+ {
+ if (altLocExists)
sqlSafef(sql, sizeof sql, "select name from altLocations limit 1");
+ else
+ sqlSafef(sql, sizeof sql, "select name from fixLocations limit 1");
haplo = sqlQuickString(conn, sql);
}
hTextVar("singleAltHaploId", haplo, 20);
hPrintf(" |
\n");
}
+ }
/* disable demo for now
if (sameString(database,"hg19") || sameString(database, "hg38"))
{
hPrintf("");
cgiMakeRadioButton("virtModeType", "demo1", sameWord("demo1", virtModeType));
hPrintf(" | ");
hPrintf("demo1 two windows on two chroms (default pos on chr21, and same loc on chr22)");
hPrintf(" |
\n");
}
*/
/* Disabled for now
hPrintf("");
|