ba66786a683bce0f6c38efbdcad60686984478b4
markd
  Sun Jun 11 13:12:41 2023 -0700
correctly handle getting target block end on protein/rna PSLs

diff --git src/inc/psl.h src/inc/psl.h
index 507b663..aaf2934 100644
--- src/inc/psl.h
+++ src/inc/psl.h
@@ -344,30 +344,33 @@
 INLINE unsigned pslTStart(struct psl *psl, int blkIdx)
 /* return target start for the given block */
 {
 return psl->tStarts[blkIdx];
 }
 
 INLINE unsigned pslQEnd(struct psl *psl, int blkIdx)
 /* return query end for the given block */
 {
 return psl->qStarts[blkIdx] + psl->blockSizes[blkIdx];
 }
 
 INLINE unsigned pslTEnd(struct psl *psl, int blkIdx)
 /* return target end for the given block */
 {
+if (pslIsProtein(psl))
+    return psl->tStarts[blkIdx] + 3 * psl->blockSizes[blkIdx];
+else
     return psl->tStarts[blkIdx] + psl->blockSizes[blkIdx];
 }
 
 struct psl* pslClone(struct psl *psl);
 /* clone a psl */
 
 extern char *pslSortList[5];
 
 void pslSortListByVar(struct psl **pslList, char *sort);
 /* Sort a list of psls using the method definied in the sort string. */
 
 void pslRemoveFrameShifts(struct psl *psl);
 /* Remove any frameshits if present. Changes in place, doesn't update statistics in first nine fields. */
 #endif /* PSL_H */