34b850ae144d1c2156abe6ec230c2d2ae992cf6f
braney
  Thu Aug 6 15:51:57 2015 -0700
more polish for bigPsl support.  hgc alignments work now  #14241

diff --git src/hg/lib/bigPsl.c src/hg/lib/bigPsl.c
index 5d01be7..bf99660 100644
--- src/hg/lib/bigPsl.c
+++ src/hg/lib/bigPsl.c
@@ -278,59 +278,60 @@
 fputc(sep,f);
 fprintf(f, "%u", el->misMatch);
 fputc(sep,f);
 fprintf(f, "%u", el->repMatch);
 fputc(sep,f);
 fprintf(f, "%u", el->nCount);
 fputc(lastSep,f);
 }
 
 /* -------------------------------- End autoSql Generated Code -------------------------------- */
 
 struct psl  *pslFromBigPsl( char *chrom, struct bigBedInterval *bb, unsigned chromSize, char **seq, char **cds)
 /* build a psl from a bigPsl */
 {
 char *extra = cloneString(bb->rest);
-int numCols = 12 + 11 - 3;
+int numCols = 12 + 12 - 3;
 char *row[numCols];
 int wordCount = chopByChar(extra, '\t', row, numCols);
 assert(wordCount == numCols);
 
 struct psl *psl;
 int ii;
 int sizeOne;
 AllocVar(psl);
 
 psl->qName = cloneString(row[0]); 
 psl->strand[0] = *row[2];
 if ((cds != NULL) && row[15] != NULL)
     *cds = cloneString(row[15]);
 
 if ((seq != NULL) && row[14] != NULL)
-    {
     *seq = cloneString(row[14]);
-    if (*psl->strand == '-')
-	reverseComplement(*seq, strlen(*seq));
-    }
+psl->match = sqlUnsigned(row[17]);
+psl->misMatch = sqlUnsigned(row[18]);
+psl->repMatch = sqlUnsigned(row[19]);
+psl->nCount = sqlUnsigned(row[20]);
 psl->tName = chrom;
 psl->tStart = bb->start;
 psl->tEnd = bb->end;
 psl->tSize = chromSize;
 psl->blockCount = sqlSigned(row[6]);
 sqlUnsignedDynamicArray(row[7], &psl->blockSizes, &sizeOne);
 assert(sizeOne == psl->blockCount);
 sqlUnsignedDynamicArray(row[8], &psl->tStarts, &sizeOne);
 assert(sizeOne == psl->blockCount);
 psl->qStart = sqlSigned(row[9]); 
 psl->qEnd = sqlSigned(row[10]); 
 psl->strand[1] = *row[11];
+psl->strand[1] = 0;
 psl->qSize = sqlSigned(row[12]); 
 sqlUnsignedDynamicArray(row[13], &psl->qStarts, &sizeOne);
 assert(sizeOne == psl->blockCount);
 for(ii=0; ii < psl->blockCount; ii++)
     {
     psl->tStarts[ii] += psl->tStart;
 //    psl->qStarts[ii] += psl->qStart;
     }
 
 return psl;
 }