34c07fa95c834c1377e4e185b1a9e19499a0d536 kate Tue Jan 30 15:48:56 2018 -0800 Update schema, based on input from Braney. Improve map boxes. refs #17512 diff --git src/hg/inc/interact.h src/hg/inc/interact.h index de761c3..66836e4 100644 --- src/hg/inc/interact.h +++ src/hg/inc/interact.h @@ -1,91 +1,93 @@ /* interact.h was originally generated by the autoSql program, which also * generated interact.c and interact.sql. This header links the database and * the RAM representation of objects. */ #ifndef INTERACT_H #define INTERACT_H #include "jksql.h" -#define INTERACT_NUM_COLS 15 +#define INTERACT_NUM_COLS 16 extern char *interactCommaSepFieldNames; + struct interact -/* Interaction between two regions, BED 6+9 */ +/* Interaction between two regions */ { struct interact *next; /* Next in singly linked list. */ char *chrom; /* Chromosome (or contig, scaffold, etc.). For interchromosomal, use 2 records */ unsigned chromStart; /* Start position in chromosome of lower region */ unsigned chromEnd; /* End position in chromosome of upper region. For interchromosomal, set to chromStart+1 */ char *name; /* Name of item, for display. Usually 'name1/name2' or empty */ unsigned score; /* Score from 0-1000 */ - char strand[2]; /* Direction of interaction (+ or -) */ - unsigned color; /* Item color, as itemRgb in bed9 */ - char *chrom1; /* Chromosome of first region */ - unsigned chromStart1; /* Start position in chromosome of first region */ - unsigned chromEnd1; /* End position in chromosome of first region */ - char *name1; /* Identifier of first region. Can be used as link to related table */ - char *chrom2; /* Chromosome of second region */ - unsigned chromStart2; /* Start position in chromosome of second region */ - unsigned chromEnd2; /* End position in chromosome of second region */ - char *name2; /* Identifier of second region. Can be used as link to related table */ + double value; /* Strength of interaction or other data value. Typically basis for score */ + char *exp; /* Experiment name (metadata for filtering) or empty. */ + unsigned color; /* Item color, as itemRgb in bed9. Typically based on strenght or filter */ + char *sourceChrom; /* Chromosome of source region (directional) or lower region. */ + unsigned sourceStart; /* Start position in chromosome of source/lower region */ + unsigned sourceEnd; /* End position in chromosome of source/lower region */ + char *sourceName; /* Identifier of source/lower region. Can be used as link to related table */ + char *targetChrom; /* Chromosome of target region (directional) or upper region */ + unsigned targetStart; /* Start position in chromosome of target/upper region */ + unsigned targetEnd; /* End position in chromosome of target/upper region */ + char *targetName; /* Identifier of target/upper region. Can be used as link to related table */ }; void interactStaticLoad(char **row, struct interact *ret); /* Load a row from interact table into ret. The contents of ret will * be replaced at the next call to this function. */ struct interact *interactLoadByQuery(struct sqlConnection *conn, char *query); /* Load all interact from table that satisfy the query given. * Where query is of the form 'select * from example where something=something' * or 'select example.* from example, anotherTable where example.something = * anotherTable.something'. * Dispose of this with interactFreeList(). */ void interactSaveToDb(struct sqlConnection *conn, struct interact *el, char *tableName, int updateSize); /* Save interact as a row to the table specified by tableName. * As blob fields may be arbitrary size updateSize specifies the approx size * of a string that would contain the entire query. Arrays of native types are * converted to comma separated strings and loaded as such, User defined types are * inserted as NULL. This function automatically escapes quoted strings for mysql. */ struct interact *interactLoad(char **row); /* Load a interact from row fetched with select * from interact * from database. Dispose of this with interactFree(). */ struct interact *interactLoadAll(char *fileName); /* Load all interact from whitespace-separated file. * Dispose of this with interactFreeList(). */ struct interact *interactLoadAllByChar(char *fileName, char chopper); /* Load all interact from chopper separated file. * Dispose of this with interactFreeList(). */ #define interactLoadAllByTab(a) interactLoadAllByChar(a, '\t'); /* Load all interact from tab separated file. * Dispose of this with interactFreeList(). */ struct interact *interactCommaIn(char **pS, struct interact *ret); /* Create a interact out of a comma separated string. * This will fill in ret if non-null, otherwise will * return a new interact */ void interactFree(struct interact **pEl); /* Free a single dynamically allocated interact such as created * with interactLoad(). */ void interactFreeList(struct interact **pList); /* Free a list of dynamically allocated interact's */ void interactOutput(struct interact *el, FILE *f, char sep, char lastSep); /* Print out interact. Separate fields with sep. Follow last field with lastSep. */ #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 -------------------------------- */ #endif /* INTERACT_H */