b7c90da8c24329bdb5744e89c9ab30d155aff6b5 hartera Wed Oct 15 12:33:19 2014 -0700 Corrected off by 1 errors in position starts. Added a link from the Breaks in Orthology table to the description for this feature. diff --git src/hg/hgc/retroClick.c src/hg/hgc/retroClick.c index bb3edfd..d267e03 100644 --- src/hg/hgc/retroClick.c +++ src/hg/hgc/retroClick.c @@ -186,31 +186,31 @@ } } static void displaySrcGene(struct sqlConnection *conn, struct mappingInfo *mi) /* display information about the source gene that was mapped */ { char srcGeneUrl[1024]; /* description will be NULL if deleted */ if (!startsWith("retroAugust",mi->geneSet)) getGenbankInfo(conn, mi); /* construct URL to browser */ safef(srcGeneUrl, sizeof(srcGeneUrl), "../cgi-bin/hgTracks?db=%s&position=%s:%d-%d", - database, mi->pg->gChrom, mi->pg->gStart, mi->pg->gEnd); + database, mi->pg->gChrom, mi->pg->gStart + 1, mi->pg->gEnd); printf("<TABLE class=\"transMap\">\n"); printf("<H3>Source Gene:</H3>\n"); printf("<TBODY>\n"); printf("<TD CLASS=\"transMapNoWrap\"><A HREF=\"%s\" target=_blank>%s</A>", srcGeneUrl, mi->pg->name); if (mi->desc == NULL) printf("<TD> <TD>Gene no longer in source database"); else printf("<TD>%s<TD>%s", mi->sym, mi->desc); printf("</TR>\n"); printf("</TBODY></TABLE>\n"); } static void displayRetroDetails(struct sqlConnection *conn, struct mappingInfo *mi) @@ -218,31 +218,31 @@ { struct ucscRetroInfo *pg = mi->pg; char query[256]; char orthoTable[128]; char orgDb[128]; char *org; if (mi->suffix != NULL && strlen(mi->suffix) > 0) safef(orthoTable, sizeof(orthoTable), "%s%sOrtho%s", mi->tblPre, mi->geneSet, mi->suffix); else safef(orthoTable, sizeof(orthoTable), "%s%sOrtho", mi->tblPre, mi->geneSet); printf("<TABLE class=\"transMap\">\n"); -printf("<H3>Breaks in Orthology:</H3>\n"); +printf("<H3><A HREF=\"#orthology\">Breaks in Orthology:</A></H3>\n"); printf("<THEAD>\n"); printf("<TR><TH>Organism<TH>%% Coverage</TR>\n"); printf("</THEAD><TBODY>\n"); if (hTableExists(database, orthoTable)) { struct sqlResult *sr; char **row; sqlSafef(query, sizeof(query), "select * from %s where name = '%s' ", orthoTable, pg->name); sr = sqlGetResult(conn, query); while ((row = sqlNextRow(sr)) != NULL) { struct ucscRetroOrtho *puro = ucscRetroOrthoLoad(row); /* get substring after "net" prefix and convert first char to lower case then get organism name */ @@ -479,32 +479,32 @@ else printf("no all_mrna table found<br>\n"); return pslList; } static void displayParentAligns(struct mappingInfo *mi, struct psl *pslList, char *table) { struct ucscRetroInfo *pg = mi->pg; if (pslList != NULL && *table ) { printf("<H3>Parent Locus/Parent mRNA Alignments </H3>"); printAlignments(pslList, pslList->tStart, "htcCdnaAli", table, \ mi->gbAcc); } else - printf("missing alignment %s %s:%d-%d from table %s<br>\n", - mi->gbAcc, pg->gChrom, pg->gStart, pg->gEnd, table); + printf("missing alignment %s chr %s:%d-%d from table %s<br>\n", + mi->gbAcc, pg->gChrom, pg->gStart + 1, pg->gEnd, table); } /* return count of coding exons */ int genePredcountCdsExons(struct genePred *gp) { int i; int count = 0; for (i=0; i<(gp->exonCount); i++) { if ( (gp->cdsStart <= gp->exonEnds[i]) && (gp->cdsEnd >= gp->exonStarts[i]) ) count++; } return count;