{
to_python_converter<pair_string, pair_string_to_tuple>();
- class_<Annotations>("annotations", init<std::string>())
+ class_<Annotations>("Annotations", init<std::string>())
.add_property("name", &Annotations::name, &Annotations::setName)
.def("__contains__", &map_item<Annotations>::in)
.def("__delitem__", &map_item<Annotations>::del)
.def("keys", &map_item<Annotations>::keys)
.def("values", &map_item<Annotations>::values)
.def("items", &map_item<Annotations>::items)
+ ;
- ;
-
- //register_ptr_to_python< AnnotationsRef >();
+ register_ptr_to_python< AnnotationsRef >();
}
//.add_property("alphabet",
// make_getter(&SeqSpan::get_alphabet,
// return_value_policy<copy_const_reference>()))
+ .add_property("annotations", &SeqSpan::annotations,
+ &SeqSpan::setAnnotations)
.add_property("start", &SeqSpan::start, &SeqSpan::setStart,
"start position relative to root sequence")
.add_property("stop", &SeqSpan::stop, &SeqSpan::setStop,
class TestAnnotations(unittest.TestCase):
def testSimple(self):
name_value = 'name_value'
- a = mussa.annotations(name_value)
+ a = mussa.Annotations(name_value)
self.failUnlessEqual( a['name'], name_value)
self.failUnlessEqual( len(a), 1)
self.failUnlessEqual( a.keys(), ['name'])
def testIter(self):
name_value = 'name_value'
- a = mussa.annotations(name_value)
+ a = mussa.Annotations(name_value)
l = [ x for x in a ]
self.failUnlessEqual(len(l), 1)
self.failUnlessEqual(l[0], ('name', 'name_value'))
# self.failUnless(sparent is s1.parent())
# self.failUnlessEqual(sparent == s1.parent())
+ def testAnnotations(self):
+ seq_text = "AAAAAG"
+ name = "As"
+ s = mussa.SeqSpan(seq_text)
+ s.annotations = mussa.Annotations(name)
+ self.failUnlessEqual(s.annotations.name, name)
+ self.failUnlessEqual(s.annotations['name'], name)
+
+ term_key = 'GO term'
+ term = "term"
+ s.annotations[term_key] = term
+ self.failUnlessEqual(s.annotations[term_key], term)
def suite():
return unittest.makeSuite(TestSeqSpan, 'test')