def test_sampleLabelings(self): tree = Tree("(A:1,(B:1,(C:1,(E:1,D:1)Int_1:0.5[&&NHX:ancient=1])Int_2:0.5[&&NHX:ancient=0])Int_3:1)Root;", format=1) chrom = {} chrom["one"] = ["3","4"] species = {} species["C"] = chrom chrom = {} chrom["one"] = ["3","4"] species["D"] = chrom chrom = {} chrom["one"] = [] species["E"] = chrom chrom = {} chrom["one"] = [] species["A"] = chrom chrom = {} chrom["one"] = [] species["B"] = chrom adj = getAdjacencies.findAdjacencies(species) paths = getAdjacencies.findTreePaths(tree) internal,adjacenciesAncestral = getAdjacencies.assignAncestralAdjacencies(paths,adj,tree) graphs = globalAdjacencyGraph.createGraph(adj,adjacenciesAncestral) jointLabels, first = SR.enumJointLabelings(graphs) probs={"Int_1":{(6, 7):0.1},"Int_2":{(6, 7):0.1},"Int_3":{(6, 7):0.1},"Root":{(6, 7):0.1}} for i in range(0,10): validLabels, validAtNode = SR.validLabels(jointLabels,first) resolvedCCs = SR.sampleLabelings(tree, graphs, validAtNode, adj,probs, alpha=0) reconstructedAdj = SR.reconstructedAdjacencies(resolvedCCs) print reconstructedAdj
def test_assignAncestralAdjacencies(self): internal, adjacenciesAncestral = getAdjacencies.assignAncestralAdjacencies(self.paths, self.adj, self.tree) internal1 = internal[self.int1] unittest.TestCase.assertEqual(self, internal1, set([])) internal2 = internal[self.int2] internal3 = internal[self.int3] unittest.TestCase.assertEqual(self, internal2, internal3) shared = set([(2, 3)]) unittest.TestCase.assertEqual(self, internal2, shared) shared = set([(7, 9)]) unittest.TestCase.assertNotEqual(self, internal2, shared)