Apparently I lost a } in a Mac OS X specific section of the code. Sowwy. Fixed.
[mussa.git] / py / sequence.cpp
index fbee90d08f34cba11ccd6c1062989cd262bcd481..a4ef37981360b0b00c31b08ad82b5dbf04b08cb8 100644 (file)
@@ -17,13 +17,22 @@ namespace fs = boost::filesystem;
 void export_sequence()
 {
   void (Sequence::*load_fasta_piii)(const fs::path, int, int, int) = &Sequence::load_fasta;
+  void (Sequence::*add_annotation_ssii)(
+          std::string, 
+          std::string, 
+          Sequence::size_type,
+          Sequence::size_type
+       ) = &Sequence::add_annotation;
   
   class_<Sequence>("Sequence")
     .def(init<std::string>())
+    .def("__getitem__", &Sequence::at, "return base pair at specified location",
+         return_value_policy<return_by_value>())
     .def("__len__", &Sequence::size, "return the length of the sequence")
     .def("__repr__", &Sequence::get_sequence, "display as string")
     .def("__str__", &Sequence::get_sequence, "cast to string")
-    .def("add_annotation", &Sequence::add_annotation, "append an annotation")
+    .def("add_annotation", add_annotation_ssii, 
+         "create an annotation from name, type, start, stop")
     //.def("annotations", &Sequence::annotations, "return list of annotations")
     .def("add_motif", &Sequence::add_motif, "add a motif sequenence")
     .def("clear", &Sequence::clear, "clear the sequence and its annotations")