BioInt  1.02.00
BioInt: An integrative biological object-oriented application framework and interpreter
BioRestrictionEnzymeLibrary.h
Go to the documentation of this file.
00001 #ifndef BIORESTRICTIONENZYMELIBRARY_H
00002 #define BIORESTRICTIONENZYMELIBRARY_H
00003 
00004 using namespace std;
00005 #include <string>
00006 #include <map>
00007 #include <sstream>
00008 #include "BioUtilities.h"
00009 
00010 class BioRestrictionEnzymeLibrary
00011 {
00012     static bool isInitialised_;
00013     string enzymeName_,enzymeType_,accessionNumber_,organismName_,prototype_;
00014     string restrictionSite_,methylationSite_;
00015 static void initiA();
00016 static void initiB();
00017 static void initiC();
00018 static void initiD();
00019 static void initiE();
00020 static void initiF();
00021 static void initiG();
00022 static void initiH();
00023 static void initiI();
00024 static void initiK();
00025 static void initiL();
00026 static void initiM();
00027 static void initiN();
00028 static void initiO();
00029 static void initiP();
00030 static void initiR();
00031 static void initiS();
00032 static void initiT();
00033 static void initiU();
00034 static void initiV();
00035 static void initiX();
00036 static void initiY();
00037 static void initiZ();
00038   
00039 friend bool operator >( const BioRestrictionEnzymeLibrary& , const BioRestrictionEnzymeLibrary&);
00040   friend bool operator <( const BioRestrictionEnzymeLibrary& , const BioRestrictionEnzymeLibrary&);
00041   friend bool operator ==( const BioRestrictionEnzymeLibrary& ,  const BioRestrictionEnzymeLibrary&);
00042 
00043     public :
00044 
00045     BioRestrictionEnzymeLibrary(){}
00046     BioRestrictionEnzymeLibrary(string id_,string et_,string ac_,string os_,
00047                                 string pt_,string rs_,string ms_) :
00048         enzymeName_(id_),enzymeType_(et_),accessionNumber_(ac_),
00049         organismName_(os_),prototype_(pt_),restrictionSite_(rs_),
00050         methylationSite_(ms_){  }
00051    static map<const string , BioRestrictionEnzymeLibrary > RestrictionEnzyme;
00052 
00053    
00054    static void initialised();
00055 
00056    string getEnzymeName(){ return enzymeName_;}
00057    string getEnzymeType(){ return enzymeType_; }
00058 
00059    string getAccessionNumber()
00060      { return accessionNumber_.substr(0,accessionNumber_.length()-1);}
00061 
00062    string getOrganismName(){ return organismName_;}
00063    string getOrganismStrain();
00064 
00065    string getPrototype(){ return prototype_;}
00066    
00067    string getRestrictionSite(){ return restrictionSite_;}
00068    string getSequence();
00069    int getCutSite();
00070          
00071    string getMethylationSite(){return  methylationSite_;}
00072    int getMethylationBase();
00073    string getMethylationType();
00074  
00075    static unsigned int getNumberOfRestrictionEnzymes();
00076    static string getRestrictionEnzyme(unsigned int);  
00077 
00078 //"SWRYKMBVHDN*"; AMBIGUITY CODE....................
00079         static vector < string > getUnAmbigousRestrictionEnzymes();
00080         static vector < string > getAmbigousRestrictionEnzymes();
00081 
00082 
00083 static vector < string > getUniqueUnAmbigousRestrictionEnzymes();
00084 static vector < string > getUniqueAmbigousRestrictionEnzymes();
00085 
00086 static vector < string > getRestrictionEnzymes(const string& );
00087 
00088 };
00089 #endif
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines