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(" <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)