15d0836b4dba65919e83ce5ef0aaafe5a0edc72f angie Wed Apr 17 12:49:53 2013 -0700 Making annoGratorGpVar able to handle VCF input too. In order for a grator tosee what type of input is coming from the primary source, the streamer should be passed in along with the primary row, as it is for formatters now. refs #6152 diff --git src/lib/annoStreamer.c src/lib/annoStreamer.c index 837e417..04eda7a 100644 --- src/lib/annoStreamer.c +++ src/lib/annoStreamer.c @@ -123,15 +123,30 @@ if (findColumn(columns, "chrom", retChromIx, retChromField)) { if (findColumn(columns, "chromStart", retStartIx, retStartField)) return findColumn(columns, "chromEnd", retEndIx, retEndField); else return (findColumn(columns, "txStart", retStartIx, retStartField) && findColumn(columns, "txEnd", retEndIx, retEndField)); } else if (findColumn(columns, "tName", retChromIx, retChromField)) return (findColumn(columns, "tStart", retStartIx, retStartField) && findColumn(columns, "tEnd", retEndIx, retEndField)); else if (findColumn(columns, "genoName", retChromIx, retChromField)) return (findColumn(columns, "genoStart", retStartIx, retStartField) && findColumn(columns, "genoEnd", retEndIx, retEndField)); return FALSE; } + +struct annoStreamRows *annoStreamRowsNew(struct annoStreamer *streamerList) +/* Returns an array of aSR, one for each streamer in streamerList. + * Typically array is reused by overwriting elements' rowList pointers. + * Free array when done. */ +{ +int streamerCount = slCount(streamerList); +struct annoStreamRows *data = NULL; +AllocArray(data, streamerCount); +struct annoStreamer *streamer = streamerList; +int i = 0; +for (; i < streamerCount; i++, streamer = streamer->next) + data[i].streamer = streamer; +return data; +}