bb45615b2f096a51c523f1b74f323893f054d0d8
angie
  Fri Jul 25 11:49:13 2014 -0700
For SNPs tracks option to append alleles to the rs# ID in the item name, by default show alleles on the + strand of reference.If a user still wants to see alleles on dbSNP's arbitrary and unstable strand, there's a new option to do so.
refs #13694

diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c
index 8790a27..c07ed76 100644
--- src/hg/hgTrackUi/hgTrackUi.c
+++ src/hg/hgTrackUi/hgTrackUi.c
@@ -710,42 +710,47 @@
 char *orthoTable = snp125OrthoTable(tdb, NULL);
 int version = snpVersion(tdb->track);
 char cartVar[512];
 jsInit();
 struct slName *snp125UnusedClasses = snp125FixClassGlobals(tdb);
 
 if (isNotEmpty(orthoTable) && hTableExists(database, orthoTable))
     {
     printf("<BR><B>Include Chimp state and observed human alleles in name: </B>&nbsp;");
     safef(cartVar, sizeof(cartVar), "%s.extendedNames", tdb->track);
     snp125ExtendedNames = cartUsualBoolean(cart, cartVar,
 			  // Check old cart var name for backwards compatibility w/ old sessions:
 					   cartUsualBoolean(cart, "snp125ExtendedNames", FALSE));
     cgiMakeCheckBox(cartVar, snp125ExtendedNames);
     printf("<BR>(If enabled, chimp allele is displayed first, then '>', then human alleles).");
-    printf("<BR><BR>\n");
     }
 else
     {
     printf("<BR><B>Include observed alleles in name: </B>&nbsp;");
     safef(cartVar, sizeof(cartVar), "%s.extendedNames", tdb->track);
     snp125ExtendedNames = cartUsualBoolean(cart, cartVar,
 			  // Check old cart var name for backwards compatibility w/ old sessions:
 					   cartUsualBoolean(cart, "snp125ExtendedNames", FALSE));
     cgiMakeCheckBox(cartVar, snp125ExtendedNames);
-    puts("<BR><BR>");
     }
+puts("<BR>");
+
+printf("&nbsp;&nbsp;<B>Show alleles on strand of reference genome reported by dbSNP: </B>&nbsp;");
+safef(cartVar, sizeof(cartVar), "%s.allelesDbSnpStrand", tdb->track);
+boolean useDbSnpStrand = cartUsualBoolean(cart, cartVar, FALSE);
+cgiMakeCheckBox(cartVar, useDbSnpStrand);
+puts("<BR><BR>");
 
 // Make wrapper table for collapsible sections:
 puts("<TABLE border=0 cellspacing=0 cellpadding=0>");
 
 snp125OfferGeneTracksForFunction(tdb);
 
 boolean molTypeHasMito = snp125CheckMolTypeForMito(tdb);
 
 puts("<TR><TD colspan=2><BR></TD></TR>");
 snp125PrintFilterControlSection(tdb, version, molTypeHasMito, snp125UnusedClasses);
 puts("<TR><TD colspan=2><BR></TD></TR>");
 
 snp125PrintColorControlSection(tdb, version, molTypeHasMito);
 // End wrapper table for collapsible sections:
 puts("</TABLE>");