5f34a144c6f8863ab6bce1fcffbe6952fa1e980e braney Fri Sep 17 16:48:11 2010 -0700 move the pal link for refGene down into "links to sequence" diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 16b785f..ff841e2 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -266,6 +266,14 @@ struct bed *sageExpList = NULL; +struct palInfo +{ + char *chrom; + int left; + int right; + char *rnaName; +}; + /* See this NCBI web doc for more info about entrezFormat: * http://www.ncbi.nlm.nih.gov/entrez/query/static/linking.html */ char *entrezFormat = "http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Search&db=%s&term=%s&doptcmdl=%s&tool=genome.ucsc.edu"; @@ -2307,9 +2315,31 @@ sqlFreeResult(&sr); } -void geneShowPosAndLinks(char *geneName, char *pepName, struct trackDb *tdb, +void linkToPal(char *track, char *chrom, int start, int end, char *geneName) +/* Make anchor tag to open pal window */ +{ +printf("<A TITLE=\"%s\" HREF=\"%s?g=%s&i=%s&c=%s&l=%d&r=%d\">", + geneName, hgPalName(), track, geneName, chrom, start, end); + printf("CDS FASTA alignment</A> from multiple alignment. "); +} + +void addPalLink(struct sqlConnection *conn, char *track, + char *chrom, int start, int end, char *geneName) +{ +struct slName *list = hTrackTablesOfType(conn, "wigMaf%%"); + +if (list != NULL) + { + puts("<LI>\n"); + linkToPal( track, chrom, start, end, geneName); + puts("</LI>\n"); + } +} + +void geneShowPosAndLinksPal(char *geneName, char *pepName, struct trackDb *tdb, char *pepTable, char *pepClick, - char *mrnaClick, char *genomicClick, char *mrnaDescription) + char *mrnaClick, char *genomicClick, char *mrnaDescription, + struct palInfo *palInfo) /* Show parts of gene common to everything. If pepTable is not null, * it's the old table name, but will check gbSeq first. */ { @@ -2398,9 +2428,27 @@ hgcAnchorSomewhere(genomicClick, geneName, geneTable, seqName); printf("Genomic Sequence</A> from assembly\n"); puts("</LI>\n"); + +if (palInfo) + { + struct sqlConnection *conn = hAllocConn(database); + addPalLink(conn, tdb->track, palInfo->chrom, palInfo->left, + palInfo->right, palInfo->rnaName); + hFreeConn(&conn); + } + printf("</UL>\n"); } +void geneShowPosAndLinks(char *geneName, char *pepName, struct trackDb *tdb, + char *pepTable, char *pepClick, + char *mrnaClick, char *genomicClick, char *mrnaDescription) +{ +geneShowPosAndLinksPal(geneName, pepName, tdb, + pepTable, pepClick, + mrnaClick, genomicClick, mrnaDescription, NULL); +} + void geneShowPosAndLinksDNARefseq(char *geneName, char *pepName, struct trackDb *tdb, char *pepTable, char *pepClick, char *mrnaClick, char *genomicClick, char *mrnaDescription) @@ -2722,14 +2770,6 @@ title, hgTracksName(), otherDb, chrom, start+1, end); } -void linkToPal(char *track, char *chrom, int start, int end, char *geneName) -/* Make anchor tag to open pal window */ -{ -printf("<A TITLE=\"%s\" HREF=\"%s?g=%s&i=%s&c=%s&l=%d&r=%d\">", - geneName, hgPalName(), track, geneName, chrom, start, end); - printf("%s</A> ",geneName); -} - void chainToOtherBrowser(struct chain *chain, char *otherDb, char *otherOrg) /* Put up link that lets us use chain to browser on * corresponding window of other species. */ @@ -9568,18 +9608,6 @@ return NULL; } -void addPalLink(struct sqlConnection *conn, char *track, - char *chrom, int start, int end, char *geneName) -{ -struct slName *list = hTrackTablesOfType(conn, "wigMaf%%"); - -if (list != NULL) - { - printf("<B>CDS FASTA alignment from multiple alignment: </B>\n"); - linkToPal( track, chrom, start, end, geneName); - } -} - void addGeneExtra(char *geneName) /* create html table columns with geneExtra data, see hgdocs/geneExtra/README * for details */ @@ -9835,9 +9863,6 @@ prRefGeneInfo(conn, rnaName, sqlRnaName, rl, isXeno); addGeneExtra(rl->name); /* adds columns if extra info is available */ -if (genbankIsRefSeqCodingMRnaAcc(rnaName)) - addPalLink(conn, tdb->track, chrom, left, right, rnaName); - printf("</tr>\n</table>\n"); /* optional summary text */ @@ -9861,8 +9886,19 @@ htmlHorizontalLine(); -geneShowPosAndLinks(rl->mrnaAcc, rl->protAcc, tdb, "refPep", "htcTranslatedProtein", - "htcRefMrna", "htcGeneInGenome", "mRNA Sequence"); +struct palInfo *palInfo = NULL; + +if (genbankIsRefSeqCodingMRnaAcc(rnaName)) + { + AllocVar(palInfo); + palInfo->chrom = chrom; + palInfo->left = left; + palInfo->right = right; + palInfo->rnaName = rnaName; + } + +geneShowPosAndLinksPal(rl->mrnaAcc, rl->protAcc, tdb, "refPep", "htcTranslatedProtein", + "htcRefMrna", "htcGeneInGenome", "mRNA Sequence",palInfo); printTrackHtml(tdb); hFreeConn(&conn);