Select Git revision
Mdp_toolbox.hpp
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