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");
-// printf("- %s: %s
\n", "status", nrl->status);
-// printf("- %s: %s
\n", "name", nrl->name);
-// printf("- %s: %s
\n", "product", nrl->product);
-// printf("- %s: %s
\n", "mrnaAcc", nrl->mrnaAcc);
-// printf("- %s: %s
\n", "protAcc", nrl->protAcc);
-// printf("- %s: %s
\n", "locusLinkId", nrl->locusLinkId);
-// printf("- %s: %s
\n", "omimId", nrl->omimId);
-// printf("- %s: %s
\n", "hgnc", nrl->hgnc);
-// printf("- %s: %s
\n", "genbank", nrl->genbank);
-// printf("- %s: %s
\n", "pseudo", nrl->pseudo);
-// printf("- %s: %s
\n", "gbkey", nrl->gbkey);
-// printf("- %s: %s
\n", "source", nrl->source);
-// printf("- %s: %s
\n", "gene_biotype", nrl->gene_biotype);
-// printf("- %s: %s
\n", "gene_synonym", nrl->gene_synonym);
-// printf("- %s: %s
\n", "ncrna_class", nrl->ncrna_class);
-// printf("- %s: %s
\n", "note", nrl->note);
-// printf("- %s: %s
\n", "description", nrl->description);
-// 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)