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