src/hg/overlapSelect/coordCols.h 1.3
1.3 2010/01/30 01:14:00 markd
allow specifying location of name when specifying column indices so that -statsOutput is useful
Index: src/hg/overlapSelect/coordCols.h
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/overlapSelect/coordCols.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -B -U 1000000 -r1.2 -r1.3
--- src/hg/overlapSelect/coordCols.h 24 Jul 2006 19:36:08 -0000 1.2
+++ src/hg/overlapSelect/coordCols.h 30 Jan 2010 01:14:00 -0000 1.3
@@ -1,38 +1,47 @@
/* coordCols - parsing of file by specifying coordinate columns */
#ifndef COORD_COLS_H
#define COORD_COLS_H
struct rowReader;
struct coordCols
/* coordinate columns to parse from file */
{
int chromCol;
int startCol;
int endCol;
int strandCol; /* -1 if unspecified */
+ int nameCol; /* -1 if unspecified */
int minNumCols; /* min number of cols */
};
struct coordColVals
/* values parsed from a row */
{
char *chrom;
int start;
int end;
char strand;
+ char *name; // dynamic
};
struct coordCols coordColsParseSpec(char *optName, char* optValue);
/* parse coordinate specified in an option. Can be in the form
* - chromCol - chrom in this column followed by start and end.
- * - chromCol,startCol,endCol - chrom, start, and end in specified
- * columns.
- * - chromCol,startCol,endCol,strandCol - chrom, start,, end, and
- * strand in specified columns.
+ * - chromCol,startCol,endCol,strandCol,name - chrom, start, end, and
+ * strand in specified columns. With unneeded columns empty or dropped
+ * from the end.
*/
struct coordColVals coordColParseRow(struct coordCols* cols,
struct rowReader *rr);
-/* parse coords from a row */
+/* parse coords from a row, call coordColsRelease when done with result */
+
+
+INLINE void coordColsValsRelease(struct coordColVals *colVals)
+/* free any dynamic memory in colVals. ColVals is automatic, so is not
+ * freed */
+{
+freez(&colVals->name);
+}
#endif