6f726d2bcdb4fca993c06cf2181dce97b061702d kate Thu Feb 22 08:59:49 2018 -0800 Add support for custom tracks and hub tracks. refs #17512 diff --git src/hg/hgTables/schema.c src/hg/hgTables/schema.c index 617fc73..9755ec0 100644 --- src/hg/hgTables/schema.c +++ src/hg/hgTables/schema.c @@ -16,30 +16,31 @@ #include "hdb.h" #include "web.h" #include "trackDb.h" #include "joiner.h" #include "tableDescriptions.h" #include "asParse.h" #include "customTrack.h" #include "bedCart.h" #include "hgMaf.h" #include "hgTables.h" #include "wikiTrack.h" #include "makeItemsItem.h" #include "bedDetail.h" #include "pgSnp.h" #include "barChartBed.h" +#include "interact.h" #include "hubConnect.h" #include "errCatch.h" static char *nbForNothing(char *val) /* substitute for empty strings to keep table formating sane */ { char *s = skipLeadingSpaces(val); if ((s == NULL) || (s[0] == '\0')) return " "; else return val; } static char *abbreviateInPlace(char *val, int len) /* Abbreviate a string to len characters. */ @@ -610,30 +611,36 @@ showSchemaWithAsObj(db, table, ct, asObj); asObjectFree(&asObj); } else if (sameWord("pgSnp", type)) { struct asObject *asObj = pgSnpAsObj(); showSchemaWithAsObj(db, table, ct, asObj); asObjectFree(&asObj); } else if (sameWord("barChart", type)) { struct asObject *asObj = barChartAsObj(); showSchemaWithAsObj(db, table, ct, asObj); asObjectFree(&asObj); } +else if (sameWord("interact", type)) + { + struct asObject *asObj = interactAsObj(); + showSchemaWithAsObj(db, table, ct, asObj); + asObjectFree(&asObj); + } else errAbort("Unrecognized customTrack type %s", type); } static void showSchemaHub(char *db, char *table) /* Show schema on a hub track. */ { struct trackDb *tdb = hashMustFindVal(fullTableToTdbHash, table); hubConnectAddDescription(db, tdb); char *type = cloneFirstWord(tdb->type); if (tdbIsBigBed(tdb)) showSchemaBigBed(table, tdb); else if (sameString(type, "longTabix")) showSchemaLongTabix(table, tdb); else if (sameString(type, "bam"))