예제 #1
0
파일: mgcClick.c 프로젝트: bowhan/kent
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();
}
예제 #2
0
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>, &nbsp;");
hgcAnchorSomewhere("htcTranslatedPredMRna", ccdsId, "translate", seqName);
printf("protein</A>, &nbsp;");
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");
}                               }
예제 #3
0
파일: mgcClick.c 프로젝트: bowhan/kent
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();
}