96a9e9c972d2e613ef3ff5839ec84c43ada535ba markd Thu Nov 4 15:26:46 2010 -0700 librarized the cigar to psl code diff --git src/inc/psl.h src/inc/psl.h index 1624a76..a7b60f7 100644 --- src/inc/psl.h +++ src/inc/psl.h @@ -284,30 +284,35 @@ char *tName, bioSeq *tSeq, int tStart, int tEnd, int exnStarts[], int exnEnds[], int exnCnt, FILE *f); /* Show protein/DNA alignment or translated DNA alignment in HTML format. */ struct psl* pslNew(char *qName, unsigned qSize, int qStart, int qEnd, char *tName, unsigned tSize, int tStart, int tEnd, char *strand, unsigned blockSpace, unsigned opts); /* create a new psl with space for the specified number of blocks allocated. * pslGrow maybe used to expand this space if needed. Valid options are * PSL_XA_FORMAT. */ void pslGrow(struct psl *psl, int *blockSpacePtr); /* Increase memory allocated to a psl to hold more blocks. blockSpacePtr * should point the the current maximum number of blocks and will be * updated to with the new amount of space. */ +struct psl* pslFromCigar(char *qName, int qSize, int qStart, int qEnd, + char *tName, int tSize, int tStart, int tEnd, + char* strand, char *cigar); +/* create a PSL from a cigar formatted alignment */ + int pslRangeTreeOverlap(struct psl *psl, struct rbTree *rangeTree); /* Return amount that psl overlaps (on target side) with rangeTree. */ float pslIdent(struct psl *psl); /* computer fraction identity */ float pslQueryAligned(struct psl *psl); /* compute fraction of query that was aligned */ INLINE unsigned pslQEnd(struct psl *psl, int blkIdx) /* return query end for the given block */ { return psl->qStarts[blkIdx] + psl->blockSizes[blkIdx]; }