c2c780666cf30f764fe4eb81b7fad350b0a7391a
kate
  Thu Mar 8 15:56:39 2018 -0800
Add trackDb setting to indicate if there is a direction to the interaction (interactDirectional). refs #17512

diff --git src/hg/inc/interact.h src/hg/inc/interact.h
index 6602117..5b8ada9 100644
--- src/hg/inc/interact.h
+++ src/hg/inc/interact.h
@@ -3,44 +3,44 @@
  * the RAM representation of objects. */
 
 #ifndef INTERACT_H
 #define INTERACT_H
 
 #include "jksql.h"
 #define INTERACT_NUM_COLS 16
 
 extern char *interactCommaSepFieldNames;
 
 struct interact
 /* 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 */
+    unsigned chromStart;	/* Start position in chromosome of lower region. For interchromsomal, chromStart of this region */
+    unsigned chromEnd;	/* End position in chromosome of upper region. For interchromosomal, set to chromEnd of this region */
     char *name;	/* Name of item, for display.  Usually 'name1/name2' or empty */
     unsigned score;	/* Score from 0-1000 */
     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 */
+    unsigned color;	/* Item color, as itemRgb in bed9. Typically based on strength or filter */
+    char *sourceChrom;	/* Chromosome of source region (directional) or lower region. For interchromosomal, set to chrom of this region*/
+    unsigned sourceStart;	/* Start position in chromosome of source/lower/this region */
+    unsigned sourceEnd;	/* End position in chromosome of source/lower/this region */
+    char *sourceName;	/* Identifier of source/lower/this region. Can be used as link to related table */
+    char *targetChrom;	/* Chromosome of target region (directional) or upper region. for interchromsomal, set to chrom of other region */
+    unsigned targetStart;	/* Start position in chromosome of target/upper/other region */
+    unsigned targetEnd;	/* End position in chromosome of target/upper/other 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);