// UniprotParser.hpp #if !defined(UNIPROT_PARSER_HPP) #define UNIPROT_PARSER_HPP #include #include "Parser.hpp" #include "Reader.hpp" namespace NGBW { struct UniprotRecord { void clear() throw() { identity.clear(); accession.clear(); description.clear(); organism.clear(); version.clear(); sequence.clear(); } std::string identity; std::string accession; std::string description; std::string organism; std::string version; std::string sequence; }; class UniprotParser : public Parser { public: UniprotParser(Reader &input) throw() : Parser(input) { } ~UniprotParser() throw() { } bool Parse(UniprotRecord &record); private: void ParseIdentity(UniprotRecord &record); void ParseAccession(UniprotRecord &record); void ParseDate(UniprotRecord &record); void ParseDescription(UniprotRecord &record); void ParseOrganism(UniprotRecord &record); void ParseSequence(UniprotRecord &record); bool FindEndToken(); }; } // namespace NGBW #endif // UNIPROT_PARSER_HPP