Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef OPENMS_CHEMISTRY_TRYPTICITERATOR_H
00036 #define OPENMS_CHEMISTRY_TRYPTICITERATOR_H
00037
00038 #include <OpenMS/CHEMISTRY/PepIterator.h>
00039 #include <OpenMS/CONCEPT/Exception.h>
00040 #include <vector>
00041
00042 namespace OpenMS
00043 {
00048 class OPENMS_DLLAPI TrypticIterator :
00049 public PepIterator
00050 {
00051
00052 public:
00053
00054 typedef std::pair<String, String> FASTAEntry;
00058 TrypticIterator();
00062 TrypticIterator(const TrypticIterator &);
00066 virtual ~TrypticIterator();
00067
00073 virtual FASTAEntry operator*();
00074
00080 virtual PepIterator & operator++();
00081
00087 virtual PepIterator * operator++(int i);
00088
00094 virtual void setFastaFile(const String & f);
00095
00100 virtual String getFastaFile();
00101
00106 virtual void setTolerance(DoubleReal)
00107 {
00108 throw Exception::NotImplemented(__FILE__, __LINE__, __PRETTY_FUNCTION__);
00109 }
00110
00116 virtual DoubleReal getTolerance()
00117 {
00118 throw Exception::NotImplemented(__FILE__, __LINE__, __PRETTY_FUNCTION__);
00119 }
00120
00125 virtual void setSpectrum(const std::vector<DoubleReal> &)
00126 {
00127 throw Exception::NotImplemented(__FILE__, __LINE__, __PRETTY_FUNCTION__);
00128 }
00129
00135 virtual const std::vector<DoubleReal> & getSpectrum()
00136 {
00137 throw Exception::NotImplemented(__FILE__, __LINE__, __PRETTY_FUNCTION__);
00138 }
00139
00145 virtual bool begin();
00146
00152 virtual bool isAtEnd();
00153
00158 virtual bool isDigestingEnd(char aa1, char aa2);
00159
00164 static const String getProductName()
00165 {
00166 return "TrypticIterator";
00167 }
00168
00173 static PepIterator * create()
00174 {
00175 return new TrypticIterator;
00176 }
00177
00178 protected:
00183 virtual std::string next_();
00184
00189 bool hasNext_();
00190
00194 void goToNextAA_();
00195
00196 String f_file_;
00197
00198 std::string actual_pep_;
00199
00200 bool is_at_end_;
00201
00202 PepIterator * f_iterator_;
00203
00204 FASTAEntry f_entry_;
00205
00206 unsigned int b_, e_;
00207
00208
00209
00210 };
00211
00212 }
00213 #endif //OPENMS_CHEMISTRY_EDWARDSLIPPERTITERATOR_H