Package rdkit :: Package Chem :: Module Descriptors3D
[hide private]
[frames] | no frames]

Source Code for Module rdkit.Chem.Descriptors3D

  1  # 
  2  # Copyright (C) 2016 greg Landrum 
  3  # 
  4  #   @@ All Rights Reserved @@ 
  5  #  This file is part of the RDKit. 
  6  #  The contents are covered by the terms of the BSD license 
  7  #  which is included in the file license.txt, found at the root 
  8  #  of the RDKit source tree. 
  9  # 
 10  """ Descriptors derived from a molecule's 3D structure 
 11   
 12  """ 
 13  from __future__ import print_function 
 14  from rdkit.Chem import rdMolDescriptors 
 15   
 16   
 17  if hasattr(rdMolDescriptors, 'CalcPMI1'): 
 18    PMI1 = lambda *x, **y: rdMolDescriptors.CalcPMI1(*x, **y) 
 19    PMI1.version = rdMolDescriptors._CalcPMI1_version 
 20    PMI1.__doc__ = """ First (smallest) principal moment of inertia 
 21   
 22   
 23      **Arguments** 
 24   
 25        - inMol: a molecule 
 26   
 27        - confId: (optional) the conformation ID to use 
 28   
 29        - useAtomicMasses: (optional) toggles use of atomic masses in the 
 30          calculation. Defaults to True 
 31      """ 
 32   
 33    PMI2 = lambda *x, **y: rdMolDescriptors.CalcPMI2(*x, **y) 
 34    PMI2.version = rdMolDescriptors._CalcPMI2_version 
 35    PMI2.__doc__ = """ Second principal moment of inertia 
 36   
 37      **Arguments** 
 38   
 39        - inMol: a molecule 
 40   
 41        - confId: (optional) the conformation ID to use 
 42   
 43        - useAtomicMasses: (optional) toggles use of atomic masses in the 
 44          calculation. Defaults to True 
 45      """ 
 46   
 47    PMI3 = lambda *x, **y: rdMolDescriptors.CalcPMI3(*x, **y) 
 48    PMI3.version = rdMolDescriptors._CalcPMI3_version 
 49    PMI3.__doc__ = """ Third (largest) principal moment of inertia 
 50   
 51      **Arguments** 
 52   
 53        - inMol: a molecule 
 54   
 55        - confId: (optional) the conformation ID to use 
 56   
 57        - useAtomicMasses: (optional) toggles use of atomic masses in the 
 58          calculation. Defaults to True 
 59      """ 
 60   
 61    NPR1 = lambda *x, **y: rdMolDescriptors.CalcNPR1(*x, **y) 
 62    NPR1.version = rdMolDescriptors._CalcNPR1_version 
 63    NPR1.__doc__ = """ Normalized principal moments ratio 1 (=I1/I3) 
 64   
 65          from Sauer and Schwarz JCIM 43:987-1003 (2003) 
 66          https://dx.doi.org/10.1021/ci025599w 
 67   
 68   
 69      **Arguments** 
 70   
 71        - inMol: a molecule 
 72   
 73        - confId: (optional) the conformation ID to use 
 74   
 75        - useAtomicMasses: (optional) toggles use of atomic masses in the 
 76          calculation. Defaults to True 
 77      """ 
 78   
 79    NPR2 = lambda *x, **y: rdMolDescriptors.CalcNPR2(*x, **y) 
 80    NPR2.version = rdMolDescriptors._CalcNPR2_version 
 81    NPR2.__doc__ = """ Normalized principal moments ratio 2 (=I2/I3) 
 82   
 83          from Sauer and Schwarz JCIM 43:987-1003 (2003) 
 84          https://dx.doi.org/10.1021/ci025599w 
 85   
 86   
 87      **Arguments** 
 88   
 89        - inMol: a molecule 
 90   
 91        - confId: (optional) the conformation ID to use 
 92   
 93        - useAtomicMasses: (optional) toggles use of atomic masses in the 
 94          calculation. Defaults to True 
 95      """ 
 96   
 97    RadiusOfGyration = lambda *x, **y: rdMolDescriptors.CalcRadiusOfGyration(*x, **y) 
 98    RadiusOfGyration.version = rdMolDescriptors._CalcRadiusOfGyration_version 
 99    RadiusOfGyration.__doc__ = """ Radius of gyration 
100   
101         from Todeschini and Consoni "Descriptors from Molecular Geometry" 
102         Handbook of Chemoinformatics 
103         http://dx.doi.org/10.1002/9783527618279.ch37 
104   
105         Definition: 
106           for planar molecules: sqrt( sqrt(pm3*pm2)/MW ) 
107           for nonplanar molecules: sqrt( 2*pi*pow(pm3*pm2*pm1,1/3)/MW ) 
108   
109      **Arguments** 
110   
111        - inMol: a molecule 
112   
113        - confId: (optional) the conformation ID to use 
114   
115        - useAtomicMasses: (optional) toggles use of atomic masses in the 
116          calculation. Defaults to True 
117      """ 
118   
119    InertialShapeFactor = lambda *x, **y: rdMolDescriptors.CalcInertialShapeFactor(*x, **y) 
120    InertialShapeFactor.version = rdMolDescriptors._CalcInertialShapeFactor_version 
121    InertialShapeFactor.__doc__ = """ Inertial shape factor 
122   
123         from Todeschini and Consoni "Descriptors from Molecular Geometry" 
124         Handbook of Chemoinformatics 
125         http://dx.doi.org/10.1002/9783527618279.ch37 
126   
127         Definition: 
128           pm2 / (pm1*pm3) 
129   
130      **Arguments** 
131   
132        - inMol: a molecule 
133   
134        - confId: (optional) the conformation ID to use 
135   
136        - useAtomicMasses: (optional) toggles use of atomic masses in the 
137          calculation. Defaults to True 
138      """ 
139   
140    Eccentricity = lambda *x, **y: rdMolDescriptors.CalcEccentricity(*x, **y) 
141    Eccentricity.version = rdMolDescriptors._CalcEccentricity_version 
142    Eccentricity.__doc__ = """ molecular eccentricity 
143   
144         from Todeschini and Consoni "Descriptors from Molecular Geometry" 
145         Handbook of Chemoinformatics 
146         http://dx.doi.org/10.1002/9783527618279.ch37 
147   
148         Definition: 
149           sqrt(pm3**2 -pm1**2) / pm3**2 
150   
151      **Arguments** 
152   
153        - inMol: a molecule 
154   
155        - confId: (optional) the conformation ID to use 
156   
157        - useAtomicMasses: (optional) toggles use of atomic masses in the 
158          calculation. Defaults to True 
159      """ 
160   
161    Asphericity = lambda *x, **y: rdMolDescriptors.CalcAsphericity(*x, **y) 
162    Asphericity.version = rdMolDescriptors._CalcAsphericity_version 
163    Asphericity.__doc__ = """ molecular asphericity 
164   
165         from Todeschini and Consoni "Descriptors from Molecular Geometry" 
166         Handbook of Chemoinformatics 
167         http://dx.doi.org/10.1002/9783527618279.ch37 
168   
169         Definition: 
170           0.5 * ((pm3-pm2)**2 + (pm3-pm1)**2 + (pm2-pm1)**2)/(pm1**2+pm2**2+pm3**2) 
171   
172      **Arguments** 
173   
174        - inMol: a molecule 
175   
176        - confId: (optional) the conformation ID to use 
177   
178        - useAtomicMasses: (optional) toggles use of atomic masses in the 
179          calculation. Defaults to True 
180      """ 
181   
182    SpherocityIndex = lambda *x, **y: rdMolDescriptors.CalcSpherocityIndex(*x, **y) 
183    SpherocityIndex.version = rdMolDescriptors._CalcSpherocityIndex_version 
184    SpherocityIndex.__doc__ = """ Molecular spherocityIndex 
185   
186         from Todeschini and Consoni "Descriptors from Molecular Geometry" 
187         Handbook of Chemoinformatics 
188         http://dx.doi.org/10.1002/9783527618279.ch37 
189   
190         Definition: 
191           3 * pm1 / (pm1+pm2+pm3) where the moments are calculated without weights 
192   
193      **Arguments** 
194   
195        - inMol: a molecule 
196   
197        - confId: (optional) the conformation ID to use 
198   
199      """ 
200