provide a user interface to edit motifs
[mussa.git] / alg / mussa.hpp
index 8cf8ffa771644be5264b48f8263e2570816f7a75..b4a6e26d4638d5cbed7dc1f25c29ffc7d9a3ad41 100644 (file)
@@ -116,6 +116,13 @@ class Mussa
     void load_old(char * load_file_path, int s_num);
 
     // manage motif lists
+    //! add vector of motifs and colors to our motif collection
+    /*! this depends on sets and color maps being unique
+     *  (aka if you add the same item more than once it doesn't
+     *  increase the size of the data structure
+     */
+    void add_motifs(const std::vector<std::string>& motifs, 
+                    const std::vector<Color>& colors);
     //! load motifs from an ifstream
     /*! The file should look something like
      *  <sequence> <red> <green> <blue>
@@ -126,11 +133,16 @@ class Mussa
     void load_motifs(std::istream &);
     //! load a list of motifs from a file named filename
     void load_motifs(std::string filename);
+    //! return our motifs;
+    const std::set<std::string>& motifs() const;
 
     //! return color mapper
     AnnotationColors& colorMapper();
 
   private:
+    //! push motifs to our attached sequences
+    void update_sequences_motifs();
+
     // Private variables
     // parameters needed for a mussa analysis
     //! name of this analysis. (will also be used when saving an analysis)