31be107061b9f7d3d84da561ba90545203d73a83
hiram
  Fri Feb 5 13:05:17 2016 -0800
trying to get the psl alignment to display refs #13673

diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c
index 09d2f9e..3e581c5 100644
--- src/hg/hgc/hgc.c
+++ src/hg/hgc/hgc.c
@@ -11365,54 +11365,54 @@
 
 /* optional summary text */
 summary = getRefSeqSummary(conn, sqlRnaName);
 if (summary != NULL)
     {
     htmlHorizontalLine();
     printf("<H3>Summary of %s</H3>\n", rl->name);
     printf("<P>%s</P>\n", summary);
     freeMem(summary);
     }
 htmlHorizontalLine();
 
 return rl;
 }
 
-void doNcbiRefSeq(struct trackDb *tdb, char *rnaName)
+void doNcbiRefSeq(struct trackDb *tdb, char *itemName)
 /* Process click on a NCBI RefSeq gene. */
 {
 struct sqlConnection *conn = hAllocConn(database);
 struct sqlResult *sr;
 char **row;
 char query[256];
-char *sqlRnaName = rnaName;
+char *sqlRnaName = itemName;
 struct ncbiRefSeqLink *nrl;
 
 struct dyString *dy = newDyString(1024);
-dyStringPrintf(dy, "%s - %s ", tdb->longLabel, rnaName);
+dyStringPrintf(dy, "%s - %s ", tdb->longLabel, itemName);
 
 struct trackVersion *trackVersion = getTrackVersion(database, "ncbiRefSeq");
 if ((trackVersion != NULL) && !isEmpty(trackVersion->version))
     dyStringPrintf(dy, "- Release %s\n", trackVersion->version);
 
 cartWebStart(cart, database, "%s", dy->string);
 
 /* get refLink entry */
 sqlSafef(query, sizeof(query), "select * from ncbiRefSeqLink where id = '%s'", sqlRnaName);
 sr = sqlGetResult(conn, query);
 if ((row = sqlNextRow(sr)) == NULL)
-    errAbort("Couldn't find %s in ncbiRefSeqLink table.", rnaName);
+    errAbort("Couldn't find %s in ncbiRefSeqLink table.", itemName);
 nrl = ncbiRefSeqLinkLoad(row);
 sqlFreeResult(&sr);
 
 printf("<h2>RefSeq Gene %s</h2><br>\n", nrl->name);
 printf("<b>RefSeq:</b> <a href=\"");
 printEntrezNucleotideUrl(stdout, nrl->id);
 printf("\" target=_blank>%s</a>", nrl->id);
 printf("&nbsp;&nbsp;<b>Status: </b>%s<br>\n", nrl->status);
 printf("<b>Description:</b> %s<br>\n", nrl->product);
 if (differentWord(nrl->gbkey, "n/a"))
     {
     printf("<b>Molecule type:</b> %s<br>\n", nrl->gbkey);
     }
 if (differentWord(nrl->pseudo, "n/a"))
     {
@@ -11505,30 +11505,44 @@
 // printf("<li>%s: %s</li>\n", "protAcc", nrl->protAcc);
 // printf("<li>%s: %s</li>\n", "locusLinkId", nrl->locusLinkId);
 // printf("<li>%s: %s</li>\n", "omimId", nrl->omimId);
 // printf("<li>%s: %s</li>\n", "hgnc", nrl->hgnc);
 // printf("<li>%s: %s</li>\n", "genbank", nrl->genbank);
 // printf("<li>%s: %s</li>\n", "pseudo", nrl->pseudo);
 // printf("<li>%s: %s</li>\n", "gbkey", nrl->gbkey);
 // printf("<li>%s: %s</li>\n", "source", nrl->source);
 // printf("<li>%s: %s</li>\n", "gene_biotype", nrl->gene_biotype);
 // printf("<li>%s: %s</li>\n", "gene_synonym", nrl->gene_synonym);
 // printf("<li>%s: %s</li>\n", "ncrna_class", nrl->ncrna_class);
 // printf("<li>%s: %s</li>\n", "note", nrl->note);
 // printf("<li>%s: %s</li>\n", "description", nrl->description);
 // printf ("</ul>\n");
 
+// could also look for nrl->mrnaAcc here too if the itemName isn't found
+struct psl *pslList = getAlignments(conn, "ncbiRefSeqPsl", itemName);
+if (pslList)
+    {
+    printf ("<h4>there is alignment for %s</h4><br>\n", itemName);
+    printf("<H3>mRNA/Genomic Alignments</H3>");
+    int start = cartInt(cart, "o");
+    printAlignments(pslList, start, "ncbiRefSeqPsl", "ncbiRefSeqPsl", itemName);
+    }
+else
+    {
+    printf ("<h4>there is NO alignment for %s</h4><br>\n", itemName);
+    }
+
 printTrackHtml(tdb);
 hFreeConn(&conn);
 }
 
 void doRefGene(struct trackDb *tdb, char *rnaName)
 /* Process click on a known RefSeq gene. */
 {
 struct sqlConnection *conn = hAllocConn(database);
 int start = cartInt(cart, "o");
 int left = cartInt(cart, "l");
 int right = cartInt(cart, "r");
 char *chrom = cartString(cart, "c");
 
 boolean isXeno = sameString(tdb->table, "xenoRefGene");
 if (isXeno)