17 lines
886 B
C++
17 lines
886 B
C++
#include "DnaManager.hpp"
|
|
#include <vector>
|
|
|
|
namespace Similarity
|
|
{
|
|
// float euclidean_distance(Dna *d1, Dna *d2); direct distance betwen vector. wont give 0 and 1
|
|
// float dot_product(Dna *d1, Dna *d2); doent return betwen 0 to 1
|
|
float cosine_similarity(Dna *d1, Dna *d2);
|
|
float cosine_similarity_int(Dna *d1, Dna *d2);
|
|
float hamming_distance(Dna *d1, Dna *d2);
|
|
// float jaccard_index(Dna *d1, Dna *d2); // primerja unio genov naprimer gleda ce je gen za nebo isti z genom za barvo za liste, to nerabimo
|
|
// float levenshtein_distance(Dna *d1, Dna *d2); // odstranjen ker mi vrne iste podatke kot hamming distance ki je bolj enostaven za izracun
|
|
// float needleman_wunsch(Dna *d1, Dna *d2); used for bioinformatics and aligment. Dont need its aligned alredy
|
|
|
|
typedef float(simil_func)(Dna *d1, Dna *d2);
|
|
float calc_similarity(std::vector<Dna> &vec, simil_func f);
|
|
} |