9b6958624673a00fdbe8447b7167e08301fd84bb baertsch Fri May 20 13:31:58 2011 -0700 retro track changes to add ucscRetroOrtho table and hgc, hgTrackUI changes. diff --git src/hg/hgGene/pseudoGene.c src/hg/hgGene/pseudoGene.c index 6a6e403..06089af 100644 --- src/hg/hgGene/pseudoGene.c +++ src/hg/hgGene/pseudoGene.c @@ -1,90 +1,116 @@ /* pseudoGene descriptions. */ #include "common.h" #include "hash.h" #include "linefile.h" #include "dystring.h" #include "spDb.h" #include "hdb.h" +#include "web.h" #include "genePred.h" #include "bed.h" #include "hgGene.h" static char const rcsid[] = "$Id: pseudoGene.c,v 1.5 2008/09/03 19:18:50 markd Exp $"; static boolean pseudoGeneExists(struct section *section, struct sqlConnection *conn, char *geneId) /* Return TRUE if mrna on this one. */ { boolean result; result = FALSE; -if (hTableExists(sqlGetDatabase(conn), "pseudoGeneLink")) +if (hTableExists(sqlGetDatabase(conn), "ucscRetroInfo")) { struct sqlResult *sr; char **row; char query[255]; safef(query, sizeof(query), - "select name from pseudoGeneLink where name='%s' or kgName='%s' or refseq='%s'", + "select name from ucscRetroInfo where name='%s' or kgName='%s' or refseq='%s'", geneId, geneId, geneId); sr = sqlGetResult(conn, query); if ((row = sqlNextRow(sr)) != NULL) { result = TRUE; } sqlFreeResult(&sr); } return(result); } static void pseudoGenePrint(struct section *section, struct sqlConnection *conn, char *geneId) /* Print out mrna descriptions annotations. */ { struct sqlResult *sr; char **row; char condStr[255]; char *descID, *desc; char *emptyStr; char query[255]; -char *name, *chrom, *chromStart, *chromEnd, *refseq; +char *name, *chrom, *chromStart, *chromEnd, *refseq, *rtype; +int score; +webPrintLinkTableStart(); +webPrintLabelCell("Retro Id"); +webPrintLabelCell("Type"); +webPrintLabelCell("Score "); +webPrintLabelCell("Genome Location"); +webPrintLabelCell("Description"); +hPrintf("</TR>\n<TR>"); emptyStr = cloneString(""); safef(query, sizeof(query), - "select distinct name, chrom, chromStart, chromEnd, refseq from pseudoGeneLink where name='%s' or kgName='%s' or refseq='%s'", + "select distinct name, chrom, chromStart, chromEnd, refseq, type, score from ucscRetroInfo where name='%s' or kgName='%s' or refseq='%s'", geneId, geneId, geneId); sr = sqlGetResult(conn, query); while ((row = sqlNextRow(sr)) != NULL) { name = row[0]; chrom = row[1]; chromStart = row[2]; chromEnd = row[3]; refseq = row[4]; + rtype = row[5]; + score = sqlUnsigned(row[6]); desc = emptyStr; - safef(condStr, sizeof(condStr), "acc='%s'", name); + safef(condStr, sizeof(condStr), "acc='%s'", refseq); descID= sqlGetField(database, "gbCdnaInfo", "description", condStr); if (descID != NULL) { safef(condStr, sizeof(condStr), "id=%s", descID); desc = sqlGetField(database, "description", "name", condStr); if (desc == NULL) desc = emptyStr; } - hPrintf("<br><A HREF=\"hgTracks?position=%s:%s-%s&pseudoGeneLink=pack&hgFind.matches=%s,\">%s at %s:%s-%s</A> %s\n", - chrom, chromStart, chromEnd, name, name, chrom, chromStart, chromEnd, desc); + webPrintLinkCellStart(); + hPrintf("<A HREF=\"hgc?g=ucscRetroAli&i=%s\">%s</A>", name, name); + webPrintLinkCellEnd(); + webPrintLinkCellStart(); + hPrintf("%s ", rtype); + webPrintLinkCellEnd(); + webPrintLinkCellStart(); + hPrintf("%d ", score); + webPrintLinkCellEnd(); + webPrintLinkCellStart(); + hPrintf("<A HREF=\"hgTracks?position=%s:%s-%s&ucscRetroAli=pack&hgFind.matches=%s,\">%s:%s-%s</A>", + chrom, chromStart, chromEnd, name, chrom, chromStart, chromEnd); + webPrintLinkCellEnd(); + webPrintLinkCellStart(); + hPrintf("%s\n", desc); + webPrintLinkCellEnd(); + hPrintf("</TR>\n<TR>"); } sqlFreeResult(&sr); } struct section *pseudoGeneSection(struct sqlConnection *conn, struct hash *sectionRa) /* Create pseudoGene section. */ { struct section *section = sectionNew(sectionRa, "pseudoGene"); section->exists = pseudoGeneExists; section->print = pseudoGenePrint; return section; }