3d62aa937d248145c3b606176b9afe7cb28bf9c5 hiram Mon Feb 8 12:12:27 2016 -0800 print out position links for ncbiRefSeq item refs #13673 diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 3e581c5..1665b9d 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -11482,67 +11482,75 @@ printGeneCards(nrl->name); if (startsWith("hg", database)) { printf("AceView: "); printf("", nrl->name); printf("%s
\n", nrl->name); } } if ((trackVersion != NULL) && !isEmpty(trackVersion->version)) { printf("Annotation Release: %s
", trackVersion->comment, trackVersion->version); } htmlHorizontalLine(); +if (differentWord("n/a", nrl->description)) + { printf("Summary of %s
\n%s
\n", nrl->name, nrl->description); htmlHorizontalLine(); + } + +char *chrom = cartString(cart, "c"); +int start = cartInt(cart, "o"); +int end = cartInt(cart, "t"); -// printf("\n"); - -// could also look for nrl->mrnaAcc here too if the itemName isn't found struct psl *pslList = getAlignments(conn, "ncbiRefSeqPsl", itemName); +// if the itemName isn't found, it might be found as the nrl->mrnaAcc +if (! pslList) + pslList = getAlignments(conn, "ncbiRefSeqPsl", nrl->mrnaAcc); if (pslList) { - printf ("

there is alignment for %s


\n", itemName); printf("

mRNA/Genomic Alignments

"); - int start = cartInt(cart, "o"); printAlignments(pslList, start, "ncbiRefSeqPsl", "ncbiRefSeqPsl", itemName); } else { printf ("

there is NO alignment for %s


\n", itemName); } +htmlHorizontalLine(); + +if (hTableExists(database, "ncbiRefSeq")) + { + char query[1024]; + sqlSafef(query, sizeof query, + "select txStart,txEnd,strand from ncbiRefSeq " + "where chrom = '%s' and name='%s' and txEnd > %d and " + "txStart <= %d;", chrom, itemName, start, end); + sr = sqlGetResult(conn, query); + while ((row = sqlNextRow(sr)) != NULL) + { + start = sqlUnsigned(row[0]); + end = sqlUnsigned(row[1]); + printf("Name: %s
", nrl->id); + printPosOnChrom(chrom, start, end, row[2], TRUE, itemName); + } + sqlFreeResult(&sr); + htmlHorizontalLine(); + } + 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)