7b2075fb991ac5be64eb0b8deb75436b956af981
markd
  Tue Feb 2 12:01:05 2016 -0800
added options to process minimally structured genes and to output root records that are not processed

diff --git src/inc/gff3.h src/inc/gff3.h
index 40f8558..d5dd0ed 100644
--- src/inc/gff3.h
+++ src/inc/gff3.h
@@ -227,30 +227,34 @@
 struct gff3File *gff3FileOpen(char *fileName, int maxErr, FILE *errFh);
 /* Parse a GFF3 file into a gff3File object.  If maxErr not zero, then
  * continue to parse until this number of error have been reached.  A maxErr
  * less than zero does not stop reports all errors. Write errors to errFh,
  * if NULL, use stderr. */
 
 void gff3FileFree(struct gff3File **g3fPtr);
 /* Free a gff3File object */
 
 struct gff3Ann *gff3FileFindAnn(struct gff3File *g3f, char *id);
 /* find an annotation record by id, or NULL if not found. */
 
 struct gff3Attr *gff3AnnFindAttr(struct gff3Ann *g3a, char *tag);
 /* find a user attribute, or NULL */
 
+void gff3AnnWrite(struct gff3Ann *g3a, FILE *fh);
+/* Write an annotation record to the specified file.
+ * This only writes a single record, it is not recursive.*/
+
 void gff3FileWrite(struct gff3File *g3f, char *fileName);
 /* write contents of an GFF3File object to a file */
 
 INLINE struct gff3AnnRef *gff3AnnRefNew(struct gff3Ann *g3a)
 /* Allocate a gff3AnnRef object from the heap.  Not used by the parsing code, as 
  * all data is contained in localMem objects */
 {
 struct gff3AnnRef *ref;
 AllocVar(ref);
 ref->ann = g3a;
 return ref;
 }
 
 int gff3AnnRefLocCmp(const void *va, const void *vb);
 /* sort compare function for location of two gff3AnnRef objects */