-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclustering.h
29 lines (24 loc) · 1.04 KB
/
clustering.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef KLED_CLUSTERING_H
#define KLED_CLUSTERING_H
#include "signature.h"
#include <vector>
#include "input.h"
#include "kled.h"
// class Cluster
// {
// public:
// std::vector<Signature> Signatures;
// int BaseStart, BaseEnd;//If a first layer cluster has more than a half signatures, this marks its signatures locations
// };
struct ClusterCore
{
int Begin,End;
ClusterCore(int B=0,int E=0):Begin(B),End(E){}
};
float distance(const Signature &A, const Signature &B, bool Partial=true, float *PPD=NULL);
int precisionLevel(const Signature &A);
int bestPrecision(const Signature &A,const Signature &B);
int worstPrecision(const Signature &A,const Signature &B);
void clustering(int SVTypeI, std::string & ContigName, std::vector<Signature> & SortedSignatures, std::vector<std::vector<Signature>> &Clusters, std::vector<ClusterCore> &Cores, Stats BamStats, Arguments& Args);
// void simpleClustering(std::vector<Signature> & SortedSignatures, std::vector<std::vector<Signature>> &Clusters, Stats BamStats);//like jcrd and cuteSV
#endif