BioInt
1.02.00
BioInt: An integrative biological object-oriented application framework and interpreter
|
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