814df69886d2dc7c791db10417901a9768931c88
angie
  Mon Jun 1 17:16:44 2015 -0700
Added support for bigGenePred to anno* libs for hgVai and hgIntegrator.
While updating annoFormatVep.c to use column indices from autoSql instead of
hardcoding genePred indices, I found that I had been using an incorrect index
for strand anyway -- so I removed 3 lines of no-op code.
refs #15439

diff --git src/hg/lib/bigGenePred.c src/hg/lib/bigGenePred.c
index 3731892..53ff1b2 100644
--- src/hg/lib/bigGenePred.c
+++ src/hg/lib/bigGenePred.c
@@ -279,15 +279,48 @@
 fputc(sep,f);
 if (sep == ',') fputc('"',f);
 if (el->geneName2 != NULL)
     fprintf(f, "%s", el->geneName2);
 if (sep == ',') fputc('"',f);
 fputc(sep,f);
 if (sep == ',') fputc('"',f);
 if (el->geneType != NULL)
     fprintf(f, "%s", el->geneType);
 if (sep == ',') fputc('"',f);
 fputc(lastSep,f);
 }
 
 /* -------------------------------- End autoSql Generated Code -------------------------------- */
 
+static char *bigGenePredAutoSqlString =
+"table bigGenePred\n"
+"\"bigGenePred gene models\"\n"
+"   (\n"
+"   string chrom;       \"Reference sequence chromosome or scaffold\"\n"
+"   uint   chromStart;  \"Start position in chromosome\"\n"
+"   uint   chromEnd;    \"End position in chromosome\"\n"
+"   string name;        \"Name or ID of item, ideally both human readable and unique\"\n"
+"   uint score;         \"Score (0-1000)\"\n"
+"   char[1] strand;     \"+ or - for strand\"\n"
+"   uint thickStart;    \"Start of where display should be thick (start codon)\"\n"
+"   uint thickEnd;      \"End of where display should be thick (stop codon)\"\n"
+"   uint reserved;       \"RGB value (use R,G,B string in input file)\"\n"
+"   int blockCount;     \"Number of blocks\"\n"
+"   int[blockCount] blockSizes; \"Comma separated list of block sizes\"\n"
+"   int[blockCount] chromStarts; \"Start positions relative to chromStart\"\n"
+"   string name2;       \"Alternative/human readable name\"\n"
+"   string cdsStartStat; \"enum('none','unk','incmpl','cmpl')\"\n"
+"   string cdsEndStat;   \"enum('none','unk','incmpl','cmpl')\"\n"
+"   int[blockCount] exonFrames; \"Exon frame {0,1,2}, or -1 if no frame for exon\"\n"
+"   string type;        \"Transcript type\"\n"
+"   string geneName;    \"Primary identifier for gene\"\n"
+"   string geneName2;   \"Alternative/human readable gene name\"\n"
+"   string geneType;    \"Gene type\"\n"
+"   )\n"
+    ;
+
+struct asObject *bigGenePredAsObj()
+// Return asObject describing fields of bigGenePred
+{
+return asParseText(bigGenePredAutoSqlString);
+}
+