5f34a144c6f8863ab6bce1fcffbe6952fa1e980e
braney
  Fri Sep 17 16:48:11 2010 -0700
move the pal link for refGene down into "links to sequence"
diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c
index 16b785f..ff841e2 100644
--- src/hg/hgc/hgc.c
+++ src/hg/hgc/hgc.c
@@ -266,6 +266,14 @@
 
 struct bed *sageExpList = NULL;
 
+struct palInfo
+{
+    char *chrom;
+    int left;
+    int right;
+    char *rnaName;
+};
+
 /* See this NCBI web doc for more info about entrezFormat:
  * http://www.ncbi.nlm.nih.gov/entrez/query/static/linking.html */
 char *entrezFormat = "http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Search&db=%s&term=%s&doptcmdl=%s&tool=genome.ucsc.edu";
@@ -2307,9 +2315,31 @@
 sqlFreeResult(&sr);
 }
 
-void geneShowPosAndLinks(char *geneName, char *pepName, struct trackDb *tdb,
+void linkToPal(char *track,  char *chrom, int start, int end, char *geneName)
+/* Make anchor tag to open pal window */
+{
+printf("<A TITLE=\"%s\" HREF=\"%s?g=%s&i=%s&c=%s&l=%d&r=%d\">",
+       geneName, hgPalName(), track, geneName, chrom, start, end);
+    printf("CDS FASTA alignment</A> from multiple alignment. ");
+}
+
+void addPalLink(struct sqlConnection *conn, char *track,
+    char *chrom, int start, int end, char *geneName)
+{
+struct slName *list = hTrackTablesOfType(conn, "wigMaf%%");
+
+if (list != NULL)
+    {
+    puts("<LI>\n");
+    linkToPal( track, chrom, start, end, geneName);
+    puts("</LI>\n");
+    }
+}
+
+void geneShowPosAndLinksPal(char *geneName, char *pepName, struct trackDb *tdb,
 			 char *pepTable, char *pepClick,
-			 char *mrnaClick, char *genomicClick, char *mrnaDescription)
+			 char *mrnaClick, char *genomicClick, char *mrnaDescription,
+                         struct palInfo *palInfo)
 /* Show parts of gene common to everything. If pepTable is not null,
  * it's the old table name, but will check gbSeq first. */
 {
@@ -2398,9 +2428,27 @@
 hgcAnchorSomewhere(genomicClick, geneName, geneTable, seqName);
 printf("Genomic Sequence</A> from assembly\n");
 puts("</LI>\n");
+
+if (palInfo)
+    {
+    struct sqlConnection *conn = hAllocConn(database);
+    addPalLink(conn, tdb->track,  palInfo->chrom, palInfo->left, 
+        palInfo->right, palInfo->rnaName);
+    hFreeConn(&conn);
+    }
+
 printf("</UL>\n");
 }
 
+void geneShowPosAndLinks(char *geneName, char *pepName, struct trackDb *tdb,
+			 char *pepTable, char *pepClick,
+			 char *mrnaClick, char *genomicClick, char *mrnaDescription)
+{
+geneShowPosAndLinksPal(geneName, pepName, tdb,
+			 pepTable, pepClick,
+			 mrnaClick, genomicClick, mrnaDescription, NULL);
+}
+
 void geneShowPosAndLinksDNARefseq(char *geneName, char *pepName, struct trackDb *tdb,
 				  char *pepTable, char *pepClick,
 				  char *mrnaClick, char *genomicClick, char *mrnaDescription)
@@ -2722,14 +2770,6 @@
        title, hgTracksName(), otherDb, chrom, start+1, end);
 }
 
-void linkToPal(char *track,  char *chrom, int start, int end, char *geneName)
-/* Make anchor tag to open pal window */
-{
-printf("<A TITLE=\"%s\" HREF=\"%s?g=%s&i=%s&c=%s&l=%d&r=%d\">",
-       geneName, hgPalName(), track, geneName, chrom, start, end);
-    printf("%s</A>  ",geneName);
-}
-
 void chainToOtherBrowser(struct chain *chain, char *otherDb, char *otherOrg)
 /* Put up link that lets us use chain to browser on
  * corresponding window of other species. */
@@ -9568,18 +9608,6 @@
 return NULL;
 }
 
-void addPalLink(struct sqlConnection *conn, char *track,
-    char *chrom, int start, int end, char *geneName)
-{
-struct slName *list = hTrackTablesOfType(conn, "wigMaf%%");
-
-if (list != NULL)
-    {
-    printf("<B>CDS FASTA alignment from multiple alignment: </B>\n");
-    linkToPal( track, chrom, start, end, geneName);
-    }
-}
-
 void addGeneExtra(char *geneName)
 /* create html table columns with geneExtra data, see hgdocs/geneExtra/README
  * for details */
@@ -9835,9 +9863,6 @@
 prRefGeneInfo(conn, rnaName, sqlRnaName, rl, isXeno);
 addGeneExtra(rl->name);  /* adds columns if extra info is available */
 
-if (genbankIsRefSeqCodingMRnaAcc(rnaName))
-    addPalLink(conn, tdb->track,  chrom, left, right, rnaName);
-
 printf("</tr>\n</table>\n");
 
 /* optional summary text */
@@ -9861,8 +9886,19 @@
 
 htmlHorizontalLine();
 
-geneShowPosAndLinks(rl->mrnaAcc, rl->protAcc, tdb, "refPep", "htcTranslatedProtein",
-		    "htcRefMrna", "htcGeneInGenome", "mRNA Sequence");
+struct palInfo *palInfo = NULL;
+
+if (genbankIsRefSeqCodingMRnaAcc(rnaName))
+    {
+    AllocVar(palInfo);
+    palInfo->chrom = chrom;
+    palInfo->left = left;
+    palInfo->right = right;
+    palInfo->rnaName = rnaName;
+    }
+
+geneShowPosAndLinksPal(rl->mrnaAcc, rl->protAcc, tdb, "refPep", "htcTranslatedProtein",
+		    "htcRefMrna", "htcGeneInGenome", "mRNA Sequence",palInfo);
 
 printTrackHtml(tdb);
 hFreeConn(&conn);