-
Notifications
You must be signed in to change notification settings - Fork 1
/
Sequence.h
54 lines (44 loc) · 869 Bytes
/
Sequence.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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#pragma once
//#include "common.h"
#include <fstream>
using namespace std;
class Sequence {
public:
Sequence();
Sequence(const string& _data, string _id = string());
Sequence(const Sequence& orig, bool remapReverse = false);
virtual ~Sequence();
char* ToDalignFromat();
const string &GetData() const {
return data;
}
const string &GetId() const {
return id;
}
private:
char* dalignFromat;
string data;
string id;
};
class FASTA {
public:
FASTA(const string& _filename);
FASTA& operator>>(Sequence& seq);
private:
string filename;
};
class FASTQ {
public:
FASTQ(const string& filename);
FASTQ& operator>>(Sequence& seq);
operator bool() const {
return isOk;
};
private:
ifstream is;
bool isOk;
};
enum Direction {
EDIR_FORWARD,
EDIR_BACKWARD
};