BioInt  1.02.00
BioInt: An integrative biological object-oriented application framework and interpreter
BioAminoAcid.h
Go to the documentation of this file.
00001 /****************************************************************************
00002 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00003 The BioBhasha : A Programming Language for Biologist
00004 Version 1.0 (19th December 2001)
00005 Dr. Prasad, B.V.L.S.
00006 Contact: prasadbvls@helixgenomics.com
00007 Version 1.1 (23th January 2003)
00008 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00009 *****************************************************************************/
00010 #ifndef BIOAMINOACID_H
00011 #define BIOAMINOACID_H
00012 
00013 
00014 using namespace std;
00015 #include <string>
00016 #include <map>
00017 #include <iostream>
00018 #include <cstdlib>
00019 #include <cstdio>
00020 
00021 class BioAminoAcid
00022 {
00023         //static bool isInitialised;
00024 
00025         string aminoAcidName_;
00026         string threeLetterCode_;
00027         char singleLetterCode_;
00028         int serialNumber_;
00029         float molWeight_;
00030         float dcVolume_;
00031         float accessibleArea_;
00032         float hydropathyIndex_;
00033         float hydrophobicity_;
00034         float hydrophilicity_;
00035         float helixCFPropensity_; // CF- ChouFasman
00036         float sheetCFPropensity_; // CF- ChouFasman
00037   float turnCFPropensity_;  // CF- ChouFasman
00038   float positionProbability0_;
00039   float positionProbability1_;
00040   float positionProbability2_;
00041   float positionProbability3_;
00042         float pKaAminoAcidCarboxylate_;
00043         float pKaAminoAcidAmine_;
00044         float pKaAminoAcidSideChain_;
00045         int numberOfCarbons_;
00046         int numberOfHydrogens_;
00047         int numberOfNitrogens_;
00048         int numberOfOxygens_;
00049         int numberOfSulphurs_;
00050         float gxgSurfaceArea_;
00051         float averageAccessibleArea_;
00052 
00053 /*      char *singleLetterCode_;
00054         int *serialNumber_;
00055         float *molWeight_;
00056         float *dcVolume_;
00057         float *accessibleArea_;
00058         float *hydropathyIndex_;
00059         float *hydrophobicity_;
00060         float *hydrophilicity_;
00061         float *helixCFPropensity_; // CF- ChouFasman
00062         float *sheetCFPropensity_; // CF- ChouFasman
00063   float *turnCFPropensity_;  // CF- ChouFasman
00064   float *positionProbability0_;
00065   float *positionProbability1_;
00066   float *positionProbability2_;
00067   float *positionProbability3_;
00068         float *pKaAminoAcidCarboxylate_;
00069         float *pKaAminoAcidAmine_;
00070         float *pKaAminoAcidSideChain_;
00071         int *numberOfCarbons_;
00072         int *numberOfHydrogens_;
00073         int *numberOfNitrogens_;
00074         int *numberOfOxygens_;
00075         int *numberOfSulphurs_;
00076         float *gxgSurfaceArea_;
00077         float *averageAccessibleArea_;
00078 */
00079         friend bool operator >( const BioAminoAcid& , const BioAminoAcid&);
00080         friend bool operator <( const BioAminoAcid& , const BioAminoAcid&);
00081         friend bool operator ==( const BioAminoAcid& ,  const BioAminoAcid&);
00082         BioAminoAcid(){ }
00083 
00084 public:
00085         ~BioAminoAcid();
00086         BioAminoAcid(const string& aan, const int& sn, const char& slc, const string& tlc, 
00087 const float& mw, const float& dcv,const float& aca,const float& hpi,const float& hpho,const float& hphi,
00088 const float& hcfp,const float& scfp,const float& tcfp,const float& pr0,const float&  pr1,
00089 const float& pr2,const float& pr3,const float& pkc,const float& pkn, const float& pks, const int& nc,
00090 const int& nh,const int& nn, const int& no, const int& ns,const float& gxg,const float& avaca):
00091 aminoAcidName_(aan),singleLetterCode_(slc),threeLetterCode_(tlc),
00092 serialNumber_(sn),molWeight_(mw),dcVolume_(dcv), 
00093 accessibleArea_(aca), hydropathyIndex_(hpi),hydrophobicity_(hpho), hydrophilicity_(hphi), helixCFPropensity_(hcfp), 
00094 sheetCFPropensity_(scfp), turnCFPropensity_(tcfp),positionProbability0_(pr0), positionProbability1_(pr1),
00095 positionProbability2_(pr2),positionProbability3_(pr3), pKaAminoAcidCarboxylate_(pkc), pKaAminoAcidAmine_(pkn),
00096 pKaAminoAcidSideChain_(pks), numberOfCarbons_(nc), numberOfHydrogens_(nh),
00097 numberOfNitrogens_(nn), numberOfOxygens_(no), numberOfSulphurs_(ns),
00098 gxgSurfaceArea_(gxg),averageAccessibleArea_(avaca){}
00099 /*
00100 aminoAcidName_(new string(aan)),singleLetterCode_(new char(slc)),threeLetterCode_(new string(tlc)),
00101 serialNumber_(new int(sn)),molWeight_(new float(mw)),dcVolume_(new float(dcv)), 
00102 accessibleArea_(new float(aca)), hydropathyIndex_(new float(hpi)),hydrophobicity_(new float(hpho)), hydrophilicity_(new float(hphi)), helixCFPropensity_(new float(hcfp)), 
00103 sheetCFPropensity_(new float(scfp)), turnCFPropensity_(new float(tcfp)), 
00104 positionProbability0_(new float(pr0)), positionProbability1_(new float(pr1)),
00105 positionProbability2_(new float(pr2)),positionProbability3_(new float(pr3)), pKaAminoAcidCarboxylate_(new float(pkc)), pKaAminoAcidAmine_(new float(pkn)),
00106 pKaAminoAcidSideChain_(new float(pks)), numberOfCarbons_(new int(nc)), numberOfHydrogens_(new int(nh)),
00107 numberOfNitrogens_(new int(nn)), numberOfOxygens_(new int(no)), numberOfSulphurs_(new int(ns)),
00108 gxgSurfaceArea_(new float(gxg)),averageAccessibleArea_(new float(avaca)){}
00109 */      
00110         char getSingleLetterCode() const { return singleLetterCode_; }
00111         string getThreeLetterCode() const { return threeLetterCode_; }
00112         int getSerialNumber() const { return serialNumber_; }
00113         float getMolecularWeight() const { return molWeight_; }
00114         string getAminoAcidName() const { return aminoAcidName_; }
00115         float getMolecularVolume() const { return dcVolume_; }
00116 
00117         float getAccessibleSurfaceArea() const { return accessibleArea_; }
00118 
00119         float getHydropathyIndex() const { return hydropathyIndex_; }
00120         float getHydrophobicity() const { return hydrophobicity_; }
00121         float getHydrophilicity() const { return hydrophilicity_; }
00122         float getCFHelixPropensity() const { return helixCFPropensity_; }
00123         float getCFSheetPropensity() const { return sheetCFPropensity_; }
00124   float getCFTurnPropensity() const { return turnCFPropensity_; }
00125   float getCFTurnPositionProbability(int position);
00126 
00127         float getpKaCarboxylate() const { return pKaAminoAcidCarboxylate_; }
00128         float getpKaAmine() const { return pKaAminoAcidAmine_; }
00129         float getpKaSideChain() const { return pKaAminoAcidSideChain_; }
00130 
00131         int getNumberOfCarbons() const { return numberOfCarbons_; }
00132         int getNumberOfHydrogens() const { return numberOfHydrogens_; }
00133         int getNumberOfNitrogens() const { return numberOfNitrogens_; }
00134         int getNumberOfOxygens() const { return numberOfOxygens_; }
00135         int getNumberOfSulphurs() const { return numberOfSulphurs_; }
00136 
00137         float getGXGSurfaceArea() const { return gxgSurfaceArea_; }
00138         float getAverageAccessibleArea() const { return averageAccessibleArea_; }
00139         float getAverageBuriedArea() const { return gxgSurfaceArea_ - averageAccessibleArea_; }
00140         float getMeanFractionalAreaLoss() const { return getAverageBuriedArea()/(gxgSurfaceArea_); }
00141        
00142 };
00143 
00144 
00145 #endif
00146 // Amino acid volume in cubic Angstroms as given in "Protein Structure" 
00147 // // // by Darby, N.J. and Creighton, T.E. (IRL Press, 1993)
00148 //
00149 // // Accessible surface areas in Angstroms squared by Miller, S., Janin, J., 
00150 // // // Lesk, A.M., and Chothia, C. (1987) J.Mol.Biol., 196, 641
00151 //
00152 // // Hydrophilicity of side chains in kJ/mol by Radzicka, A., and Wolfenden, R.
00153 // // // (1988) Biochemistry, 27, 1664 
00154 //
00155 // // Hydropathy index by Kyte, J., and Doolittle, R.F., (1982), J.Mol.Biol., 
00156 // // // 157, 105-132
00157 //
00158 // // Hydrophobicity of side chain analogues in kJ/mol by Radzicka, A., 
00159 // // // and Wolfenden, R. (1988) Biochemistry, 27, 1664
00160 //
00161 
00162 
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines