a155f3262aa051b6b97e8c3ef0caba8304b992a0
max
  Sat Jul 11 10:13:44 2026 -0700
Comment: simpleFeature qStart/qEnd are only meaningful for alignment tracks

They carry query-sequence coordinates for PSL/BAM/chain/snake features and are
left 0 for gene models (genePred), where there is no query sequence. Noting
this at the field so nobody assumes they are populated everywhere.

diff --git src/hg/hgTracks/hgTracks.h src/hg/hgTracks/hgTracks.h
index d6325d24634..78db044769a 100644
--- src/hg/hgTracks/hgTracks.h
+++ src/hg/hgTracks/hgTracks.h
@@ -368,31 +368,32 @@
     struct group *next;	   /* Next group in list. */
     char *name;		   /* Symbolic name. */
     char *label;	   /* User visible name. */
     float priority;        /* Display order, 0 is on top. */
     float defaultPriority; /* original priority before reordering */
     struct trackRef *trackList;  /* List of tracks. */
     boolean defaultIsClosed; /* close the track group by default. */
     char *errMessage;      /* any error messages that came up during trackDb parsing. */
     };
 
 struct simpleFeature
 /* Minimal feature - just stores position in browser coordinates. */
     {
     struct simpleFeature *next;
     int start, end;			/* Start/end in browser coordinates. */
-    int qStart, qEnd;			/* query start/end */
+    int qStart, qEnd;			/* query start/end; only used for alignment tracks
+                                         * (PSL, BAM, chain, snake); 0 for gene models (genePred). */
     int grayIx;                         /* Level of gray usually. */
     int codonIndex;                     /* 1-based codon index (ignored if 0) */
     char codonAa;                       /* For a codon, its display amino-acid letter:
                                          * AA letter, '*' stop, 'M' start, 'X' error/partial,
                                          * 0 if not a codon.  Set when grayIx is. */
     };
 
 /* Some details of how to draw linked features. */
 enum {lfSubXeno = 1};
 enum {lfSubSample = 2};
 enum {lfWithBarbs = 3}; /* Turn on barbs to show direction based on
                          * strand field */
 enum {lfSubChain = 4};
 enum {lfNoIntronLines = 5}; /* Draw no lines between exon blocks */