Skip to content
Snippets Groups Projects
Select Git revision
  • dc41b748597436bc7e8263bc9256147cbdfac8f3
  • master default protected
2 results

Mdp_toolbox.hpp

Blame
  • user avatar
    Denys Bulavka authored
    dc41b748
    History
    Mdp_toolbox.hpp 1.13 KiB
    #ifndef _MDP_TOOLBOX_
    #define _MDP_TOOLBOX_
    
    #include "Database.hpp"
    #include "Motif_pair.hpp"
    
    class Mdp_toolbox
    {
    private:
     
    
      //motif_discriminant_position[motif_1,motif_2] = motif_discriminant_position(motif_1, motif_2)
      std::map<Motif_pair, int > mdp_database;
      
      
      
      /*
        INPUT: string a, string b
        OUTPUT: number of letter that a and b have in common.
        Assumptions: a neither b have repetead letter, and if any of them has more than 10 letters then we treat it as it had all 20.
      */
      int intersection(std::string, std::string);
    
    
      int motif_discriminating_positions(Motif_pair);
      
    public:
      Mdp_toolbox();
      Mdp_toolbox(Database);
      std::vector<Motif_pair> get_pairs_k_discriminant_positions(int);
      int get_mdp(Motif_pair);
      std::vector<Motif_class> get_k_discriminant_motifs(Motif_class, int);
      std::map<Motif_pair, int> get_mdp_database();
      Database database;
      int alignval(Motif_class, Motif_class);
        /*
        INPUT: two vectors of string a and b of same length.
        OUTPUT: number of coordinates i such that a[i] and b[i] intersect.
      */
      int simple_motif_discriminating_positions(Motif_class, Motif_class);
    };
    
    #endif