src/hg/hgGene/hgGene.c 1.118

1.118 2010/02/23 20:35:36 kent
Making it so can bring up the methods page without a gene specified.
Index: src/hg/hgGene/hgGene.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgGene/hgGene.c,v
retrieving revision 1.117
retrieving revision 1.118
diff -b -B -U 4 -r1.117 -r1.118
--- src/hg/hgGene/hgGene.c	25 Aug 2009 22:49:39 -0000	1.117
+++ src/hg/hgGene/hgGene.c	23 Feb 2010 20:35:36 -0000	1.118
@@ -566,97 +566,76 @@
     errAbort("getCurGenePred: Can't find %s", query);
 return gp;
 }
 
-void doKgMethod(struct sqlConnection *conn)
+void doKgMethod()
 /* display knownGene.html content (UCSC Known Genes 
  * Method, Credits, and Data Use Restrictions) */
 {
-struct trackDb *tdb, *tdb2;
-
 cartWebStart(cart, database, "Methods, Credits, and Use Restrictions");
-
-/* default is knownGene */
-tdb = hTrackDbForTrack(database, "knownGene");
-
-/* deal with special genomes that do not have knownGene */
-if (sameWord(genome, "D. melanogaster"))
-    {
-    tdb = hTrackDbForTrack(database, "bdgpGene");
-    }
-if (sameWord(genome, "C. elegans"))
-    {
-    tdb = hTrackDbForTrack(database, "sangerGene");
-    }
-if (sameWord(genome, "S. cerevisiae"))
-    {
-    tdb = hTrackDbForTrack(database, "sgdGene");
-    }
-if (sameWord(genome, "Danio rerio"))
-    {
-    tdb = hTrackDbForTrack(database, "ensGene");
-    }
-tdb2 = hTrackDbForTrack(database, genomeSetting("knownGene"));
-hPrintf("%s", tdb2->html);
-
+struct trackDb *tdb = hTrackDbForTrack(database, genomeSetting("knownGene"));
+hPrintf("%s", tdb->html);
 cartWebEnd();
 }
 
 void cartMain(struct cart *theCart)
 /* We got the persistent/CGI variable cart.  Now
  * set up the globals and make a web page. */
 {
-struct sqlConnection *conn = NULL;
 cart = theCart;
-char *geneName = cartUsualString(cart, hggGene, NULL);
-if (isEmpty(geneName))
+getDbAndGenome(cart, &database, &genome, oldVars);
+getGenomeSettings();
+if (cartVarExists(cart, hggDoKgMethod))
+    doKgMethod();
+else
+    {
+    struct sqlConnection *conn = NULL;
+    char *geneName = cartUsualString(cart, hggGene, NULL);
+    if (isEmpty(geneName))
     {
     // Silly googlebots.
     hUserAbort("Error: the hgg_gene parameter is missing from the cart and the CGI params.");
     }
-getDbAndGenome(cart, &database, &genome, oldVars);
 
-/* if kgProtMap2 table exists, this means we are doing KG III */
-if (hTableExists(database, "kgProtMap2")) kgVersion = KG_III;
+    /* if kgProtMap2 table exists, this means we are doing KG III */
+    if (hTableExists(database, "kgProtMap2")) kgVersion = KG_III;
 
-conn = hAllocConn(database);
-getGenomeSettings();
-curGeneId = findGeneId(conn, geneName);
-getGenePosition(conn);
-curGenePred = getCurGenePred(conn);
-curGeneName = getGeneName(curGeneId, conn);
-spConn = hAllocConn(UNIPROT_DB_NAME);
-swissProtAcc = getSwissProtAcc(conn, spConn, curGeneId);
+    conn = hAllocConn(database);
+    curGeneId = findGeneId(conn, geneName);
+    getGenePosition(conn);
+    curGenePred = getCurGenePred(conn);
+    curGeneName = getGeneName(curGeneId, conn);
+    spConn = hAllocConn(UNIPROT_DB_NAME);
+    swissProtAcc = getSwissProtAcc(conn, spConn, curGeneId);
 
-/* Check command variables, and do the ones that
+    /* Check command variables, and do the ones that
  * don't want to put up the hot link bar etc. */
-if (cartVarExists(cart, hggDoGetMrnaSeq))
+    if (cartVarExists(cart, hggDoGetMrnaSeq))
     doGetMrnaSeq(conn, curGeneId, curGeneName);
-else if (cartVarExists(cart, hggDoKgMethod))
-    doKgMethod(conn);
-else if (cartVarExists(cart, hggDoWikiTrack))
+    else if (cartVarExists(cart, hggDoWikiTrack))
     doWikiTrack(conn);
-else if (cartVarExists(cart, hggDoTxInfoDescription))
+    else if (cartVarExists(cart, hggDoTxInfoDescription))
     doTxInfoDescription(conn);
-else if (cartVarExists(cart, hggDoGetProteinSeq))
+    else if (cartVarExists(cart, hggDoGetProteinSeq))
     doGetProteinSeq(conn, curGeneId, curGeneName);
-else if (cartVarExists(cart, hggDoRnaFoldDisplay))
+    else if (cartVarExists(cart, hggDoRnaFoldDisplay))
     doRnaFoldDisplay(conn, curGeneId, curGeneName);
-else if (cartVarExists(cart, hggDoOtherProteinSeq))
+    else if (cartVarExists(cart, hggDoOtherProteinSeq))
     doOtherProteinSeq(conn, curGeneName);
-else if (cartVarExists(cart, hggDoOtherProteinAli))
+    else if (cartVarExists(cart, hggDoOtherProteinAli))
     doOtherProteinAli(conn, curGeneId, curGeneName);
-else
+    else
     {
     /* Default case - start fancy web page. */
     cartWebStart(cart, database, "%s Gene %s (%s) Description and Page Index", 
     	genome, curGeneName, curGeneId);
     webMain(conn);
     cartWebEnd();
     }
+    hFreeConn(&spConn);
+    hFreeConn(&conn);
+    }
 cartRemovePrefix(cart, hggDoPrefix);
-hFreeConn(&spConn);
-hFreeConn(&conn);
 }
 
 char *excludeVars[] = {"Submit", "submit", NULL};