BioInt
1.02.00
BioInt: An integrative biological object-oriented application framework and interpreter
|
00001 /**************************************************************************** 00002 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00003 The BioBhasha : The Biologist's Programming Language 00004 Version 1.0 (19th December 2001) 00005 Prasad, B.V.L.S. 00006 Contact: burrashiva@yahoo.com 00007 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00008 *****************************************************************************/ 00009 #ifndef BIOPROTEIN_H 00010 #define BIOPROTEIN_H 00011 00012 #include "BioProteinChain.h" 00013 #include "BioWater.h" 00014 #include <algorithm> 00015 /**************************************************************************** 00016 * 00017 * COMMENTARY on Each Class/Concept: Hows and Whys: 00018 * 00019 * BioProtein: 00020 * This */ 00021 class BioProtein 00022 { 00023 00024 vector<BioProteinChain>chain; 00025 BioWater water; 00026 00027 public: 00028 00029 BioProtein(); 00030 ~BioProtein(); 00031 00032 BioProtein(const string& ); 00033 00034 BioProtein(const vector<BioProteinChain>& , const BioWater&); 00035 00036 BioProtein(const vector<BioProteinChain>&); 00037 00038 char getLastChainId() const ; 00039 00040 BioProteinChain& getLastChain() ; 00041 00042 unsigned int getNumberOfProteinChains() const ; 00043 00044 unsigned int getNumberOfWaters() const ; 00045 00046 void showProteinChainIds(ostream& = cout); 00047 void showUniqueProteinChainIds(ostream& = cout); 00048 void mergeProteinChainsWithDuplicateIds(); 00049 vector<char> getProteinChainIds(); 00050 vector<BioProteinChain> getProteinChains(); 00051 vector<char> getUniqueProteinChainIds(); 00052 int getNumberOfUniqueProteinChainIds(); 00053 vector<int> getDuplicateChainIndices(char c); 00054 void pushProteinChain(const BioProteinChain& ); 00055 00056 void pushProteinChain(const unsigned long& atnumber,const string& atname, const string& resname,const char& ch, 00057 const long& resnum, const float& x1, const float& y1, const float& z1, 00058 const float& oc1, const float& bf1,const string& ); 00059 00060 BioProteinChain& getProteinChain( const int& ); 00061 BioProteinChain& getProteinChain( const char&); 00062 00063 BioProteinChain getProteinChain(const int&, const string& ); 00064 00065 void showProtein(ostream& = cout); 00066 00067 int getProteinChainIdIndex(const char& ); 00068 00069 void showProteinChain(const char& , ostream& = cout); 00070 void showProteinChain(const int& , ostream& = cout); 00071 void showWater(ostream& os = cout); 00072 BioResidue getWaterMolecule(const int& ); 00073 BioWater getWater(); 00074 00075 }; 00076 00077 #endif 00078