7f7b1d915bb9dd28229092ea4f2de80c3646a131 kate Tue Sep 18 17:17:38 2018 -0700 Additional validation for interact coords, and a tool to correct them. refs #21917 diff --git src/hg/inc/interact.h src/hg/inc/interact.h index c45e14a..58e8983 100644 --- src/hg/inc/interact.h +++ src/hg/inc/interact.h @@ -86,29 +86,36 @@ #define interactTabOut(el,f) interactOutput(el,f,'\t','\n'); /* Print out interact as a line in a tab-separated file. */ #define interactCommaOut(el,f) interactOutput(el,f,',',','); /* Print out interact as a comma separated list including final comma. */ /* -------------------------------- End autoSql Generated Code -------------------------------- */ struct asObject *interactAsObj(); /* Return asObject describing fields of barChart database table (includes bin) */ struct interact *interactLoadAndValidate(char **row); /* Load a interact from row fetched with select * from interact * from database, validating fields. Dispose of this with interactFree(). */ +struct interact *interactLoadAllAndValidate(char *fileName); +/* Load all interact from a whitespace-separated file. + * Dispose of this with interactFreeList(). */ + +void interactFixRange(struct interact *inter); +/* Set values for chromStart/chromEnd based on source and target start/ends */ + char *interactOtherChrom(struct interact *inter); /* Get other chromosome from an interaaction. Return NULL if same chromosome */ int interactRegionCenter(int start, int end); /* Return genomic location of center of region */ int interactRegionDistance(struct interact *inter); /* Return distance between region midpoints. Return -1 for other chromosome */ int interactDistanceCmp(const void *va, const void *vb); /* Compare based on distance between region midpoints */ #endif /* INTERACT_H */