107e0be8c3032792a7953aebe3d754c19242da33 kent Sat Apr 27 18:12:10 2013 -0700 Making meta and manifest readers work with URLs. diff --git src/lib/meta.c src/lib/meta.c index c1ad25e..9a7880f 100644 --- src/lib/meta.c +++ src/lib/meta.c @@ -5,30 +5,31 @@ * * meta midLevel * target H3K4Me3 * antibody abCamAntiH3k4me3 * * meta lowLevel * fileName hg19/chipSeq/helaH3k4me3.narrowPeak.bigBed * The file is interpreted so that lower level stanzas inherit tags from higher level ones. */ #include "common.h" #include "linefile.h" #include "hash.h" #include "errabort.h" #include "meta.h" +#include "net.h" #include "ra.h" struct metaTagVal *metaTagValNew(char *tag, char *val) /* Create new meta tag/val */ { struct metaTagVal *mtv; AllocVar(mtv); mtv->tag = cloneString(tag); mtv->val = cloneString(val); return mtv; } void metaTagValFree(struct metaTagVal **pMtv) /* Free up metaTagVal. */ { @@ -203,31 +204,31 @@ return list; } struct meta *metaLoadAll(char *fileName, char *keyTag, char *parentTag, boolean ignoreOtherStanzas, boolean ignoreIndent) /* Loads in all ra stanzas from file and turns them into a list of meta, some of which * may have children. The keyTag parameter is optional. If non-null it should be set to * the tag name that starts a stanza. If null, the first tag of the first stanza will be used. * The parentTag if non-NULL will be a tag name used to define the parent of a stanza. * The ignoreOtherStanzas flag if set will ignore stanzas that start with other tags. * If not set the routine will abort on such stanzas. The ignoreIndent if set will * use the parentTag (which must be set) to define the hierarchy. Otherwise the program * will look at the indentation, and if there is a parentTag complain about any * disagreements between indentation and parentTag. */ { -struct lineFile *lf = lineFileOpen(fileName, TRUE); +struct lineFile *lf = netLineFileOpen(fileName); struct meta *meta, *forest = NULL, *lastMeta = NULL; if (ignoreIndent) { errAbort("Currently metaLoadAll can't ignore indentation, sorry."); } while ((meta = metaNextStanza(lf)) != NULL) { struct meta **pList; if (forest == NULL) /* First time. */ { if (meta->indent != 0) errAbort("Initial stanza of %s should not be indented", fileName); if (keyTag == NULL) keyTag = meta->tagList->tag; pList = &forest;