Next version of JABA
[jabaws.git] / binaries / src / clustalw / src / fileInput / ClustalFileParser.h
1 /**
2  * Author: Mark Larkin
3  * 
4  * Copyright (c) 2007 Des Higgins, Julie Thompson and Toby Gibson.  
5  */
6 #ifndef CLUSTALFILEPARSER_H
7 #define CLUSTALFILEPARSER_H
8
9 #include <string>
10 #include "FileParser.h"
11
12 namespace clustalw
13 {
14
15 class ClustalFileParser : public FileParser
16 {
17     public:
18         /* Functions */
19         ClustalFileParser(string filePath);
20         ~ClustalFileParser();
21         virtual Sequence getSeq(int seqNum, string *offendingSeq=NULL);
22         virtual vector<Sequence> getSeqRange(int firstSeq, int num, string *offendingSeq=NULL);
23         virtual int countSeqs();
24         virtual void getSecStructure(vector<char>& gapPenaltyMask, 
25                 vector<char>& secStructMask,
26                string& secStructName, int &structPenalties, int length); 
27
28         /* Attributes */
29
30     private:
31         /* Functions */
32         bool clustalBlankline(char* line); // Only used in this class!
33         string fileName;
34         /* Attributes */
35         
36 };
37
38 }
39 #endif