]> git.donarmstrong.com Git - mothur.git/blob - uc.h
631ea36a3024606f0d1635b70034305111aae818
[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         /* some function prototypes */\r
31         \r
32                 \r
33         UCFile();\r
34         void Clear(bool ctor = false);\r
35         void Close();\r
36         void FromFile(const string &FileName);\r
37         void FromClstr(const string &FileName);\r
38         void ToFile(const string &FileName);\r
39         unsigned GetRecordCount() const;\r
40         void LogMe() const;\r
41         void ToClstr(const string &FileName);\r
42         void ToFasta(const string &FileName, const SeqDB &Input, bool Reformat);\r
43         void Create(const string &FileName);\r
44         void Sort();\r
45         void Flush() const;\r
46 \r
47         void WriteNotMatched(unsigned L, const char *Label) const;\r
48         void WriteLibSeed(unsigned SeedIndex, unsigned L, const char *Label) const;\r
49         void WriteNewSeed(unsigned SeedIndex, unsigned L, const char *Label) const;\r
50         void WriteHit(const SeqData &SA, const SeqData &SB, double FractId,\r
51           const PathData &PD) const;\r
52         void WriteReject(const SeqData &SA, const SeqData &SB, double FractId,\r
53           const char *Path) const;\r
54         void WriteHit(unsigned SeedIndex, unsigned L, double PctId,\r
55           const char *CompressedPath, char Strand, unsigned Lo, unsigned SeedLo,\r
56           const char *Label, const char *SeedLabel) const;\r
57         void WriteHit(const AlnData &AD);\r
58         void WriteLibCluster(unsigned SeedIndex, unsigned Size, double AvgId,\r
59           const char *Label) const;\r
60         void WriteNewCluster(unsigned SeedIndex, unsigned Size, double AvgId,\r
61           const char *Label) const;\r
62         void WriteSeqX(FILE *f, const byte *Seq, unsigned L, const char *CompressedPath) const;\r
63         };\r
64 \r
65 #endif // uc_h\r