예제 #1
0
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()
예제 #2
0
 def __init__(self):
     self.mappings = []
     self.mapper = PslMap(self)