5711ac6c2bcaeda814ae1049a0661f499775885e markd Wed Dec 13 00:36:12 2023 -0800 change pslProtToRnaCoords to use common code with pslMap to convert protein/NA to CDS-coordinate/NA alignments. This will correctly remove overlapping blocks after conversion diff --git src/inc/psl.h src/inc/psl.h index 3774681..0cd5090 100644 --- src/inc/psl.h +++ src/inc/psl.h @@ -255,30 +255,33 @@ void pslDump(struct psl *psl, FILE *f); /* Dump most of PSL to file - for debugging. */ struct psl *pslTrimToTargetRange(struct psl *oldPsl, int tMin, int tMax); /* Return psl trimmed to fit inside tMin/tMax. Note this does not * update the match/misMatch and related fields. */ struct psl *pslTrimToQueryRange(struct psl *oldPsl, int qMin, int qMax); /* Return psl trimmed to fit inside qMin/qMax. Note this does not * update the match/misMatch and related fields. */ void pslRecalcBounds(struct psl *psl); /* Calculate qStart/qEnd tStart/tEnd at top level to be consistent * with blocks. */ +void pslRecalcBaseCounts(struct psl *psl); +/* Update match/mismatch base counts in PSL, assuming everything is a match */ + int pslCheck(char *pslDesc, FILE* out, struct psl* psl); /* Validate a PSL for consistency. pslDesc is printed the error messages * to file out (open /dev/null to discard). Return count of errors. */ int pslCheck2(unsigned opts, char *pslDesc, FILE* out, struct psl* psl); /* Validate a PSL for consistency. pslDesc is printed the error messages to * file out (open /dev/null to discard). Return count of errors. Option * PSL_CHECK_IGNORE_INSERT_CNTS doesn't validate problems insert counts fields * in each PSL. Useful because protein PSL doesn't seen to compute these in a * consistent way. */ int pslCountBlocks(struct psl *target, struct psl *query, int maxBlockGap); /* count the number of blocks in the query that overlap the target */ /* merge blocks that are closer than maxBlockGap */