]> git.donarmstrong.com Git - mothur.git/blob - uc.h
1.22.0
[mothur.git] / uc.h
1 #ifndef uc_h\r
2 #define uc_h\r
3 \r
4 #include "seqdb.h"\r
5 #include "seq.h"\r
6 #include "path.h"\r
7 \r
8 struct AlnData;\r
9 \r
10 int uchime_main(int, char**); \r
11 \r
12 class UCFile\r
13         {\r
14 public:\r
15         FILE *m_File;\r
16         byte *m_Data;\r
17         vector<char> m_RecTypes;\r
18         vector<float> m_PctIds;\r
19         vector<const char *> m_Labels;\r
20         vector<const char *> m_SeedLabels;\r
21         vector<unsigned> m_SeedIndexes;\r
22         vector<const char *> m_CompressedPaths;\r
23         vector<unsigned> m_SeqLengths;\r
24         vector<unsigned> m_SortOrder;\r
25         vector<char> m_Strands;\r
26         vector<unsigned> m_Los;\r
27         vector<unsigned> m_SeedLos;\r
28 \r
29 public:\r
30         UCFile();\r
31         void Clear(bool ctor = false);\r
32         void Close();\r
33         void FromFile(const string &FileName);\r
34         void FromClstr(const string &FileName);\r
35         void ToFile(const string &FileName);\r
36         unsigned GetRecordCount() const;\r
37         void LogMe() const;\r
38         void ToClstr(const string &FileName);\r
39         void ToFasta(const string &FileName, const SeqDB &Input, bool Reformat);\r
40         void Create(const string &FileName);\r
41         void Sort();\r
42         void Flush() const;\r
43 \r
44         void WriteNotMatched(unsigned L, const char *Label) const;\r
45         void WriteLibSeed(unsigned SeedIndex, unsigned L, const char *Label) const;\r
46         void WriteNewSeed(unsigned SeedIndex, unsigned L, const char *Label) const;\r
47         void WriteHit(const SeqData &SA, const SeqData &SB, double FractId,\r
48           const PathData &PD) const;\r
49         void WriteReject(const SeqData &SA, const SeqData &SB, double FractId,\r
50           const char *Path) const;\r
51         void WriteHit(unsigned SeedIndex, unsigned L, double PctId,\r
52           const char *CompressedPath, char Strand, unsigned Lo, unsigned SeedLo,\r
53           const char *Label, const char *SeedLabel) const;\r
54         void WriteHit(const AlnData &AD);\r
55         void WriteLibCluster(unsigned SeedIndex, unsigned Size, double AvgId,\r
56           const char *Label) const;\r
57         void WriteNewCluster(unsigned SeedIndex, unsigned Size, double AvgId,\r
58           const char *Label) const;\r
59         void WriteSeqX(FILE *f, const byte *Seq, unsigned L, const char *CompressedPath) const;\r
60         };\r
61 \r
62 #endif // uc_h\r