comparison SMART/Java/Python/Cpp/ncListCreator.hpp @ 18:94ab73e8a190

Uploaded
author m-zytnicki
date Mon, 29 Apr 2013 03:20:15 -0400
parents
children
comparison
equal deleted inserted replaced
17:b0e8584489e6 18:94ab73e8a190
1 #ifndef NC_LIST_CREATOR_HPP
2 #define NC_LIST_CREATOR_HPP
3
4 #include "ncList.hpp"
5 #include "table.hpp"
6 #include "genomicInterval.hpp"
7 #include <set>
8 #include <map>
9
10 typedef set<string> Chromosomes;
11 typedef map<string, NCList *> NCLists;
12
13 static const unsigned int H_CELL_SIZE = 2;
14 static const unsigned int L_CELL_SIZE = 4;
15 static const unsigned int T_CELL_SIZE = 5;
16
17 static const unsigned int START = 0;
18 static const unsigned int END = 1;
19 static const unsigned int LIST = 2;
20 static const unsigned int PARENT = 3;
21 static const unsigned int NEW = 4;
22 static const unsigned int LENGTH = 1;
23
24
25 class NCListCreator {
26
27 private:
28 string inputFileName;
29 Table *h, *l, *t;
30
31 string getFileName(string chromosome);
32 void buildLists(string chromosome);
33 void createTables(string chromosome);
34 void initLists(string chromosome);
35 void fillTables(string chromosome);
36 void labelLists();
37 void computeSubStart();
38 void computeAbsPosition();
39 void cleanFiles();
40 void transfer(string chromosome);
41 unsigned int nbLists, nbLines;
42
43
44 public:
45 Chromosomes chromosomes;
46 NCLists ncLists;
47
48 NCListCreator (string inputFileName);
49
50 void splitFile ();
51 void run ();
52
53 };
54
55 #endif
56
57