class TestProxy(unittest.TestCase): def setUp(self): self.nexson = pathmap.nexson_obj('pg_329/pg_329.json') self.np = NexsonProxy(nexson=self.nexson) def testTaxoRooting(self): ott = OTT() phylo = self.np.get_tree(tree_id='tree324') evaluate_tree_rooting(self.nexson, ott, phylo)
class TestProxy(unittest.TestCase): def setUp(self): blob = pathmap.nexson_obj('9/v1.2.json') self.np = NexsonProxy(nexson=blob) def testGetters(self): self.assertIs(self.np.get_tree('bogus'), None) self.assertIsNot(self.np.get_tree('tree1'), None) self.assertIs(self.np.get_tree('otu123'), None) self.assertIs(self.np.get_otu('bogus'), None) self.assertIs(self.np.get_otu('tree1'), None) self.assertIsNot(self.np.get_otu('otu123'), None) def testCaching(self): f = self.np.get_tree('tree1') s = self.np.get_tree('tree1') self.assertIs(f, s) fn = f.get_node('node247') sn = s.get_node('node247') self.assertIs(fn, sn) fo = self.np.get_otu('otu123') so = sn.otu self.assertIs(fo, so) def testTreeIter(self): ntp = self.np.get_tree('tree1') nbi = ntp['nodeById'] ebi = ntp['edgeBySourceId'] ks = set(nbi.keys()) its = set() edge_less = None for node in ntp: its.add(node.node_id) self.assertIs(node.node, nbi[node.node_id]) if node.edge is None: self.assertIs(edge_less, None) edge_less = node.node_id else: s = node.edge['@source'] ed = ebi[s] self.assertIs(node.edge, ed[node.edge_id]) self.assertEqual(ntp['^ot:rootNodeId'], edge_less) self.assertEqual(ks, its)
# looking for the tree properties: ot:unrootedTree, ot:inGroupClade # and the study property ot:candidateTreeForSynthesis print("studyid,treeid,preferred,ingroup,unrooted") for d in included: studyid = d['studyID'] treeid = d['treeID'] # expect these defaults for synthesis trees unrootedTree = False ingroupSpecified = True preferredTree = True check = True nx = phy.get_study(studyid)['data'] np = NexsonProxy(nexson=nx) candidateTreeList = np._nexml_el['^ot:candidateTreeForSynthesis'] if treeid not in candidateTreeList: preferredTree = False check = False tree = np.get_tree(treeid) if tree['^ot:inGroupClade'] == "": ingroupSpecified = False check = False if tree['^ot:unrootedTree']: unrootedTree = True check = False if not check: print("{s},{t},{p},{i},{r}").format( s=studyid,
def setUp(self): self.nexson = pathmap.nexson_obj('pg_329/pg_329.json') self.np = NexsonProxy(nexson=self.nexson)
def setUp(self): blob = pathmap.nexson_obj('9/v1.2.json') self.np = NexsonProxy(nexson=blob)