static void prSeqLinks(struct sqlConnection *conn, struct cloneInfo *ci) /* print table of sequence links */ { webNewSection("Sequences"); webPrintLinkTableStart(); webPrintLinkCellStart(); hgcAnchorSomewhere("htcDisplayMrna", ci->acc, ci->pslTbl, seqName); printf("mRNA</a>"); webPrintLinkCellEnd(); webPrintLinkCellStart(); hgcAnchorSomewhere("htcTranslatedMRna", ci->acc, ci->pslTbl, seqName); printf("Protein</A><br>"); webPrintLinkCellEnd(); webPrintLinkCellStart(); hgcAnchorSomewhere("htcGeneInGenome", ci->acc, ci->gpTbl, seqName); printf("Genomic</A>"); webPrintLinkCellEnd(); webPrintLinkTableNewRow(); webPrintLinkCellStart(); hgcAnchorSomewhere("htcDisplayMrna", ci->acc, ci->gpTbl, seqName); printf("Reference genome mRNA</A>"); webPrintLinkCellEnd(); #if BROKEN // FIXME: doesn't work when genePred table is not the track; not that important webPrintLinkCellStart(); hgcAnchorSomewhereTbl("htcTranslatedPredMRna", ci->acc, ci->pslTbl, seqName, ci->gpTbl); printf("Reference genome protein</A>"); webPrintLinkCellEnd(); webFinishPartialLinkTable(1, 2, 3); #else webFinishPartialLinkTable(1, 1, 3); #endif webPrintLinkTableEnd(); }
static void writeBasicInfoHtml(struct sqlConnection *conn, char *ccdsId, struct ccdsInfo *rsCcds, struct ccdsInfo *vegaCcds, struct ccdsInfo *ensCcds) /* write table with basic information about the CCDS (2 columns) */ { { printf("<TABLE class=\"hgcCcds\"><TBODY>\n"); /* gene symbol */ char *geneSym = getCcdsGeneSymbol(conn, rsCcds); if (geneSym != NULL) printf("<TR><TH>Gene<TD>%s</TR>\n", geneSym); freez(&geneSym); /* description */ char *desc = hGenBankGetDesc(database, rsCcds->mrnaAcc, TRUE); if (desc != NULL) printf("<TR><TH>Description<TD>%s</TR>\n", desc); freez(&desc); /* CCDS sequence links */ printf("<TR>\n"); printf("<TH>Sequences"); printf("<TD>"); hgcAnchorSomewhere("htcGeneMrna", ccdsId, "ccdsGene", seqName); printf("CDS</A>, "); hgcAnchorSomewhere("htcTranslatedPredMRna", ccdsId, "translate", seqName); printf("protein</A>, "); hgcAnchorSomewhere( "htcGeneInGenome", ccdsId, "ccdsGene", seqName); printf("genomic</A>"); printf("</TR>\n"); /* CCDS databases */ printf("<TR>\n"); printf("<TH>CCDS database<TD> <A HREF=\""); printCcdsExtUrl(ccdsId); printf("\" TARGET=_blank>%s</A>", ccdsId); printf("</TR>\n"); printf("</TBODY></TABLE>\n"); printf("<BR>\n"); } }
static void prAlign(struct sqlConnection *conn, char *pslTbl, struct psl *psl) /* print an alignment */ { // genomic location webPrintLinkCellStart(); printf("<A HREF=\"%s&db=%s&position=%s%%3A%d-%d\">%s:%d-%d</A>", hgTracksPathAndSettings(), database, psl->tName, psl->tStart+1, psl->tEnd, psl->tName, psl->tStart+1, psl->tEnd); webPrintLinkCellEnd(); // genomic span webPrintLinkCellRightStart(); printf("%d", psl->tEnd-psl->tStart); webPrintLinkCellEnd(); // strand webPrintLinkCell(psl->strand); // mRNA location, linked to aligment viewer webPrintLinkCellStart(); char other[128]; safef(other, sizeof(other), "%d&aliTable=%s", psl->tStart, pslTbl); hgcAnchorSomewhere("htcCdnaAli", psl->qName, other, psl->tName); printf("%s:%d-%d</A>", psl->qName, psl->qStart+1, psl->qEnd); webPrintLinkCellEnd(); // identity webPrintLinkCellRightStart(); printf("%.2f%%", 100.0 * pslIdent(psl)); webPrintLinkCellEnd(); // fraction aligned webPrintLinkCellRightStart(); int aligned = psl->match + psl->misMatch + psl->repMatch; printf("%.2f%%", 100.0*aligned/((float)psl->qSize)); webPrintLinkCellEnd(); }