52a82d9b8de09cc9e7f0d02de1bcd4090cb2c5f5
braney
  Mon Mar 13 15:14:50 2017 -0700
fix bigPsl snakes on negative strand

diff --git src/hg/hgTracks/snakeTrack.c src/hg/hgTracks/snakeTrack.c
index 54cad7e..86f878b 100644
--- src/hg/hgTracks/snakeTrack.c
+++ src/hg/hgTracks/snakeTrack.c
@@ -1217,30 +1217,32 @@
 int seqTypeField =  0;
 if (sameString(track->tdb->type, "bigPsl"))
     {
     seqTypeField =  bbExtraFieldIndex(bbi, "seqType");
     }
 bbiFileClose(&bbi);
 for (bb = bbList; bb != NULL; bb = bb->next)
     {
     char *seq, *cds;
     struct psl *psl = pslFromBigPsl(chromName, bb, seqTypeField,  &seq, &cds); 
     unsigned *targetStart = psl->tStarts;
     unsigned *queryStart = psl->qStarts;
     unsigned *size = psl->blockSizes;
     int ii;
 
+    if ((seq != NULL) && (psl->strand[0] == '-'))
+        reverseComplement(seq, strlen(seq));
     for(ii = 0; ii < psl->blockCount; ii++)
         {
         struct hal_block_t *block;
         AllocVar(block);
         slAddHead(&head->mappedBlocks, block);
 
         block->qChrom = psl->qName;
         block->tStart = *targetStart++;
         block->qStart = *queryStart++;
         block->size = *size++;
         block->strand = psl->strand[0];
         block->qSequence = &seq[block->qStart];
 
         if (block->strand == '-')
             block->qStart = psl->qSize - block->qStart;