ea5a8d3dbf39d8ae5bc62fcf37d7c2247d6a2725 max Tue Jan 24 02:02:39 2012 -0800 first go on marker display diff --git src/hg/hgc/t2g.c src/hg/hgc/t2g.c index 4ba0e21..683bf4a 100644 --- src/hg/hgc/t2g.c +++ src/hg/hgc/t2g.c @@ -5,30 +5,44 @@ #include "hdb.h" #include "hgc.h" #include "hgColors.h" #include "trackDb.h" #include "web.h" #include "hash.h" #include "obscure.h" //include "hgTrackUi.h" // cgi var to activate debug output int t2gDebug = 0; char* sequenceTable; char* articleTable; +void printMarkerSnippets(struct sqlConnection *conn, char* item) +{ + char query[4000]; + safef(query, sizeof(query), "SELECT t2gElsevierMarker.articleId, url, title, authors, citation, markerId, markerType, snippet FROM t2gElsevierMarker JOIN t2gElsevierArticle ON t2gElsevierMarker.articleId=t2gElsevierArticle.articleId WHERE markerId='2q23.1' AND markerType='band'"); + + struct sqlResult *sr = sqlGetResult(conn, query); + char **row; + if ((row = sqlNextRow(sr)) != NULL) + { + char* snippet = row[7]; + printf(snippet); + } +} + char* printArticleInfo(struct sqlConnection *conn, char* item) /* Header with information about paper, return documentId */ { char query[512]; safef(query, sizeof(query), "SELECT articleId, url, title, authors, citation, abstract FROM %s WHERE displayId='%s'", articleTable, item); struct sqlResult *sr = sqlGetResult(conn, query); char **row; char *docId=0; if ((row = sqlNextRow(sr)) != NULL) { char* abstract = row[5]; if (strlen(abstract)==0) { @@ -292,29 +306,36 @@ void doT2gDetails(struct trackDb *tdb, char *item) /* text2genome.org custom display */ { int start = cgiInt("o"); int end = cgiInt("t"); char* trackTable = cgiString("g"); int fasta = cgiOptionalInt("fasta", 0); t2gDebug = cgiOptionalInt("debug", 0); struct sqlConnection *conn = hAllocConn(database); printTrackVersion(tdb, conn, item); printPositionAndSize(start, end); +if (startsWith("t2gMarker", trackTable)) +{ + printMarkerSnippets(conn, item); +} +else +{ sequenceTable = hashMustFindVal(tdb->settingsHash, "sequenceTable"); articleTable = hashMustFindVal(tdb->settingsHash, "articleTable"); char* docId = printArticleInfo(conn, item); if (docId!=0) { bool showDesc; - showDesc = (! endsWith(trackTable, "Elsevier")); + showDesc = (! endsWith(trackTable, "Elsevier")); // avoid clutter: Elsevier has only main text printSeqInfo(conn, trackTable, docId, item, seqName, start, showDesc, fasta); } +} printTrackHtml(tdb); hFreeConn(&conn); }