class MapTester(object): "test object that collects results" def __init__(self): self.mappings = [] self.mapper = PslMap(self) def mapBlock(self, psl, blk, qRngStart, qRngEnd, tRngStart, tRngEnd): self.mappings.append(("blk", psl.qName, blk.iBlk, qRngStart, qRngEnd, tRngStart, tRngEnd)) @staticmethod def __iBlkOrNone(blk): return blk.iBlk if blk is not None else None def mapGap(self, psl, prevBlk, nextBlk, qRngStart, qRngEnd, tRngStart, tRngEnd): self.mappings.append(("gap", psl.qName, MapTester.__iBlkOrNone(prevBlk), MapTester.__iBlkOrNone(nextBlk), qRngStart, qRngEnd, tRngStart, tRngEnd)) def __joinMappings(self): "join mappings into a tuple for testing and clear for next test" m = tuple(self.mappings) self.mappings = [] return m def targetToQueryMap(self, psl, tRngStart, tRngEnd): self.mapper.targetToQueryMap(psl, tRngStart, tRngEnd) return self.__joinMappings() def queryToTargetMap(self, psl, qRngStart, qRngEnd): self.mapper.queryToTargetMap(psl, qRngStart, qRngEnd) return self.__joinMappings()
def __init__(self): self.mappings = [] self.mapper = PslMap(self)