def testDynamicOutgroupsOnRandomTrees(self): for tree, seqMap in zip(self.mcTrees, self.dummySeqMaps): degree = max([len(tree.getChildren(x)) for x in tree.breadthFirstTraversal()]) if degree < 8: og = DynamicOutgroup() og.edgeLen = 5 og.importTree(tree, seqMap) og.compute(maxNumOutgroups=3) # make sure all entries have <= 3 outgroups. assert all(map(lambda x: len(x) <= 3, og.ogMap.values())) # and for all entries, the closest must be first. # (this will be true because all sequences are the same) assert all(map(lambda x: x == sorted(x, key=itemgetter(1)), og.ogMap.values()))
def testDynamicOutgroupsOnRandomTrees(self): for tree, seqMap in zip(self.mcTrees, self.dummySeqMaps): degree = max([ len(tree.getChildren(x)) for x in tree.breadthFirstTraversal() ]) if degree < 8: og = DynamicOutgroup() og.edgeLen = 5 og.importTree(tree, seqMap) og.compute(maxNumOutgroups=3) # make sure all entries have <= 3 outgroups. assert all(map(lambda x: len(x) <= 3, og.ogMap.values())) # and for all entries, the closest must be first. # (this will be true because all sequences are the same) assert all( map(lambda x: x == sorted(x, key=itemgetter(1)), og.ogMap.values()))