ea5b4301814c1df9f2a0f3b2d9e0d2f06b22635e braney Tue May 24 18:37:10 2016 -0700 hgTables support , some display changes, and a better hgc page for longTabix diff --git src/hg/hgTables/joining.c src/hg/hgTables/joining.c index 9b86475..75a25e2 100644 --- src/hg/hgTables/joining.c +++ src/hg/hgTables/joining.c @@ -294,30 +294,40 @@ static void makeBigBedOrderedCommaFieldList(struct joinerDtf *dtfList, struct dyString *dy) /* Make comma-separated field list in same order as fields are in * big bed. */ { struct sqlConnection *conn = NULL; if (!trackHubDatabase(database)) conn = hAllocConn(dtfList->database); struct slName *fieldList = bigBedGetFields(dtfList->table, conn); makeOrderedCommaFieldList(fieldList, dtfList, dy); slFreeList(&fieldList); hFreeConn(&conn); } +static void makeLongTabixOrderedCommaFieldList(struct joinerDtf *dtfList, + struct dyString *dy) +/* Make comma-separated field list in same order as fields are in + * long tabix file. */ +{ +struct slName *fieldList = getLongTabixFields(); +makeOrderedCommaFieldList(fieldList, dtfList, dy); +slFreeList(&fieldList); +} + static void makeBamOrderedCommaFieldList(struct joinerDtf *dtfList, struct dyString *dy) /* Make comma-separated field list in same order as fields are in * big bed. */ { struct slName *fieldList = bamGetFields(); makeOrderedCommaFieldList(fieldList, dtfList, dy); slFreeList(&fieldList); } static void makeVcfOrderedCommaFieldList(struct joinerDtf *dtfList, struct dyString *dy) /* Make comma-separated field list in same order as fields are in * big bed. */ { @@ -1012,30 +1022,32 @@ doJoin = TRUE; } } if (! doJoin) { struct sqlConnection *conn = NULL; if (!trackHubDatabase(database)) conn = hAllocConn(dtfList->database); struct dyString *dy = dyStringNew(0); if (isBigBed(database, dtfList->table, NULL, ctLookupName)) makeBigBedOrderedCommaFieldList(dtfList, dy); + else if (isLongTabixTable(dtfList->table)) + makeLongTabixOrderedCommaFieldList(dtfList, dy); else if (isBamTable(dtfList->table)) makeBamOrderedCommaFieldList(dtfList, dy); else if (isVcfTable(dtfList->table, NULL)) makeVcfOrderedCommaFieldList(dtfList, dy); else if (isCustomTrack(dtfList->table)) makeCtOrderedCommaFieldList(dtfList, dy); else makeDbOrderedCommaFieldList(conn, dtfList->table, dtfList, dy); doTabOutTable(dtfList->database, dtfList->table, f, conn, dy->string); hFreeConn(&conn); } else { struct joiner *joiner = allJoiner; struct joinedTables *joined = joinedTablesCreate(joiner,