ae3969602106c0229160648f6ff6c87c3ad0de2d giardine Tue Dec 7 14:13:12 2010 -0800 Addition of wiki track and supporting tracks for microattribution reviews (part of the variome project) diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 07c4405..6d1d409 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -21415,40 +21415,35 @@ hFreeConn(&conn); } void doGv(struct trackDb *tdb, char *itemName) /* this prints the detail page for the Genome variation track */ { char *table = tdb->table; struct gvPos *mut = NULL; struct gv *details = NULL; struct gvAttr attr; struct gvAttrLong attrLong; struct sqlConnection *conn = hAllocConn(database); struct sqlResult *sr; char **row; char query[256]; -char *escName = NULL, *tableName, *userName = NULL; +char *escName = NULL, *tableName; int hasAttr = 0; int i; int start = cartInt(cart, "o"); -if (wikiTrackEnabled(database, &userName) && sameWord("0", itemName)) - { - if (userName != NULL) - itemName = cartUsualString(cart, "gvPos.create.annotation", "0"); - } /* official name, position, band, genomic size */ escName = sqlEscapeString(itemName); safef(query, sizeof(query), "select * from hgFixed.gv where id = '%s'", escName); details = gvLoadByQuery(conn, query); genericHeader(tdb, details->name); /* change label based on species */ if (sameString(organism, "Human")) printf("HGVS name: %s
\n", details->name); else printf("Official name: %s
\n", details->name); safef(query, sizeof(query), "select * from %s where chrom = '%s' and " "chromStart=%d and name = '%s'", table, seqName, start, escName); @@ -22366,43 +22361,40 @@ table = ct->dbTableName; conn = hAllocConn(CUSTOM_TRASH); bedPart = ct->fieldCount - 2; /* header handled by custom track handler */ } /* postion, band, genomic size */ escName = sqlEscapeString(itemName); safef(query, sizeof(query), "select * from %s where chrom = '%s' and chromStart = %d and chromEnd = %d and name = '%s'", table, chrom, start, end, escName); sr = sqlGetResult(conn, query); if ((row = sqlNextRow(sr)) != NULL) { r = bedDetailLoadWithGaps(row, bedPart+2); bedPrintPos((struct bed*)r, bedPart, tdb); - //print bedPart using bed routines? - //printf("Name: %s
\n", r->name); - //print ID as link if have url if (r->id != NULL) { printf("ID: %s
\n", r->id); printCustomUrl(tdb, r->id, TRUE); } - //printf("Position: %s:%u-%u

", r->chrom, *(r->chromStart)+1, *(r->chromEnd)); if (r->description != NULL) printf("%s
\n", r->description); } sqlFreeResult(&sr); +printTrackHtml(tdb); bedDetailFree(&r); freeMem(escName); hFreeConn(&conn); } struct trackDb *tdbForTableArg() /* get trackDb for track passed in table arg */ { char *table = cartString(cart, "table"); struct trackDb *tdb = hashFindVal(trackHash, table); if (tdb == NULL) errAbort("no trackDb entry for %s", table); return tdb; } @@ -22655,30 +22647,38 @@ /* do nothing, everything handled in loweLabClick */ } #endif else if (sameWord(table, G_DELETE_WIKI_ITEM)) { doDeleteWikiItem(item, seqName, winStart, winEnd); } else if (sameWord(table, G_ADD_WIKI_COMMENTS)) { doAddWikiComments(item, seqName, winStart, winEnd); } else if (sameWord(table, G_CREATE_WIKI_ITEM)) { doCreateWikiItem(item, seqName, winStart, winEnd); } +else if (sameString(track, "variome")) + doVariome(item, seqName, winStart, winEnd); +else if (sameString(track, "variome.create")) + doCreateVariomeItem(item, seqName, winStart, winEnd); +else if (sameString(track, "variome.delete")) + doDeleteVariomeItem(item, seqName, winStart, winEnd); +else if (sameString(track, "variome.addComments")) + doAddVariomeComments(item, seqName, winStart, winEnd); else if (startsWith("transMapAln", table) || startsWith("reconTransMapAln", table)) transMapClickHandler(tdb, item); else if (startsWith("hgcTransMapCdnaAli", table)) { char *aliTable = cartString(cart, "aliTable"); char *track = hGetTrackForTable(database, aliTable); tdb = hashMustFindVal(trackHash, track); transMapShowCdnaAli(tdb, item); } else if (sameWord(table, "mrna") || sameWord(table, "mrna2") || startsWith("all_mrna",table) || sameWord(table, "all_est") || sameWord(table, "celeraMrna") || sameWord(table, "est") || sameWord(table, "intronEst") || sameWord(table, "xenoMrna") || sameWord(table, "xenoBestMrna") ||