39e090676e60afcf302c046587af55b3f8926727 hiram Thu Jul 18 10:25:14 2013 -0700 checking in Robert's code refs #9741 diff --git src/hg/inc/rmskAlign.h src/hg/inc/rmskAlign.h new file mode 100644 index 0000000..a24a9b6 --- /dev/null +++ src/hg/inc/rmskAlign.h @@ -0,0 +1,77 @@ +/* rmskAlign.h was originally generated by the autoSql program, which also + * generated rmskAlign.c and rmskAlign.sql. This header links the database and + * the RAM representation of objects. */ + +#ifndef RMSKALIGN_H +#define RMSKALIGN_H + +#define RMSKALIGN_NUM_COLS 17 + +struct rmskAlign +/* RepeatMasker .align record */ + { + struct rmskAlign *next; /* Next in singly linked list. */ + unsigned swScore; /* Smith Waterman alignment score */ + unsigned milliDiv; /* Base mismatches in parts per thousand */ + unsigned milliDel; /* Bases deleted in parts per thousand */ + unsigned milliIns; /* Bases inserted in parts per thousand */ + char *genoName; /* Genomic sequence name */ + unsigned genoStart; /* Start in genomic sequence */ + unsigned genoEnd; /* End in genomic sequence */ + int genoLeft; /* -#bases after match in genomic sequence */ + char strand[2]; /* Relative orientation + or - */ + char *repName; /* Name of repeat */ + char *repClass; /* Class of repeat */ + char *repFamily; /* Family of repeat */ + int repStart; /* Start in repeat sequence */ + unsigned repEnd; /* End in repeat sequence */ + int repLeft; /* -#bases after match in repeat sequence */ + unsigned id; /* The ID of the hit. Used to link related fragments */ + char *alignment; /* The alignment data stored as a single string */ + }; + +void rmskAlignStaticLoad(char **row, struct rmskAlign *ret); +/* Load a row from rmskAlign table into ret. The contents of ret will + * be replaced at the next call to this function. */ + +struct rmskAlign *rmskAlignLoad(char **row); +/* Load a rmskAlign from row fetched with select * from rmskAlign + * from database. Dispose of this with rmskAlignFree(). */ + +struct rmskAlign *rmskAlignLoadAll(char *fileName); +/* Load all rmskAlign from whitespace-separated file. + * Dispose of this with rmskAlignFreeList(). */ + +struct rmskAlign *rmskAlignLoadAllByChar(char *fileName, char chopper); +/* Load all rmskAlign from chopper separated file. + * Dispose of this with rmskAlignFreeList(). */ + +#define rmskAlignLoadAllByTab(a) rmskAlignLoadAllByChar(a, '\t'); +/* Load all rmskAlign from tab separated file. + * Dispose of this with rmskAlignFreeList(). */ + +struct rmskAlign *rmskAlignCommaIn(char **pS, struct rmskAlign *ret); +/* Create a rmskAlign out of a comma separated string. + * This will fill in ret if non-null, otherwise will + * return a new rmskAlign */ + +void rmskAlignFree(struct rmskAlign **pEl); +/* Free a single dynamically allocated rmskAlign such as created + * with rmskAlignLoad(). */ + +void rmskAlignFreeList(struct rmskAlign **pList); +/* Free a list of dynamically allocated rmskAlign's */ + +void rmskAlignOutput(struct rmskAlign *el, FILE *f, char sep, char lastSep); +/* Print out rmskAlign. Separate fields with sep. Follow last field with lastSep. */ + +#define rmskAlignTabOut(el,f) rmskAlignOutput(el,f,'\t','\n'); +/* Print out rmskAlign as a line in a tab-separated file. */ + +#define rmskAlignCommaOut(el,f) rmskAlignOutput(el,f,',',','); +/* Print out rmskAlign as a comma separated list including final comma. */ + +/* -------------------------------- End autoSql Generated Code -------------------------------- */ + +#endif /* RMSKALIGN_H */ +