1 /** 2 * Author: Mark Larkin 3 * 4 * Copyright (c) 2007 Des Higgins, Julie Thompson and Toby Gibson. 5 */ 6 #ifndef RSFFILEPARSER_H 7 #define RSFFILEPARSER_H 8 9 #include <string> 10 #include "FileParser.h" 11 12 namespace clustalw 13 { 14 15 class RSFFileParser : public FileParser 16 { 17 public: 18 /* Functions */ 19 RSFFileParser(string filePath); 20 virtual vector<Sequence> getSeqRange(int firstSeq, int num, string *offendingSeq=NULL); 21 virtual Sequence getSeq(int seqNum, string *offendingSeq=NULL); 22 virtual int countSeqs(); 23 virtual void getSecStructure(vector<char>& gapPenaltyMask, 24 vector<char>& secStructMask, string& secStructName, 25 int &structPenalties, int length); 26 27 /* Attributes */ 28 29 private: 30 /* Functions */ 31 void getRSFFeature(char* line, vector<char>& secStructMask, int length); 32 bool keyword(char *line, const char *code); 33 /* Attributes */ 34 string fileName; 35 }; 36 37 } 38 #endif 39 40 41