2b5eb866f050d964d8964ec5a84f7b63889cc6b1
angie
  Mon Jun 3 14:39:36 2013 -0700
New CGI, hgVai (Variant Annotation Integrator): simple checklist-styleUI by which user can select variants that they have uploaded; gene
predictions to identify which part of a gene, if any, is hit by each
variant; several additional sources of annotations/predictions e.g.
dbNSFP scores and conserved elements/scores; and several filters to
constrain output to the variants most likely to have a functional effect.
Along with the new CGI, there are various lib bugfixes and improvements,
a new hg/lib/tests/ testcase, and some test file changes to accomodate
data updates to both knownGene and the pg* tables in knownGene.
refs #6152

diff --git src/hg/hgVai/libifyMe.h src/hg/hgVai/libifyMe.h
new file mode 100644
index 0000000..9af7fab
--- /dev/null
+++ src/hg/hgVai/libifyMe.h
@@ -0,0 +1,40 @@
+/* Stuff lifted from hgTables that should be libified. */
+
+#ifndef LIBIFYME_H
+#define LIBIFYME_H
+
+#include "annoFormatVep.h"
+#include "annoStreamVcf.h"
+
+boolean lookupPosition(struct cart *cart, char *cartVar);
+/* Look up position if it is not already seq:start-end.
+ * Return FALSE if it has written out HTML showing multiple search results.
+ * If webGotWarnings() is true after this returns FALSE, no match was found
+ * and a warning box was displayed, in which case it's good to reset position
+ * to cart's lastPosition before proceeding. */
+
+boolean hasCustomTracks(struct cart *cart);
+/* Return TRUE if cart has custom tracks for the current db. */
+
+void nbSpaces(int count);
+/* Print some non-breaking spaces. */
+
+void initGroupsTracksTables(struct cart *cart,
+			    struct trackDb **retFullTrackList, struct grp **retFullGroupList);
+/* Get lists of all tracks and of groups that actually have tracks in them. */
+
+struct annoAssembly *getAnnoAssembly(char *db);
+/* Make annoAssembly for db. */
+
+struct annoStreamer *streamerFromTrack(struct annoAssembly *assembly, char *selTable,
+				       struct trackDb *tdb, char *chrom, int maxOutRows);
+/* Figure out the source and type of data and make an annoStreamer. */
+
+struct annoGrator *gratorFromTrack(struct annoAssembly *assembly, char *selTable,
+				   struct trackDb *tdb, char *chrom, int maxOutRows,
+				   struct asObject *primaryAsObj,
+				   enum annoGratorOverlap overlapRule);
+/* Figure out the source and type of data, make an annoStreamer & wrap in annoGrator.
+ * If not NULL, primaryAsObj is used to determine whether we can make an annoGratorGpVar. */
+
+#endif//ndef LIBIFYME_H