File: samplingSequences.h

package info (click to toggle)
fastml 3.11-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,772 kB
  • sloc: cpp: 48,522; perl: 3,588; ansic: 819; makefile: 386; python: 83; sh: 55
file content (33 lines) | stat: -rw-r--r-- 961 bytes parent folder | download | duplicates (5)
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
30
31
32
33
#ifndef SAMPLE_SEQUENCES_H
#define SAMPLE_SEQUENCES_H

#include "definitions.h"
#include "distanceMethod.h"
#include "sequenceContainer.h"
#include "pDistance.h"


class sampleSequences{
public:
	explicit sampleSequences(sequenceContainer &sc);	
	virtual ~sampleSequences() {};

	sequenceContainer sampleFarthestSequences(int n, distanceMethod *dm);
	//sampleRandomSequences: samples seqNum sequences from the sequence container
	sequenceContainer sampleRandomSequences(int seqNum);
	//sampleRandomCharacters: samples seqLen characters from the sequenceContainer
	sequenceContainer sampleRandomCharacters(int seqLen);


private:
	int findNextSeq(vector<int> &sampled);
	void setDistance(int i,int j,MDOUBLE dist);
	MDOUBLE getDistance(int i,int j);
	void removeSequenceWithGap();
	sequenceContainer removeSequences(sequenceContainer &sc);
	void printDistances();
private:
	VVdouble _distances;
	sequenceContainer _sc;
};
#endif