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") ||