5c5df1a7446ad3368896deba413360935c334188
kate
  Wed Feb 10 13:12:47 2016 -0800
Support for multiple GTEx releases/versions (to add V6 track). refs #15645

diff --git src/hg/inc/gtexGeneBed.h src/hg/inc/gtexGeneBed.h
index 13ec81e..f88183b 100644
--- src/hg/inc/gtexGeneBed.h
+++ src/hg/inc/gtexGeneBed.h
@@ -1,71 +1,74 @@
 /* gtexGeneBed.h was originally generated by the autoSql program, which also 
  * generated gtexGeneBed.c and gtexGeneBed.sql.  This header links the database and
  * the RAM representation of objects. */
 
 #ifndef GTEXGENEBED_H
 #define GTEXGENEBED_H
 
 #define GTEXGENEBED_NUM_COLS 11
 
 extern char *gtexGeneBedCommaSepFieldNames;
 
 struct gtexGeneBed
 /* BED6+ with additional fields for gene and transcript IDs, and expression experiment scores */
     {
     struct gtexGeneBed *next;  /* Next in singly linked list. */
     char *chrom;	/* Reference sequence chromosome or scaffold */
     unsigned chromStart;	/* Start position in chromosome */
     unsigned chromEnd;	/* End position in chromosome */
     char *name;	/* Gene symbol */
     unsigned score;	/* Score from 0-1000 */
     char strand[2];	/* + or - for strand */
     char *geneId;	/* Ensembl gene ID, referenced in GTEx data tables */
     char *transcriptId;	/* Ensembl ID of Canonical transcript; determines genomic position */
     char *transcriptClass;	/* GENCODE transcript class (coding, nonCoding, pseudo) */
     unsigned expCount;	/* Number of experiment values */
     float *expScores;	/* Comma separated list of experiment scores */
     };
 
 struct gtexGeneBed *gtexGeneBedLoad(char **row);
 /* Load a gtexGeneBed from row fetched with select * from gtexGeneBed
  * from database.  Dispose of this with gtexGeneBedFree(). */
 
 struct gtexGeneBed *gtexGeneBedLoadAll(char *fileName);
 /* Load all gtexGeneBed from whitespace-separated file.
  * Dispose of this with gtexGeneBedFreeList(). */
 
 struct gtexGeneBed *gtexGeneBedLoadAllByChar(char *fileName, char chopper);
 /* Load all gtexGeneBed from chopper separated file.
  * Dispose of this with gtexGeneBedFreeList(). */
 
 #define gtexGeneBedLoadAllByTab(a) gtexGeneBedLoadAllByChar(a, '\t');
 /* Load all gtexGeneBed from tab separated file.
  * Dispose of this with gtexGeneBedFreeList(). */
 
 struct gtexGeneBed *gtexGeneBedCommaIn(char **pS, struct gtexGeneBed *ret);
 /* Create a gtexGeneBed out of a comma separated string. 
  * This will fill in ret if non-null, otherwise will
  * return a new gtexGeneBed */
 
 void gtexGeneBedFree(struct gtexGeneBed **pEl);
 /* Free a single dynamically allocated gtexGeneBed such as created
  * with gtexGeneBedLoad(). */
 
 void gtexGeneBedFreeList(struct gtexGeneBed **pList);
 /* Free a list of dynamically allocated gtexGeneBed's */
 
 void gtexGeneBedOutput(struct gtexGeneBed *el, FILE *f, char sep, char lastSep);
 /* Print out gtexGeneBed.  Separate fields with sep. Follow last field with lastSep. */
 
 #define gtexGeneBedTabOut(el,f) gtexGeneBedOutput(el,f,'\t','\n');
 /* Print out gtexGeneBed as a line in a tab-separated file. */
 
 #define gtexGeneBedCommaOut(el,f) gtexGeneBedOutput(el,f,',',',');
 /* Print out gtexGeneBed as a comma separated list including final comma. */
 
 /* -------------------------------- End autoSql Generated Code -------------------------------- */
 void gtexGeneBedCreateTable(struct sqlConnection *conn, char *table);
 /* Create expression record format table of given name. */
 
+char *gtexVersionSuffix(char *table);
+/* Return version string for a GTEx track table.  For now, just supporting V4 (no suffix) and V6 */
+
 #endif /* GTEXGENEBED_H */