simpleDescriptors.h

Go to the documentation of this file.
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