39e090676e60afcf302c046587af55b3f8926727 hiram Thu Jul 18 10:25:14 2013 -0700 checking in Robert's code refs #9741 diff --git src/hg/inc/rmskOut2.h src/hg/inc/rmskOut2.h new file mode 100644 index 0000000..d41dc4d --- /dev/null +++ src/hg/inc/rmskOut2.h @@ -0,0 +1,105 @@ +/* rmskOut2.h was originally generated by the autoSql program, which also + * generated rmskOut2.c and rmskOut2.sql. This header links the database and + * the RAM representation of objects. */ + +#ifndef RMSKOUT2_H +#define RMSKOUT2_H + +#ifndef LINEFILE_H +#include "linefile.h" +#endif + +#define RMSKOUT2_NUM_COLS 16 + +struct rmskOut2 +/* RepeatMasker .out record */ + { + struct rmskOut2 *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 - regardless of orient. */ + unsigned repEnd; /* End in repeat sequence - reglardless of orient. */ + int repLeft; /* -#bases after match in repeat sequence - regardless of orient */ + unsigned id; /* The ID of the hit. Used to link related fragments */ + }; + +void rmskOut2StaticLoad(char **row, struct rmskOut2 *ret); +/* Load a row from rmskOut2 table into ret. The contents of ret will + * be replaced at the next call to this function. */ + +struct rmskOut2 *rmskOut2Load(char **row); +/* Load a rmskOut2 from row fetched with select * from rmskOut2 + * from database. Dispose of this with rmskOut2Free(). */ + +struct rmskOut2 *rmskOut2LoadAll(char *fileName); +/* Load all rmskOut2 from whitespace-separated file. + * Dispose of this with rmskOut2FreeList(). */ + +struct rmskOut2 *rmskOut2LoadAllByChar(char *fileName, char chopper); +/* Load all rmskOut2 from chopper separated file. + * Dispose of this with rmskOut2FreeList(). */ + +#define rmskOut2LoadAllByTab(a) rmskOut2LoadAllByChar(a, '\t'); +/* Load all rmskOut2 from tab separated file. + * Dispose of this with rmskOut2FreeList(). */ + +struct rmskOut2 *rmskOut2CommaIn(char **pS, struct rmskOut2 *ret); +/* Create a rmskOut2 out of a comma separated string. + * This will fill in ret if non-null, otherwise will + * return a new rmskOut2 */ + +void rmskOut2Free(struct rmskOut2 **pEl); +/* Free a single dynamically allocated rmskOut2 such as created + * with rmskOut2Load(). */ + +void rmskOut2FreeList(struct rmskOut2 **pList); +/* Free a list of dynamically allocated rmskOut2's */ + +void rmskOut2Output(struct rmskOut2 *el, FILE *f, char sep, char lastSep); +/* Print out rmskOut2. Separate fields with sep. Follow last field with lastSep. */ + +#define rmskOut2TabOut(el,f) rmskOut2Output(el,f,'\t','\n'); +/* Print out rmskOut2 as a line in a tab-separated file. */ + +#define rmskOut2CommaOut(el,f) rmskOut2Output(el,f,',',','); +/* Print out rmskOut2 as a comma separated list including final comma. */ + +/* -------------------------------- End autoSql Generated Code -------------------------------- */ + +struct rmskOut2 *rmskOut2Read(char *fileName); +/* Read all records in .out file and return as list. */ + +void rmskOut2OpenVerify(char *fileName, struct lineFile **retFile, boolean *retEmpty); +/* Open repeat masker .out file and verify that it is good. + * Set retEmpty if it has header characteristic of an empty file. */ + +struct rmskOut2 *rmskOut2ReadNext(struct lineFile *lf); +/* Read next record from repeat masker file. Return NULL at EOF. */ + +void rmskOut2WriteHead(FILE *f); +/* Write out rmsk header lines. */ + +void rmskOut2WriteOneOut(struct rmskOut2 *rmsk, FILE *f); +/* Write one rmsk in .out format to file. */ + +void rmskOut2WriteAllOut(char *fileName, struct rmskOut2 *rmskList); +/* Write .out format file containing all in rmskList. */ + +struct binKeeper *readRepeats2(char *chrom, char *rmskFileName, struct hash *tSizeHash); +/* read all repeats for a chromosome of size size, returns results in binKeeper structure for fast query*/ + +struct hash *readRepeatsAll2(char *sizeFileName, char *rmskDir); +/* read all repeats for a all chromosomes getting sizes from sizeFileNmae , returns results in hash of binKeeper structure for fast query*/ + +#endif /* RMSKOUT2_H */ +