+++ /dev/null
-/**
- * Author: Mark Larkin
- *
- * Copyright (c) 2007 Des Higgins, Julie Thompson and Toby Gibson.
- */
-/** The aim of this class is to return one sequence at a time.
- * Note that the file must be open when it is passed to the FileParser.
- * The parser does not know the name of the file to open. Only the filereader knows.
- *
- * Changes:
- *
- * Mark 24-1-2007. I added the function findDelimiter to determine if '\r' or '\n'
- * will be used as the line delimiter when parsing the file.
- *
- * 10-02-07,Nigel Brown(EMBL): Removed delimiter and findDelimiter()
- * members, as functionality now handled by the stream class.
- */
-#ifndef FILEPARSER_H
-#define FILEPARSER_H
-
-#include <ctype.h>
-#include "../alignment/Sequence.h"
-#include "../general/userparams.h"
-#include <iostream>
-#include "InFileStream.h"
-
-namespace clustalw
-{
-
-class FileParser
-{
- public:
- /* Functions */
- FileParser();
- virtual ~FileParser();
- virtual vector<Sequence> getSeqRange(int firstSeq, int num, string *offendingSeq) = 0;
- virtual Sequence getSeq(int seqNum, string *offendingSeq=NULL) = 0;
- virtual int countSeqs() = 0; // VIRTUAL
- virtual void getSecStructure(vector<char>& gapPenaltyMask,
- vector<char>& secStructMask,
- string& secStructName, int &structPenalties, int length) = 0;
- void fillCharTab(void);
- char getDelimiter(string filename);
- /* Attributes */
- char chartab[128];
- int getParseExitCode() { return parseExitCode; };
-
- protected:
- void freeFileResources(InFileStream* filePtr);
- InFileStream* _fileIn;
- int parseExitCode; // reason for returning empty sequence
- // vector; same as used in FileReader
-
- private:
- /* Functions */
-
- /* Attributes */
-
-};
-
-}
-#endif
-