Mac binaries
[jabaws.git] / website / archive / binaries / mac / src / muscle / seqvect.h
1 #ifndef SeqVect_h\r
2 #define SeqVect_h\r
3 \r
4 #include <vector>\r
5 #include "seq.h"\r
6 \r
7 typedef std::vector<Seq *> SeqVectBase;\r
8 \r
9 class SeqVect : public SeqVectBase\r
10         {\r
11 public:\r
12         SeqVect() {}\r
13         virtual ~SeqVect();\r
14 \r
15 private:\r
16 // Not implemented; prevent use of copy c'tor and assignment.\r
17         SeqVect(const SeqVect &);\r
18         SeqVect &operator=(const SeqVect &);\r
19 \r
20 public:\r
21         void FromFile(TextFile &File)\r
22                 {\r
23                 FromFASTAFile(File);\r
24                 }\r
25 \r
26         void FromFASTAFile(TextFile &File);\r
27         void ToFASTAFile(TextFile &File) const;\r
28 \r
29         void ToFile(TextFile &File) const\r
30                 {\r
31                 ToFASTAFile(File);\r
32                 }\r
33 \r
34         void PadToMSA(MSA &msa);\r
35         void Copy(const SeqVect &rhs);\r
36         void StripGaps();\r
37         void StripGapsAndWhitespace();\r
38         void ToUpper();\r
39         void Clear();\r
40         unsigned Length() const { return (unsigned) size(); }\r
41         unsigned GetSeqCount() const { return (unsigned) size(); }\r
42         void AppendSeq(const Seq &s);\r
43         bool FindName(const char *ptrName, unsigned *ptruIndex) const;\r
44         void LogMe() const;\r
45         const char *GetSeqName(unsigned uSeqIndex) const;\r
46         unsigned GetSeqId(unsigned uSeqIndex) const;\r
47         unsigned GetSeqIdFromName(const char *Name) const;\r
48         unsigned GetSeqLength(unsigned uSeqIndex) const;\r
49         void SetSeqId(unsigned uSeqIndex, unsigned uId);\r
50         Seq &GetSeq(unsigned uIndex);\r
51         Seq &GetSeqById(unsigned uId);\r
52         const Seq &GetSeq(unsigned uIndex) const;\r
53 \r
54         ALPHA GuessAlpha() const;\r
55         void FixAlpha();\r
56 \r
57 #ifndef _WIN32\r
58         reference at(size_type i) { return operator[](i); }\r
59         const_reference at(size_type i) const { return operator[](i); }\r
60 #endif\r
61         };\r
62 \r
63 #endif  // SeqVect_h\r