a28db878858e0398a84afa488da7061e29b0918d braney Wed Aug 20 16:37:22 2014 -0700 first cut at genePredToBigGenePred refs #13681 diff --git src/hg/inc/bigGenePred.h src/hg/inc/bigGenePred.h new file mode 100644 index 0000000..bc96677 --- /dev/null +++ src/hg/inc/bigGenePred.h @@ -0,0 +1,80 @@ +/* bigGenePred.h was originally generated by the autoSql program, which also + * generated bigGenePred.c and bigGenePred.sql. This header links the database and + * the RAM representation of objects. */ + +#ifndef BIGGENEPRED_H +#define BIGGENEPRED_H + +#define BIGGENEPRED_NUM_COLS 20 + +#include "genePred.h" + +extern char *bigGenePredCommaSepFieldNames; + +struct bigGenePred +/* bigGenePred gene models */ + { + struct bigGenePred *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; /* Name or ID of item, ideally both human readable and unique */ + unsigned score; /* Score (0-1000) */ + char strand[2]; /* + or - for strand */ + unsigned thickStart; /* Start of where display should be thick (start codon) */ + unsigned thickEnd; /* End of where display should be thick (stop codon) */ + unsigned itemRgb; /* RGB value (use R,G,B string in input file) */ + unsigned blockCount; /* Number of blocks */ + unsigned *blockSizes; /* Comma separated list of block sizes */ + unsigned *chromStarts; /* Start positions relative to chromStart */ + char *name2; /* Alternative/human readable name */ + enum cdsStatus cdsStartStat; /* enum('none','unk','incmpl','cmpl') */ + enum cdsStatus cdsEndStat; /* enum('none','unk','incmpl','cmpl') */ + int *exonFrames; /* Exon frame {0,1,2}, or -1 if no frame for exon */ + char *type; /* Transcript type */ + char *geneName; /* Primary identifier for gene */ + char *geneName2; /* Alternative/human readable gene name */ + char *geneType; /* Gene type */ + }; + +struct bigGenePred *bigGenePredLoad(char **row); +/* Load a bigGenePred from row fetched with select * from bigGenePred + * from database. Dispose of this with bigGenePredFree(). */ + +struct bigGenePred *bigGenePredLoadAll(char *fileName); +/* Load all bigGenePred from whitespace-separated file. + * Dispose of this with bigGenePredFreeList(). */ + +struct bigGenePred *bigGenePredLoadAllByChar(char *fileName, char chopper); +/* Load all bigGenePred from chopper separated file. + * Dispose of this with bigGenePredFreeList(). */ + +#define bigGenePredLoadAllByTab(a) bigGenePredLoadAllByChar(a, '\t'); +/* Load all bigGenePred from tab separated file. + * Dispose of this with bigGenePredFreeList(). */ + +struct bigGenePred *bigGenePredCommaIn(char **pS, struct bigGenePred *ret); +/* Create a bigGenePred out of a comma separated string. + * This will fill in ret if non-null, otherwise will + * return a new bigGenePred */ + +void bigGenePredFree(struct bigGenePred **pEl); +/* Free a single dynamically allocated bigGenePred such as created + * with bigGenePredLoad(). */ + +void bigGenePredFreeList(struct bigGenePred **pList); +/* Free a list of dynamically allocated bigGenePred's */ + +void bigGenePredOutput(struct bigGenePred *el, FILE *f, char sep, char lastSep); +/* Print out bigGenePred. Separate fields with sep. Follow last field with lastSep. */ + +#define bigGenePredTabOut(el,f) bigGenePredOutput(el,f,'\t','\n'); +/* Print out bigGenePred as a line in a tab-separated file. */ + +#define bigGenePredCommaOut(el,f) bigGenePredOutput(el,f,',',','); +/* Print out bigGenePred as a comma separated list including final comma. */ + +/* -------------------------------- End autoSql Generated Code -------------------------------- */ + +#endif /* BIGGENEPRED_H */ +