3afb1ad18d251832c36c02910ba194a3996ab47a
braney
  Mon May 9 14:56:22 2016 -0700
some changes to bigPsl format

diff --git src/hg/lib/bigPsl.c src/hg/lib/bigPsl.c
index 4991fba..af55dbe 100644
--- src/hg/lib/bigPsl.c
+++ src/hg/lib/bigPsl.c
@@ -39,31 +39,31 @@
 int sizeOne;
 sqlSignedDynamicArray(row[11], &ret->chromStarts, &sizeOne);
 assert(sizeOne == ret->blockCount);
 }
 ret->oChromStart = sqlUnsigned(row[12]);
 ret->oChromEnd = sqlUnsigned(row[13]);
 safecpy(ret->oStrand, sizeof(ret->oStrand), row[14]);
 ret->oChromSize = sqlUnsigned(row[15]);
 {
 int sizeOne;
 sqlSignedDynamicArray(row[16], &ret->oChromStarts, &sizeOne);
 assert(sizeOne == ret->blockCount);
 }
 ret->oSequence = cloneString(row[17]);
 ret->oCDS = cloneString(row[18]);
-ret->oBlock = sqlUnsigned(row[19]);
+ret->chromSize = sqlUnsigned(row[19]);
 ret->match = sqlUnsigned(row[20]);
 ret->misMatch = sqlUnsigned(row[21]);
 ret->repMatch = sqlUnsigned(row[22]);
 ret->nCount = sqlUnsigned(row[23]);
 return ret;
 }
 
 struct bigPsl *bigPslLoadAll(char *fileName) 
 /* Load all bigPsl from a whitespace-separated file.
  * Dispose of this with bigPslFreeList(). */
 {
 struct bigPsl *list = NULL, *el;
 struct lineFile *lf = lineFileOpen(fileName, TRUE);
 char *row[24];
 
@@ -141,31 +141,31 @@
 sqlFixedStringComma(&s, ret->oStrand, sizeof(ret->oStrand));
 ret->oChromSize = sqlUnsignedComma(&s);
 {
 int i;
 s = sqlEatChar(s, '{');
 AllocArray(ret->oChromStarts, ret->blockCount);
 for (i=0; i<ret->blockCount; ++i)
     {
     ret->oChromStarts[i] = sqlUnsignedComma(&s);
     }
 s = sqlEatChar(s, '}');
 s = sqlEatChar(s, ',');
 }
 ret->oSequence = sqlStringComma(&s);
 ret->oCDS = sqlStringComma(&s);
-ret->oBlock = sqlUnsignedComma(&s);
+ret->chromSize = sqlUnsignedComma(&s);
 ret->match = sqlUnsignedComma(&s);
 ret->misMatch = sqlUnsignedComma(&s);
 ret->repMatch = sqlUnsignedComma(&s);
 ret->nCount = sqlUnsignedComma(&s);
 *pS = s;
 return ret;
 }
 
 void bigPslFree(struct bigPsl **pEl)
 /* Free a single dynamically allocated bigPsl such as created
  * with bigPslLoad(). */
 {
 struct bigPsl *el;
 
 if ((el = *pEl) == NULL) return;
@@ -260,79 +260,78 @@
     {
     fprintf(f, "%u", el->oChromStarts[i]);
     fputc(',', f);
     }
 if (sep == ',') fputc('}',f);
 }
 fputc(sep,f);
 if (sep == ',') fputc('"',f);
 fprintf(f, "%s", el->oSequence);
 if (sep == ',') fputc('"',f);
 fputc(sep,f);
 if (sep == ',') fputc('"',f);
 fprintf(f, "%s", el->oCDS);
 if (sep == ',') fputc('"',f);
 fputc(sep,f);
-fprintf(f, "%u", el->oBlock);
+fprintf(f, "%u", el->chromSize);
 fputc(sep,f);
 fprintf(f, "%u", el->match);
 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)
+struct psl  *pslFromBigPsl( char *chrom, struct bigBedInterval *bb,  char **seq, char **cds)
 /* build a psl from a bigPsl */
 {
 char *extra = cloneString(bb->rest);
 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]);
+psl->tSize = sqlUnsigned(row[16]);
 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->strand[2] = 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;
     }
 
 pslComputeInsertCounts(psl);
 return psl;
 }