00001 // -*- Mode: C++; tab-width: 2; -*- 00002 // vi: set ts=2: 00003 // 00004 // 00005 00006 #ifndef BALL_QSAR_SIMPLEDESCRIPTORS_H 00007 #define BALL_QSAR_SIMPLEDESCRIPTORS_H 00008 00009 #ifndef BALL_QSAR_SIMPLEBASE_H 00010 # include <BALL/QSAR/simpleBase.h> 00011 #endif 00012 00013 namespace BALL 00014 { 00015 // 40 simple descriptors 00016 00019 class BALL_EXPORT MolecularWeight 00020 : public SimpleBase 00021 { 00022 public: 00023 00024 BALL_CREATE(MolecularWeight) 00025 00026 00031 MolecularWeight(); 00032 00035 MolecularWeight(const MolecularWeight& mw); 00036 00039 virtual ~MolecularWeight(); 00041 00047 MolecularWeight& operator = (const MolecularWeight& mw); 00049 }; 00050 00054 class BALL_EXPORT NumberOfBonds 00055 : public SimpleBase 00056 { 00057 public: 00058 00059 BALL_CREATE(NumberOfBonds) 00060 00061 00066 NumberOfBonds(); 00067 00070 NumberOfBonds(const NumberOfBonds& nb); 00071 00074 virtual ~NumberOfBonds(); 00076 00082 NumberOfBonds& operator = (const NumberOfBonds& nb); 00084 }; 00085 00089 class BALL_EXPORT NumberOfSingleBonds 00090 : public SimpleBase 00091 { 00092 public: 00093 00094 BALL_CREATE(NumberOfSingleBonds) 00095 00096 00101 NumberOfSingleBonds(); 00102 00105 NumberOfSingleBonds(const NumberOfSingleBonds& nsb); 00106 00109 virtual ~NumberOfSingleBonds(); 00110 00116 NumberOfSingleBonds& operator = (const NumberOfSingleBonds& nsb); 00118 }; 00119 00123 class BALL_EXPORT NumberOfDoubleBonds 00124 : public SimpleBase 00125 { 00126 public: 00127 00128 BALL_CREATE(NumberOfDoubleBonds) 00129 00130 00135 NumberOfDoubleBonds(); 00136 00139 NumberOfDoubleBonds(const NumberOfDoubleBonds& ndb); 00140 00143 virtual ~NumberOfDoubleBonds(); 00145 00151 NumberOfDoubleBonds& operator = (const NumberOfDoubleBonds& ndb); 00153 }; 00154 00158 class BALL_EXPORT NumberOfTripleBonds 00159 : public SimpleBase 00160 { 00161 public: 00162 00163 BALL_CREATE(NumberOfTripleBonds) 00164 00165 00170 NumberOfTripleBonds(); 00171 00174 NumberOfTripleBonds(const NumberOfTripleBonds& ntb); 00175 00178 virtual ~NumberOfTripleBonds(); 00180 00186 NumberOfTripleBonds& operator = (const NumberOfTripleBonds& ntb); 00188 }; 00189 00192 class BALL_EXPORT NumberOfAromaticBonds 00193 : public SimpleBase 00194 { 00195 public: 00196 00197 BALL_CREATE(NumberOfAromaticBonds) 00198 00199 00204 NumberOfAromaticBonds(); 00205 00208 NumberOfAromaticBonds(const NumberOfAromaticBonds& nab); 00209 00212 virtual ~NumberOfAromaticBonds(); 00214 00220 NumberOfAromaticBonds& operator = (const NumberOfAromaticBonds& nab); 00222 }; 00223 00226 class BALL_EXPORT NumberOfAtoms 00227 : public SimpleBase 00228 { 00229 public: 00230 00231 BALL_CREATE(NumberOfAtoms) 00232 00233 00238 NumberOfAtoms(); 00239 00242 NumberOfAtoms(const NumberOfAtoms& na); 00243 00246 virtual ~NumberOfAtoms(); 00248 00254 NumberOfAtoms& operator = (const NumberOfAtoms& na); 00256 }; 00257 00260 class BALL_EXPORT NumberOfBoron 00261 : public SimpleBase 00262 { 00263 public: 00264 00265 BALL_CREATE(NumberOfBoron) 00266 00267 00272 NumberOfBoron(); 00273 00276 NumberOfBoron(const NumberOfBoron& nb); 00277 00280 virtual ~NumberOfBoron(); 00282 00288 NumberOfBoron& operator = (const NumberOfBoron& nb); 00290 }; 00291 00294 class BALL_EXPORT NumberOfCarbon 00295 : public SimpleBase 00296 { 00297 public: 00298 00299 BALL_CREATE(NumberOfCarbon) 00300 00301 00306 NumberOfCarbon(); 00307 00310 NumberOfCarbon(const NumberOfCarbon& nc); 00311 00314 virtual ~NumberOfCarbon(); 00316 00322 NumberOfCarbon& operator = (const NumberOfCarbon& nc); 00324 }; 00325 00328 class BALL_EXPORT NumberOfNitrogen 00329 : public SimpleBase 00330 { 00331 public: 00332 00333 BALL_CREATE(NumberOfNitrogen) 00334 00335 00340 NumberOfNitrogen(); 00341 00344 NumberOfNitrogen(const NumberOfNitrogen& nn); 00345 00348 virtual ~NumberOfNitrogen(); 00350 00356 NumberOfNitrogen& operator = (const NumberOfNitrogen& nn); 00358 }; 00359 00362 class BALL_EXPORT NumberOfOxygen 00363 : public SimpleBase 00364 { 00365 public: 00366 00367 BALL_CREATE(NumberOfOxygen) 00368 00369 00374 NumberOfOxygen(); 00375 00378 NumberOfOxygen(const NumberOfOxygen& no); 00379 00382 virtual ~NumberOfOxygen(); 00383 00389 NumberOfOxygen& operator = (const NumberOfOxygen& no); 00391 }; 00392 00395 class BALL_EXPORT NumberOfFlourine 00396 : public SimpleBase 00397 { 00398 public: 00399 00400 BALL_CREATE(NumberOfFlourine) 00401 00402 00407 NumberOfFlourine(); 00408 00411 NumberOfFlourine(const NumberOfFlourine& nf); 00412 00415 virtual ~NumberOfFlourine(); 00417 00423 NumberOfFlourine& operator = (const NumberOfFlourine& nf); 00425 }; 00426 00429 class BALL_EXPORT NumberOfPhosphorus 00430 : public SimpleBase 00431 { 00432 public: 00433 00434 BALL_CREATE(NumberOfPhosphorus) 00435 00436 00441 NumberOfPhosphorus(); 00442 00445 NumberOfPhosphorus(const NumberOfPhosphorus& np); 00446 00449 virtual ~NumberOfPhosphorus(); 00451 00454 //7 00457 NumberOfPhosphorus& operator = (const NumberOfPhosphorus& np); 00459 }; 00460 00463 class BALL_EXPORT NumberOfSulfur 00464 : public SimpleBase 00465 { 00466 public: 00467 00468 BALL_CREATE(NumberOfSulfur) 00469 00470 00475 NumberOfSulfur(); 00476 00479 NumberOfSulfur(const NumberOfSulfur& ns); 00480 00483 virtual ~NumberOfSulfur(); 00485 00491 NumberOfSulfur& operator = (const NumberOfSulfur& ns); 00493 }; 00494 00497 class BALL_EXPORT NumberOfChlorine 00498 : public SimpleBase 00499 { 00500 public: 00501 00502 BALL_CREATE(NumberOfChlorine) 00503 00504 00509 NumberOfChlorine(); 00510 00513 NumberOfChlorine(const NumberOfChlorine& nc); 00514 00517 virtual ~NumberOfChlorine(); 00519 00525 NumberOfChlorine& operator = (const NumberOfChlorine& nc); 00527 }; 00528 00531 class BALL_EXPORT NumberOfBromine 00532 : public SimpleBase 00533 { 00534 public: 00535 00536 BALL_CREATE(NumberOfBromine) 00537 00538 00543 NumberOfBromine(); 00544 00547 NumberOfBromine(const NumberOfBromine& nb); 00548 00551 virtual ~NumberOfBromine(); 00553 00559 NumberOfBromine& operator = (const NumberOfBromine& nb); 00561 }; 00562 00565 class BALL_EXPORT NumberOfIodine 00566 : public SimpleBase 00567 { 00568 public: 00569 00570 BALL_CREATE(NumberOfIodine) 00571 00572 00577 NumberOfIodine(); 00578 00581 NumberOfIodine(const NumberOfIodine& ni); 00582 00585 virtual ~NumberOfIodine(); 00587 00593 NumberOfIodine& operator = (const NumberOfIodine& ni); 00595 }; 00596 00599 class BALL_EXPORT NumberOfHydrogen 00600 : public SimpleBase 00601 { 00602 public: 00603 00604 BALL_CREATE(NumberOfHydrogen) 00605 00606 00611 NumberOfHydrogen(); 00612 00615 NumberOfHydrogen(const NumberOfHydrogen& nh); 00616 00619 virtual ~NumberOfHydrogen(); 00621 00627 NumberOfHydrogen& operator = (const NumberOfHydrogen& nh); 00629 }; 00630 00633 class BALL_EXPORT FormalCharge 00634 : public SimpleBase 00635 { 00636 public: 00637 00638 BALL_CREATE(FormalCharge) 00639 00640 00645 FormalCharge(); 00646 00649 FormalCharge(const FormalCharge& fc); 00650 00653 virtual ~FormalCharge(); 00655 00661 FormalCharge& operator = (const FormalCharge& fc); 00663 }; 00664 00669 class BALL_EXPORT NumberOfHeavyAtoms 00670 : public SimpleBase 00671 { 00672 public: 00673 00674 BALL_CREATE(NumberOfHeavyAtoms) 00675 00676 00681 NumberOfHeavyAtoms(); 00682 00685 NumberOfHeavyAtoms(const NumberOfHeavyAtoms& nha); 00686 00689 virtual ~NumberOfHeavyAtoms(); 00691 00697 NumberOfHeavyAtoms& operator = (const NumberOfHeavyAtoms& nha); 00699 }; 00700 00708 class BALL_EXPORT MeanAtomInformationContent 00709 : public SimpleBase 00710 { 00711 public: 00712 00713 BALL_CREATE(MeanAtomInformationContent) 00714 00715 00720 MeanAtomInformationContent(); 00721 00724 MeanAtomInformationContent(const MeanAtomInformationContent& maic); 00725 00728 virtual ~MeanAtomInformationContent(); 00730 00736 MeanAtomInformationContent& operator = (const MeanAtomInformationContent& maic); 00738 }; 00739 00742 class BALL_EXPORT AtomInformationContent 00743 : public SimpleBase 00744 { 00745 public: 00746 00747 BALL_CREATE(AtomInformationContent) 00748 00749 00754 AtomInformationContent(); 00755 00758 AtomInformationContent(const AtomInformationContent& aic); 00759 00762 virtual ~AtomInformationContent(); 00764 00770 AtomInformationContent& operator = (const AtomInformationContent& aic); 00772 00776 double compute(AtomContainer& ac); 00778 }; 00779 00784 class BALL_EXPORT NumberOfRotatableSingleBonds 00785 : public SimpleBase 00786 { 00787 public: 00788 00789 BALL_CREATE(NumberOfRotatableSingleBonds) 00790 00791 00796 NumberOfRotatableSingleBonds(); 00797 00800 NumberOfRotatableSingleBonds(const NumberOfRotatableSingleBonds& nrsb); 00801 00804 virtual ~NumberOfRotatableSingleBonds(); 00806 00812 NumberOfRotatableSingleBonds& operator = (const NumberOfRotatableSingleBonds& nrsb); 00814 }; 00815 00820 class BALL_EXPORT RelNumberOfRotatableSingleBonds 00821 : public SimpleBase 00822 { 00823 public: 00824 00825 BALL_CREATE(RelNumberOfRotatableSingleBonds) 00826 00827 00832 RelNumberOfRotatableSingleBonds(); 00833 00836 RelNumberOfRotatableSingleBonds(const RelNumberOfRotatableSingleBonds& rnrsb); 00837 00840 virtual ~RelNumberOfRotatableSingleBonds(); 00842 00848 RelNumberOfRotatableSingleBonds& operator = (const RelNumberOfRotatableSingleBonds& rnrsb); 00850 00854 double compute(AtomContainer& ac); 00856 }; 00857 00861 class BALL_EXPORT NumberOfAromaticAtoms 00862 : public SimpleBase 00863 { 00864 public: 00865 00866 BALL_CREATE(NumberOfAromaticAtoms) 00867 00868 00873 NumberOfAromaticAtoms(); 00874 00877 NumberOfAromaticAtoms(const NumberOfAromaticAtoms& naa); 00878 00881 virtual ~NumberOfAromaticAtoms(); 00883 00889 NumberOfAromaticAtoms& operator = (const NumberOfAromaticAtoms& naa); 00891 }; 00892 00896 class BALL_EXPORT NumberOfHeavyBonds 00897 : public SimpleBase 00898 { 00899 public: 00900 00901 BALL_CREATE(NumberOfHeavyBonds) 00902 00903 00908 NumberOfHeavyBonds(); 00909 00912 NumberOfHeavyBonds(const NumberOfHeavyBonds& nhb); 00913 00916 virtual ~NumberOfHeavyBonds(); 00918 00924 NumberOfHeavyBonds& operator = (const NumberOfHeavyBonds& nhb); 00926 }; 00927 00932 class BALL_EXPORT NumberOfRotatableBonds 00933 : public SimpleBase 00934 { 00935 public: 00936 00937 BALL_CREATE(NumberOfRotatableBonds) 00938 00939 00944 NumberOfRotatableBonds(); 00945 00948 NumberOfRotatableBonds(const NumberOfRotatableBonds& nrb); 00949 00952 virtual ~NumberOfRotatableBonds(); 00953 00959 NumberOfRotatableBonds& operator = (const NumberOfRotatableBonds& nrb); 00961 }; 00962 00967 class BALL_EXPORT RelNumberOfRotatableBonds 00968 : public SimpleBase 00969 { 00970 public: 00971 00972 BALL_CREATE(RelNumberOfRotatableBonds) 00973 00974 00979 RelNumberOfRotatableBonds(); 00980 00983 RelNumberOfRotatableBonds(const RelNumberOfRotatableBonds& rnrb); 00984 00987 virtual ~RelNumberOfRotatableBonds(); 00989 00995 RelNumberOfRotatableBonds& operator = (const RelNumberOfRotatableBonds& rnrb); 00997 01001 double compute(AtomContainer& ac); 01003 }; 01004 01009 class BALL_EXPORT VertexAdjacency 01010 : public SimpleBase 01011 { 01012 public: 01013 01014 BALL_CREATE(VertexAdjacency) 01015 01016 01021 VertexAdjacency(); 01022 01025 VertexAdjacency(const VertexAdjacency& va); 01026 01029 virtual ~VertexAdjacency(); 01031 01037 VertexAdjacency& operator = (const VertexAdjacency& va); 01039 01043 double compute(AtomContainer& ac); 01045 }; 01046 01054 class BALL_EXPORT VertexAdjacencyEquality 01055 : public SimpleBase 01056 { 01057 public: 01058 01059 BALL_CREATE(VertexAdjacencyEquality) 01060 01061 01066 VertexAdjacencyEquality(); 01067 01070 VertexAdjacencyEquality(const VertexAdjacencyEquality& vae); 01071 01074 virtual ~VertexAdjacencyEquality(); 01076 01082 VertexAdjacencyEquality& operator = (const VertexAdjacencyEquality& vae); 01084 01088 double compute(AtomContainer& ac); 01090 }; 01091 01097 class BALL_EXPORT NumberOfHydrogenBondAcceptors 01098 : public SimpleBase 01099 { 01100 public: 01101 01102 BALL_CREATE(NumberOfHydrogenBondAcceptors) 01103 01104 01109 NumberOfHydrogenBondAcceptors(); 01110 01113 NumberOfHydrogenBondAcceptors(const NumberOfHydrogenBondAcceptors& nhba); 01114 01117 NumberOfHydrogenBondAcceptors(const String& expression); 01118 01121 virtual ~NumberOfHydrogenBondAcceptors(); 01123 01127 /*_ Getter which returns the Expression string 01128 */ 01129 const String& getExpression() const; 01130 01131 /*_ Setter which sets the Expression string 01132 */ 01133 void setExpression(const String& expression); 01134 01135 /*_ This method return the number, which is calculated 01136 using the Expression string. 01137 */ 01138 double compute(AtomContainer& ac); 01140 01141 01147 NumberOfHydrogenBondAcceptors& operator = (const NumberOfHydrogenBondAcceptors& nhba); 01149 01150 01151 private: 01152 01153 /*_ String which holds the expression. 01154 */ 01155 String expression_; 01156 }; 01157 01162 class BALL_EXPORT NumberOfHydrogenBondDonors 01163 : public SimpleBase 01164 { 01165 public: 01166 01167 BALL_CREATE(NumberOfHydrogenBondDonors) 01168 01169 01174 NumberOfHydrogenBondDonors(); 01175 01178 NumberOfHydrogenBondDonors(const NumberOfHydrogenBondDonors& nhbd); 01179 01182 NumberOfHydrogenBondDonors(const String& expression); 01183 01186 virtual ~NumberOfHydrogenBondDonors(); 01188 01192 /*_ Setter which sets the Expression string 01193 */ 01194 void setExpression(const String& expression); 01195 01196 /*_ Getter which returns the Expression string 01197 */ 01198 const String& getExpression() const; 01199 01200 /*_ Methods which returns the number calcualted from 01201 the Expression string. 01202 */ 01203 double compute(AtomContainer& ac); 01205 01211 NumberOfHydrogenBondDonors& operator = (const NumberOfHydrogenBondDonors& nhbd); 01213 01214 01215 private: 01216 01217 /*_ String which holds the expression. 01218 */ 01219 String expression_; 01220 }; 01221 01226 class BALL_EXPORT NumberOfHydrophobicAtoms 01227 : public SimpleBase 01228 { 01229 public: 01230 01231 BALL_CREATE(NumberOfHydrophobicAtoms) 01232 01233 01238 NumberOfHydrophobicAtoms(); 01239 01242 NumberOfHydrophobicAtoms(const NumberOfHydrophobicAtoms& nha); 01243 01246 NumberOfHydrophobicAtoms(const String& expression); 01247 01250 virtual ~NumberOfHydrophobicAtoms(); 01252 01256 /*_ Getter which returns the Expression string 01257 */ 01258 const String& getExpression() const; 01259 01260 /*_ Setter which set the Expression string 01261 */ 01262 void setExpression(const String& expression); 01263 01264 /*_ Method which computes the number from the 01265 Expression string 01266 */ 01267 double compute(AtomContainer& ac); 01269 01275 NumberOfHydrophobicAtoms& operator = (const NumberOfHydrophobicAtoms& nha); 01277 01278 01279 private: 01280 01281 /*_ String which holds the expression 01282 */ 01283 String expression_; 01284 }; 01285 01290 class BALL_EXPORT BondPolarizabilities 01291 : public SimpleBase 01292 { 01293 public: 01294 01295 BALL_CREATE(BondPolarizabilities) 01296 01297 01302 BondPolarizabilities(); 01303 01306 BondPolarizabilities(const BondPolarizabilities& bp); 01307 01310 virtual ~BondPolarizabilities(); 01312 01318 BondPolarizabilities& operator = (const BondPolarizabilities& bp); 01320 }; 01321 01325 class BALL_EXPORT AtomicPolarizabilities 01326 : public SimpleBase 01327 { 01328 public: 01329 01330 BALL_CREATE(AtomicPolarizabilities) 01331 01332 01337 AtomicPolarizabilities(); 01338 01341 AtomicPolarizabilities(const AtomicPolarizabilities& ap); 01342 01345 virtual ~AtomicPolarizabilities(); 01347 01353 AtomicPolarizabilities& operator = (const AtomicPolarizabilities& ap); 01355 }; 01356 01359 class BALL_EXPORT SizeOfSSSR 01360 : public SimpleBase 01361 { 01362 public: 01363 01364 BALL_CREATE(SizeOfSSSR) 01365 01366 01371 SizeOfSSSR(); 01372 01375 SizeOfSSSR(const SizeOfSSSR& sizeofsssr); 01376 01379 virtual ~SizeOfSSSR(); 01381 01387 SizeOfSSSR& operator = (const SizeOfSSSR& sssr); 01389 }; 01390 01394 class BALL_EXPORT PrincipalMomentOfInertia 01395 : public SimpleBase 01396 { 01397 public: 01398 01399 BALL_CREATE(PrincipalMomentOfInertia) 01400 01401 01406 PrincipalMomentOfInertia(); 01407 01410 PrincipalMomentOfInertia(const PrincipalMomentOfInertia& pmi); 01411 01414 virtual ~PrincipalMomentOfInertia(); 01416 01422 PrincipalMomentOfInertia& operator = (const PrincipalMomentOfInertia& pmi); 01424 }; 01425 01430 class BALL_EXPORT PrincipalMomentOfInertiaX 01431 : public SimpleBase 01432 { 01433 public: 01434 01435 BALL_CREATE(PrincipalMomentOfInertiaX) 01436 01437 01442 PrincipalMomentOfInertiaX(); 01443 01446 PrincipalMomentOfInertiaX(const PrincipalMomentOfInertiaX& pmix); 01447 01450 virtual ~PrincipalMomentOfInertiaX(); 01452 01458 PrincipalMomentOfInertiaX& operator = (const PrincipalMomentOfInertiaX& pmix); 01460 }; 01461 01465 class BALL_EXPORT PrincipalMomentOfInertiaY 01466 : public SimpleBase 01467 { 01468 public: 01469 01470 BALL_CREATE(PrincipalMomentOfInertiaY) 01471 01472 01477 PrincipalMomentOfInertiaY(); 01478 01481 PrincipalMomentOfInertiaY(const PrincipalMomentOfInertiaY& pmiy); 01482 01485 virtual ~PrincipalMomentOfInertiaY(); 01487 01493 PrincipalMomentOfInertiaY& operator = (const PrincipalMomentOfInertiaY& pmiy); 01495 }; 01496 01501 class BALL_EXPORT PrincipalMomentOfInertiaZ 01502 : public SimpleBase 01503 { 01504 public: 01505 01506 BALL_CREATE(PrincipalMomentOfInertiaZ) 01507 01508 01513 PrincipalMomentOfInertiaZ(); 01514 01517 PrincipalMomentOfInertiaZ(const PrincipalMomentOfInertiaZ& pmiz); 01518 01521 virtual ~PrincipalMomentOfInertiaZ(); 01523 01529 PrincipalMomentOfInertiaZ& operator = (const PrincipalMomentOfInertiaZ& pmiz); 01531 }; 01532 01533 } // namespace BALL 01534 01535 #endif // BALL_QSAR_SIMPLEDESCRIPTORS_H 01536