def test_conversion(self):
        fn = self.fn
        g = GenomeNode.create_from_ptr(fn.gn, True)
        self.assertEqual((100, 500), g.range)

        f2 = FeatureNode.create_from_ptr(g.gn, True)
        self.assertEqual((100, 500), f2.range)
예제 #2
0
    def test_conversion(self):
        fn = self.fn
        g = GenomeNode.create_from_ptr(fn.gn, True)
        self.assertEqual((100, 500), g.range)

        f2 = FeatureNode.create_from_ptr(g.gn, True)
        self.assertEqual((100, 500), f2.range)
예제 #3
0
 def setUp(self):
     self.fn = FeatureNode.create_new("foo", "gene", 100, 10000, "+")
     self.cn = CommentNode.create_new("comment")
     self.rn = RegionNode.create_new("foo", 100, 2000)
     self.sn = SequenceNode.create_new("foo", "AGATATAGA")
     self.tv = TestVisitor()
     self.etv = ErrorTestVisitor()
예제 #4
0
 def setUp(self):
     self.fn = FeatureNode.create_new("foo", "gene", 100, 10000, "+")
     self.cn = CommentNode.create_new("comment")
     self.rn = RegionNode.create_new("foo", 100, 2000)
     self.sn = SequenceNode.create_new("foo", "AGATATAGA")
     self.en = EOFNode.create_new()
     self.mn = MetaNode.create_new("foo", "bar")
     self.tv = TestVisitor()
     self.etv = ErrorTestVisitor()
 def test_iterator(self):
     fn = self.fn
     fn3 = FeatureNode.create_new("test", "type3", 250, 300, "+")
     fn4 = FeatureNode.create_new("test", "type4", 250, 300, "+")
     fn.add_child(fn3)
     fn.add_child(fn4)
     # try object as iterator
     types = []
     for i, f in enumerate(fn):
         types.append(f.type)
     self.assertEqual(types, ["type", "type2", "type3", "type4"], types)
     self.assert_(i == 3, i)
     # try iterator method
     types = []
     for i, f in enumerate(fn.traverse_dfs()):
         types.append(f.type)
     self.assertEqual(types, ["type", "type2", "type3", "type4"], types)
     self.assert_(i == 3, i)
     # try callable object as iterator
     types = []
     for i, f in enumerate(fn(method="depth_first")):
         types.append(f.type)
     self.assertEqual(types, ["type", "type2", "type3", "type4"], types)
     self.assert_(i == 3, i)
     # direct
     types = []
     for i, f in enumerate(fn(method="direct")):
         types.append(f.type)
     self.assertEqual(types, ["type2", "type3", "type4"], types)
     self.assert_(i == 2, i)
     types = []
     for i, f in enumerate(fn.traverse_direct()):
         types.append(f.type)
     self.assertEqual(types, ["type2", "type3", "type4"], types)
     self.assert_(i == 2, i)
     fn.depth_first = False
     types = []
     for i, f in enumerate(fn):
         types.append(f.type)
     self.assertEqual(types, ["type2", "type3", "type4"], types)
     self.assert_(i == 2, i)
예제 #6
0
 def test_iterator(self):
     fn = self.fn
     fn3 = FeatureNode.create_new("test", "type3", 250, 300, "+")
     fn4 = FeatureNode.create_new("test", "type4", 250, 300, "+")
     fn.add_child(fn3)
     fn.add_child(fn4)
     # try object as iterator
     types = []
     for i, f in enumerate(fn):
         types.append(f.type)
     self.assertEqual(types, ["type", "type2", "type3", "type4"], types)
     self.assert_(i == 3, i)
     # try iterator method
     types = []
     for i, f in enumerate(fn.traverse_dfs()):
         types.append(f.type)
     self.assertEqual(types, ["type", "type2", "type3", "type4"], types)
     self.assert_(i == 3, i)
     # try callable object as iterator
     types = []
     for i, f in enumerate(fn(method="depth_first")):
         types.append(f.type)
     self.assertEqual(types, ["type", "type2", "type3", "type4"], types)
     self.assert_(i == 3, i)
     # direct
     types = []
     for i, f in enumerate(fn(method="direct")):
         types.append(f.type)
     self.assertEqual(types, ["type2", "type3", "type4"], types)
     self.assert_(i == 2, i)
     types = []
     for i, f in enumerate(fn.traverse_direct()):
         types.append(f.type)
     self.assertEqual(types, ["type2", "type3", "type4"], types)
     self.assert_(i == 2, i)
     fn.depth_first = False
     types = []
     for i, f in enumerate(fn):
         types.append(f.type)
     self.assertEqual(types, ["type2", "type3", "type4"], types)
     self.assert_(i == 2, i)
    def test_fni(self):
        fn = self.fn
        fni = FeatureNodeIteratorDepthFirst(fn)
        num_features = 0
        tfn = fni.next()
        while tfn:
            tfn = fni.next()
            num_features += 1
        self.assertEqual(num_features, 2)

        fn3 = FeatureNode.create_new("test", "type3", 250, 300, "+")
        fn.add_child(fn3)
        fni = FeatureNodeIteratorDepthFirst(fn)

        num_features = 0
        tfn = fni.next()
        while tfn:
            num_features += 1
            tfn = fni.next()
        self.assertEqual(num_features, 3)
예제 #8
0
    def test_fni(self):
        fn = self.fn
        fni = FeatureNodeIteratorDepthFirst(fn)
        num_features = 0
        tfn = fni.next()
        while tfn:
            tfn = fni.next()
            num_features += 1
        self.assertEqual(num_features, 2)

        fn3 = FeatureNode.create_new("test", "type3", 250, 300, "+")
        fn.add_child(fn3)
        fni = FeatureNodeIteratorDepthFirst(fn)

        num_features = 0
        tfn = fni.next()
        while tfn:
            num_features += 1
            tfn = fni.next()
        self.assertEqual(num_features, 3)
 def setUp(self):
     self.fn = FeatureNode.create_new("test", "type", 100, 500, "+")
예제 #10
0
 def setUp(self):
     self.fn = FeatureNode.create_new("test", "type", 100, 500, "+")
     self.fn2 = FeatureNode.create_new("test", "type2", 200, 300, "+")
     self.fn.add_child(self.fn2)
예제 #11
0
 def setUp(self):
     self.fn = FeatureNode.create_new("test", "type", 100, 500, "+")
예제 #12
0
 def setUp(self):
     self.fn = FeatureNode.create_new("test", "type", 100, 500, "+")
     self.fn2 = FeatureNode.create_new("test", "type2", 200, 300, "+")
     self.fn.add_child(self.fn2)
예제 #13
0
 def visit_feature_node(self, fn):
     new_child = FeatureNode.create_new(fn.get_seqid(), "bar", 100, 1000,
                                        "+")
     fn.add_child(new_child)
 def visit_feature_node(self, fn):
     new_child = FeatureNode.create_new(fn.get_seqid(), "bar", 100, 1000, "+")
     fn.add_child(new_child)