9602d19ee87ad78e36ba6970cf4372937406d170
braney
Thu Sep 7 15:57:32 2017 -0700
copy hgCollection hubs when saved or restored from sessions
diff --git src/hg/hgCollection/hgCollection.c src/hg/hgCollection/hgCollection.c
index 6732a7a..4ab61dd 100644
--- src/hg/hgCollection/hgCollection.c
+++ src/hg/hgCollection/hgCollection.c
@@ -20,31 +20,31 @@
#include "customComposite.h"
#include "stdlib.h"
/* Global Variables */
struct cart *cart; /* CGI and other variables */
struct hash *oldVars = NULL; /* The cart before new cgi stuff added. */
char *genome = NULL; /* Name of genome - mouse, human, etc. */
char *database = NULL; /* Current genome database - hg17, mm5, etc. */
char *regionType = NULL; /* genome, ENCODE pilot regions, or specific position range. */
struct grp *fullGroupList = NULL; /* List of all groups. */
struct trackDb *fullTrackList = NULL; /* List of all tracks in database. */
struct pipeline *compressPipeline = (struct pipeline *)NULL;
// Null terminated list of CGI Variables we don't want to save permanently:
-char *excludeVars[] = {"Submit", "submit", "hgva_startQuery", NULL,};
+char *excludeVars[] = {"Submit", "submit", "hgva_startQuery", "jsonp", NULL,};
struct track
{
struct track *next;
struct track *trackList;
struct trackDb *tdb;
char *name;
char *shortLabel;
char *longLabel;
char *visibility;
unsigned long color;
char *viewFunc;
};
char *getString(char **input)
@@ -145,40 +145,36 @@
if (tdb->subtracks)
{
struct trackDb *subTdb;
jsInlineF("
");
for(subTdb = tdb->subtracks; subTdb; subTdb = subTdb->next)
printGroup(trackHubSkipHubName(tdb->track), subTdb, user && (subTdb->subtracks != NULL), user);
jsInlineF("
");
}
jsInlineF("");
}
static void outHubHeader(FILE *f, char *db, char *hubName)
// output a track hub header
{
-char *hubFile = strrchr(hubName, '/') + 1;
-
fprintf(f,"hub hub1\n\
shortLabel User Composite\n\
longLabel User Composite\n\
-genomesFile %s\n\
-email braney@soe.ucsc.edu\n\
-descriptionUrl hub.html\n\n", hubFile);
-fprintf(f,"genome %s\n\
-trackDb %s\n\n", db, hubFile);
+useOneFile on\n\
+email genome-www@soe.ucsc.edu\n\n");
+fprintf(f,"genome %s\n\n", db);
}
static char *getHubName(char *db)
// get the name of the hub to use for user collections
{
struct tempName hubTn;
char buffer[4096];
safef(buffer, sizeof buffer, "%s-%s", customCompositeCartName, db);
char *hubName = cartOptionalString(cart, buffer);
if (hubName == NULL)
{
trashDirDateFile(&hubTn, "hgComposite", "hub", ".txt");
hubName = cloneString(hubTn.forCgi);
@@ -460,31 +456,31 @@
fprintf(f, "\n");
}
static void outComposite(FILE *f, struct track *collection)
// output a composite header for user composite
{
char *parent = collection->name;
char *shortLabel = collection->shortLabel;
char *longLabel = collection->longLabel;
fprintf(f,"track %s\n\
shortLabel %s\n\
compositeTrack on\n\
aggregate none\n\
longLabel %s\n\
%s on\n\
-\tcolor %ld,%ld,%ld \n\
+color %ld,%ld,%ld \n\
type wig \n\
visibility full\n\n", parent, shortLabel, longLabel, CUSTOM_COMPOSITE_SETTING,
0xff& (collection->color >> 16),0xff& (collection->color >> 8),0xff& (collection->color));
}
int snakePalette2[] =
{
0x1f77b4, 0xaec7e8, 0xff7f0e, 0xffbb78, 0x2ca02c, 0x98df8a, 0xd62728, 0xff9896, 0x9467bd, 0xc5b0d5, 0x8c564b, 0xc49c94, 0xe377c2, 0xf7b6d2, 0x7f7f7f, 0xc7c7c7, 0xbcbd22, 0xdbdb8d, 0x17becf, 0x9edae5
};
static char *skipColl(char *str)
{
if (startsWith("coll_", str))
return &str[5];