f110fe9448ad3774780121c523c27ed25fcd6dff
markd
  Thu Aug 20 10:20:27 2015 -0700
pslClone needs to clone the statistics as well (no redmine)

diff --git src/lib/psl.c src/lib/psl.c
index db75b2e..db0c111 100644
--- src/lib/psl.c
+++ src/lib/psl.c
@@ -1968,29 +1968,37 @@
 
 float pslQueryAligned(struct psl *psl)
 /* compute fraction of query that was aligned */
 {
 float aligned = psl->match + psl->misMatch + psl->repMatch;
 return aligned/(float)psl->qSize;
 }
 
 struct psl* pslClone(struct psl *psl)
 /* clone a psl */
 {
 struct psl* pslCp = pslNew(psl->qName, psl->qSize, psl->qStart, psl->qEnd,
                            psl->tName, psl->tSize, psl->tStart, psl->tEnd,
                            psl->strand, psl->blockCount,
                            ((psl->tSequence != NULL) ? PSL_XA_FORMAT : 0));
+pslCp->match = psl->match;
+pslCp->misMatch = psl->misMatch;
+pslCp->repMatch = psl->repMatch;
+pslCp->nCount = psl->nCount;
+pslCp->qNumInsert = psl->qNumInsert;
+pslCp->qBaseInsert = psl->qBaseInsert;
+pslCp->tNumInsert = psl->tNumInsert;
+pslCp->tBaseInsert = psl->tBaseInsert;
 int iBlk;
 for (iBlk = 0; iBlk < psl->blockCount; iBlk++)
     {
     pslCp->blockSizes[iBlk] = psl->blockSizes[iBlk];
     pslCp->qStarts[iBlk] = psl->qStarts[iBlk];
     pslCp->tStarts[iBlk] = psl->tStarts[iBlk];
     if (psl->qSequence != NULL)
         pslCp->qSequence[iBlk] = cloneString(psl->qSequence[iBlk]);
     if (psl->tSequence != NULL)
         pslCp->tSequence[iBlk] = cloneString(psl->tSequence[iBlk]);
     pslCp->blockCount++;
     }
 return pslCp;
 }