toxtree 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1384) hide show
  1. checksums.yaml +7 -0
  2. data/Toxtree-v2.6.13/LICENSE.txt +6 -0
  3. data/Toxtree-v2.6.13/README.txt +813 -0
  4. data/Toxtree-v2.6.13/Toxtree/Toxtree-2.6.13.jar +0 -0
  5. data/Toxtree-v2.6.13/Toxtree/example.java +41 -0
  6. data/Toxtree-v2.6.13/Toxtree/ext/toxtree-ames-2.6.13.jar +0 -0
  7. data/Toxtree-v2.6.13/Toxtree/ext/toxtree-biodegradation-2.6.13.jar +0 -0
  8. data/Toxtree-v2.6.13/Toxtree/ext/toxtree-cramer-2.6.13-tests.jar +0 -0
  9. data/Toxtree-v2.6.13/Toxtree/ext/toxtree-cramer-2.6.13.jar +0 -0
  10. data/Toxtree-v2.6.13/Toxtree/ext/toxtree-cramer2-2.6.13.jar +0 -0
  11. data/Toxtree-v2.6.13/Toxtree/ext/toxtree-dnabinding-2.6.13.jar +0 -0
  12. data/Toxtree-v2.6.13/Toxtree/ext/toxtree-eye-2.6.13.jar +0 -0
  13. data/Toxtree-v2.6.13/Toxtree/ext/toxtree-functional_groups-2.6.13.jar +0 -0
  14. data/Toxtree-v2.6.13/Toxtree/ext/toxtree-kroes-2.6.13.jar +0 -0
  15. data/Toxtree-v2.6.13/Toxtree/ext/toxtree-mic-2.6.13.jar +0 -0
  16. data/Toxtree-v2.6.13/Toxtree/ext/toxtree-michaelacceptors-2.6.13.jar +0 -0
  17. data/Toxtree-v2.6.13/Toxtree/ext/toxtree-mutant-2.6.13.jar +0 -0
  18. data/Toxtree-v2.6.13/Toxtree/ext/toxtree-proteinbinding-2.6.13.jar +0 -0
  19. data/Toxtree-v2.6.13/Toxtree/ext/toxtree-sicret-2.6.13.jar +0 -0
  20. data/Toxtree-v2.6.13/Toxtree/ext/toxtree-skinsensitisation-2.6.13.jar +0 -0
  21. data/Toxtree-v2.6.13/Toxtree/ext/toxtree-smartcyp-2.6.13.jar +0 -0
  22. data/Toxtree-v2.6.13/Toxtree/ext/toxtree-verhaar-2.6.13.jar +0 -0
  23. data/Toxtree-v2.6.13/Toxtree/ext/toxtree-verhaar2-2.6.13.jar +0 -0
  24. data/Toxtree-v2.6.13/Toxtree/input.txt +4 -0
  25. data/Toxtree-v2.6.13/Toxtree/result.txt +2 -0
  26. data/Toxtree-v2.6.13/Toxtree/toxtree-plugins.properties +24 -0
  27. data/Toxtree-v2.6.13/doc/Toxtree_BenigniBossaRulebase_manual.pdf +0 -0
  28. data/Toxtree-v2.6.13/doc/Toxtree_CramerExtensions_manual.pdf +0 -0
  29. data/Toxtree-v2.6.13/doc/Toxtree_START_manual.pdf +0 -0
  30. data/Toxtree-v2.6.13/doc/Toxtree_ToxMic_manual.pdf +0 -0
  31. data/Toxtree-v2.6.13/doc/Toxtree_installation_manual.pdf +0 -0
  32. data/Toxtree-v2.6.13/doc/Toxtree_user_manual.pdf +0 -0
  33. data/Toxtree-v2.6.13/doc/src/toxtree-2.6.13-javadoc.jar +0 -0
  34. data/Toxtree-v2.6.13/lib/javacpl.exe +0 -0
  35. data/Toxtree-v2.6.13/src/META-INF/MANIFEST.MF +6 -0
  36. data/Toxtree-v2.6.13/src/bodymol.inchi +398 -0
  37. data/Toxtree-v2.6.13/src/bodymol.sdf +34220 -0
  38. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/BiodgeradationRules.java +205 -0
  39. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/BiodgeradationRules.properties +7 -0
  40. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/categories/CategoryBiodegradable.java +62 -0
  41. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/categories/CategoryPersistent.java +63 -0
  42. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/categories/CategoryUnknown.java +55 -0
  43. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/positive_examples.sml +32 -0
  44. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleAlcohols.java +68 -0
  45. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleAldehyde.java +68 -0
  46. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleAliphaticCyclicNoBranches.java +70 -0
  47. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleAliphaticEther.java +67 -0
  48. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleAliphaticFusedRingsNonBranched.java +79 -0
  49. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleAlyphaticSulphonicAcids.java +73 -0
  50. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleAminoAcids.java +70 -0
  51. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleAromaticHalogen.java +76 -0
  52. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleAromaticNGroups.java +72 -0
  53. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleAromaticSulphonicAcid.java +70 -0
  54. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleAzoGroup.java +68 -0
  55. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleCyanoGroupOnMoreThanEightAtomsChain.java +70 -0
  56. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleEpoxide.java +68 -0
  57. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleEsters.java +67 -0
  58. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleFormaldehyde.java +67 -0
  59. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleHalogenSubstitutedBranched.java +71 -0
  60. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleKetone.java +67 -0
  61. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleMoreThanTwoHydroxyOnAromaticRing.java +133 -0
  62. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleNNitroso.java +75 -0
  63. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleNitrile.java +68 -0
  64. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleOneHalogenOnUnbranched.java +135 -0
  65. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RulePhosphateEsters.java +71 -0
  66. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RulePyridineRing.java +67 -0
  67. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleTerminalIsopropylNonCyclic.java +132 -0
  68. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleTerminalTertButyl.java +68 -0
  69. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleTertiaryAmine.java +67 -0
  70. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleTriazineRing.java +68 -0
  71. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleTrifluoromethyl.java +69 -0
  72. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleTwoHalogensOnUnbranchedNonCyclic.java +137 -0
  73. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleTwoOrMoreRings.java +99 -0
  74. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleTwoTerminalDiaminoGroupsOnNonCyclic.java +132 -0
  75. data/Toxtree-v2.6.13/src/com/molecularnetworks/start/rules/RuleTwoTerminalDoubleBondsOnUnbranched.java +132 -0
  76. data/Toxtree-v2.6.13/src/cramer2/CramerRulesWithExtensions.java +283 -0
  77. data/Toxtree-v2.6.13/src/cramer2/CramerRulesWithExtensions.properties +10 -0
  78. data/Toxtree-v2.6.13/src/cramer2/MANIFEST.plugin +10 -0
  79. data/Toxtree-v2.6.13/src/cramer2/categories/CramerClass1.java +51 -0
  80. data/Toxtree-v2.6.13/src/cramer2/categories/CramerClass2.java +55 -0
  81. data/Toxtree-v2.6.13/src/cramer2/categories/CramerClass3.java +53 -0
  82. data/Toxtree-v2.6.13/src/cramer2/categories/CramerTreeResult.java +80 -0
  83. data/Toxtree-v2.6.13/src/cramer2/package.html +17 -0
  84. data/Toxtree-v2.6.13/src/cramer2/rules/RuleBenzeneAnalogues.java +58 -0
  85. data/Toxtree-v2.6.13/src/cramer2/rules/RuleDivalentSulphur.java +57 -0
  86. data/Toxtree-v2.6.13/src/cramer2/rules/RuleFreeABUnsaturatedHetero.java +52 -0
  87. data/Toxtree-v2.6.13/src/cramer2/rules/RuleHasOnlySaltSulphonateSulphate.java +279 -0
  88. data/Toxtree-v2.6.13/src/cramer2/rules/RuleNormalBodyConstituent.java +75 -0
  89. data/Toxtree-v2.6.13/src/cramer2/rules/RuleReadilyHydrolysedPO4.java +106 -0
  90. data/Toxtree-v2.6.13/src/cramer2/rules/RuleUnchargedOrganophosphates.java +53 -0
  91. data/Toxtree-v2.6.13/src/cramer2/rules/RuleUnchargedOrganophosphates_wrong.txt +207 -0
  92. data/Toxtree-v2.6.13/src/eye/EyeIrritationRules.java +356 -0
  93. data/Toxtree-v2.6.13/src/eye/EyeIrritationRules.properties +7 -0
  94. data/Toxtree-v2.6.13/src/eye/MANIFEST.plugin +11 -0
  95. data/Toxtree-v2.6.13/src/eye/categories/CategoryCorrosiveEye.java +45 -0
  96. data/Toxtree-v2.6.13/src/eye/categories/CategoryCorrosiveSkin.java +42 -0
  97. data/Toxtree-v2.6.13/src/eye/categories/CategoryModerateIrritation2Eye.java +42 -0
  98. data/Toxtree-v2.6.13/src/eye/categories/CategoryNotCorrosive2Eye.java +46 -0
  99. data/Toxtree-v2.6.13/src/eye/categories/CategoryNotCorrosive2Skin.java +46 -0
  100. data/Toxtree-v2.6.13/src/eye/categories/CategoryNotCorrosive2SkinAndIrritating2Eye.java +42 -0
  101. data/Toxtree-v2.6.13/src/eye/categories/CategoryNotCorrosive2SkinEye.java +45 -0
  102. data/Toxtree-v2.6.13/src/eye/categories/CategoryNotCorrosive2SkinOrIrritating2Eye.java +42 -0
  103. data/Toxtree-v2.6.13/src/eye/categories/CategoryNotIrritating2Eye.java +50 -0
  104. data/Toxtree-v2.6.13/src/eye/categories/CategoryNotIrritatingOrCorrosive2Eye.java +49 -0
  105. data/Toxtree-v2.6.13/src/eye/categories/CategoryUnknown.java +61 -0
  106. data/Toxtree-v2.6.13/src/eye/categories/package.html +77 -0
  107. data/Toxtree-v2.6.13/src/eye/package.html +17 -0
  108. data/Toxtree-v2.6.13/src/eye/rules/Rule1.java +41 -0
  109. data/Toxtree-v2.6.13/src/eye/rules/Rule13_AliphaticMonoalcohols.java +158 -0
  110. data/Toxtree-v2.6.13/src/eye/rules/Rule14Aliphatic_glycerol_monoethers.java +52 -0
  111. data/Toxtree-v2.6.13/src/eye/rules/Rule15.java +61 -0
  112. data/Toxtree-v2.6.13/src/eye/rules/Rule16.java +69 -0
  113. data/Toxtree-v2.6.13/src/eye/rules/Rule17.java +55 -0
  114. data/Toxtree-v2.6.13/src/eye/rules/Rule18.java +54 -0
  115. data/Toxtree-v2.6.13/src/eye/rules/Rule19.java +59 -0
  116. data/Toxtree-v2.6.13/src/eye/rules/Rule20.java +53 -0
  117. data/Toxtree-v2.6.13/src/eye/rules/Rule21.java +56 -0
  118. data/Toxtree-v2.6.13/src/eye/rules/Rule22.java +57 -0
  119. data/Toxtree-v2.6.13/src/eye/rules/Rule23.java +61 -0
  120. data/Toxtree-v2.6.13/src/eye/rules/Rule24.java +128 -0
  121. data/Toxtree-v2.6.13/src/eye/rules/Rule25.java +52 -0
  122. data/Toxtree-v2.6.13/src/eye/rules/Rule26.java +57 -0
  123. data/Toxtree-v2.6.13/src/eye/rules/Rule27.java +52 -0
  124. data/Toxtree-v2.6.13/src/eye/rules/Rule28.java +53 -0
  125. data/Toxtree-v2.6.13/src/eye/rules/Rule29.java +52 -0
  126. data/Toxtree-v2.6.13/src/eye/rules/Rule30.java +60 -0
  127. data/Toxtree-v2.6.13/src/eye/rules/Rule31.java +57 -0
  128. data/Toxtree-v2.6.13/src/eye/rules/Rule32.java +56 -0
  129. data/Toxtree-v2.6.13/src/eye/rules/Rule33.java +84 -0
  130. data/Toxtree-v2.6.13/src/eye/rules/Rule34.java +58 -0
  131. data/Toxtree-v2.6.13/src/eye/rules/Rule35.java +61 -0
  132. data/Toxtree-v2.6.13/src/eye/rules/Rule36.java +56 -0
  133. data/Toxtree-v2.6.13/src/eye/rules/Rule37.java +56 -0
  134. data/Toxtree-v2.6.13/src/eye/rules/Rule38.java +156 -0
  135. data/Toxtree-v2.6.13/src/eye/rules/Rule39.java +60 -0
  136. data/Toxtree-v2.6.13/src/eye/rules/RuleAqueousSolubility.java +48 -0
  137. data/Toxtree-v2.6.13/src/eye/rules/RuleAqueousSolubility1.java +47 -0
  138. data/Toxtree-v2.6.13/src/eye/rules/RuleAqueousSolubility_10_2.java +67 -0
  139. data/Toxtree-v2.6.13/src/eye/rules/RuleAqueousSolubility_10_5.java +51 -0
  140. data/Toxtree-v2.6.13/src/eye/rules/RuleAqueousSolubility_11_7.java +49 -0
  141. data/Toxtree-v2.6.13/src/eye/rules/RuleAqueousSolubility_8_3.java +50 -0
  142. data/Toxtree-v2.6.13/src/eye/rules/RuleAqueousSolubility_8_4.java +48 -0
  143. data/Toxtree-v2.6.13/src/eye/rules/RuleAqueousSolubility_9_3.java +51 -0
  144. data/Toxtree-v2.6.13/src/eye/rules/RuleHasOnlyC_H_O.java +36 -0
  145. data/Toxtree-v2.6.13/src/eye/rules/RuleHasOnlyC_H_O_Halogen.java +44 -0
  146. data/Toxtree-v2.6.13/src/eye/rules/RuleHasOnlyC_H_O_N.java +45 -0
  147. data/Toxtree-v2.6.13/src/eye/rules/RuleHasOnlyC_H_O_N_Halogen.java +40 -0
  148. data/Toxtree-v2.6.13/src/eye/rules/RuleHasOnlyC_H_O_N_S.java +51 -0
  149. data/Toxtree-v2.6.13/src/eye/rules/RuleLipidSolubility.java +47 -0
  150. data/Toxtree-v2.6.13/src/eye/rules/RuleLipidSolubility_10_4.java +50 -0
  151. data/Toxtree-v2.6.13/src/eye/rules/RuleLipidSolubility_9_1.java +50 -0
  152. data/Toxtree-v2.6.13/src/eye/rules/RuleLogP.java +52 -0
  153. data/Toxtree-v2.6.13/src/eye/rules/RuleLogP1.java +49 -0
  154. data/Toxtree-v2.6.13/src/eye/rules/RuleLogP_10_1.java +48 -0
  155. data/Toxtree-v2.6.13/src/eye/rules/RuleLogP_11_4.java +43 -0
  156. data/Toxtree-v2.6.13/src/eye/rules/RuleLogP_11_5.java +47 -0
  157. data/Toxtree-v2.6.13/src/eye/rules/RuleLogP_11_6.java +45 -0
  158. data/Toxtree-v2.6.13/src/eye/rules/RuleLogP_12_4.java +41 -0
  159. data/Toxtree-v2.6.13/src/eye/rules/RuleLogP_9_4.java +47 -0
  160. data/Toxtree-v2.6.13/src/eye/rules/RuleMeltingPoint_11_2.java +44 -0
  161. data/Toxtree-v2.6.13/src/eye/rules/RuleMeltingPoint_12_3.java +48 -0
  162. data/Toxtree-v2.6.13/src/eye/rules/RuleMeltingPoint_8_1.java +49 -0
  163. data/Toxtree-v2.6.13/src/eye/rules/RuleMelting_Point_11_3.java +45 -0
  164. data/Toxtree-v2.6.13/src/eye/rules/RuleMolWeight.java +53 -0
  165. data/Toxtree-v2.6.13/src/eye/rules/RuleMolWeight_10_3.java +46 -0
  166. data/Toxtree-v2.6.13/src/eye/rules/RuleMolWeight_11_1.java +45 -0
  167. data/Toxtree-v2.6.13/src/eye/rules/RuleMolWeight_12_2.java +65 -0
  168. data/Toxtree-v2.6.13/src/eye/rules/RuleMolWeight_8_2.java +46 -0
  169. data/Toxtree-v2.6.13/src/eye/rules/RuleMolWeight_9_2.java +54 -0
  170. data/Toxtree-v2.6.13/src/eye/rules/RuleMolweight_12_1.java +49 -0
  171. data/Toxtree-v2.6.13/src/eye/rules/package.html +15 -0
  172. data/Toxtree-v2.6.13/src/foodmol.inchi +104 -0
  173. data/Toxtree-v2.6.13/src/foodmol.sdf +6200 -0
  174. data/Toxtree-v2.6.13/src/kroes/KroesFig1Q1.sdf +110 -0
  175. data/Toxtree-v2.6.13/src/mic/MICRules.java +260 -0
  176. data/Toxtree-v2.6.13/src/mic/MICRules.properties +5 -0
  177. data/Toxtree-v2.6.13/src/mic/categories/micronucleusClass1.java +53 -0
  178. data/Toxtree-v2.6.13/src/mic/categories/micronucleusClass2.java +53 -0
  179. data/Toxtree-v2.6.13/src/mic/rules/MICTreeResult.java +158 -0
  180. data/Toxtree-v2.6.13/src/mic/rules/PB29.java +67 -0
  181. data/Toxtree-v2.6.13/src/mic/rules/PB30.java +68 -0
  182. data/Toxtree-v2.6.13/src/mic/rules/RuleAlertsForMIC.java +47 -0
  183. data/Toxtree-v2.6.13/src/mic/rules/SA1.java +59 -0
  184. data/Toxtree-v2.6.13/src/mic/rules/SA10.java +128 -0
  185. data/Toxtree-v2.6.13/src/mic/rules/SA11.java +76 -0
  186. data/Toxtree-v2.6.13/src/mic/rules/SA12.java +71 -0
  187. data/Toxtree-v2.6.13/src/mic/rules/SA13.java +70 -0
  188. data/Toxtree-v2.6.13/src/mic/rules/SA14.java +64 -0
  189. data/Toxtree-v2.6.13/src/mic/rules/SA15.java +59 -0
  190. data/Toxtree-v2.6.13/src/mic/rules/SA16.java +61 -0
  191. data/Toxtree-v2.6.13/src/mic/rules/SA18.java +211 -0
  192. data/Toxtree-v2.6.13/src/mic/rules/SA19.java +87 -0
  193. data/Toxtree-v2.6.13/src/mic/rules/SA2.java +184 -0
  194. data/Toxtree-v2.6.13/src/mic/rules/SA21.java +66 -0
  195. data/Toxtree-v2.6.13/src/mic/rules/SA22.java +70 -0
  196. data/Toxtree-v2.6.13/src/mic/rules/SA23.java +67 -0
  197. data/Toxtree-v2.6.13/src/mic/rules/SA24.java +65 -0
  198. data/Toxtree-v2.6.13/src/mic/rules/SA25.java +110 -0
  199. data/Toxtree-v2.6.13/src/mic/rules/SA26.java +93 -0
  200. data/Toxtree-v2.6.13/src/mic/rules/SA27.java +146 -0
  201. data/Toxtree-v2.6.13/src/mic/rules/SA28.java +204 -0
  202. data/Toxtree-v2.6.13/src/mic/rules/SA28bis.java +108 -0
  203. data/Toxtree-v2.6.13/src/mic/rules/SA28ter.java +94 -0
  204. data/Toxtree-v2.6.13/src/mic/rules/SA29.java +83 -0
  205. data/Toxtree-v2.6.13/src/mic/rules/SA3.java +65 -0
  206. data/Toxtree-v2.6.13/src/mic/rules/SA30.java +63 -0
  207. data/Toxtree-v2.6.13/src/mic/rules/SA32.java +67 -0
  208. data/Toxtree-v2.6.13/src/mic/rules/SA33.java +67 -0
  209. data/Toxtree-v2.6.13/src/mic/rules/SA34.java +76 -0
  210. data/Toxtree-v2.6.13/src/mic/rules/SA35.java +67 -0
  211. data/Toxtree-v2.6.13/src/mic/rules/SA36.java +68 -0
  212. data/Toxtree-v2.6.13/src/mic/rules/SA4.java +68 -0
  213. data/Toxtree-v2.6.13/src/mic/rules/SA5.java +61 -0
  214. data/Toxtree-v2.6.13/src/mic/rules/SA6.java +64 -0
  215. data/Toxtree-v2.6.13/src/mic/rules/SA7.java +60 -0
  216. data/Toxtree-v2.6.13/src/mic/rules/SA8.java +128 -0
  217. data/Toxtree-v2.6.13/src/mic/rules/SA9.java +60 -0
  218. data/Toxtree-v2.6.13/src/michaelacceptors/MATreeResult.java +34 -0
  219. data/Toxtree-v2.6.13/src/michaelacceptors/MichaelAcceptorRules.java +186 -0
  220. data/Toxtree-v2.6.13/src/michaelacceptors/MichaelAcceptorRules.properties +6 -0
  221. data/Toxtree-v2.6.13/src/michaelacceptors/categories/CategoryMichaelAcceptor.java +43 -0
  222. data/Toxtree-v2.6.13/src/michaelacceptors/categories/CategoryUnknown.java +49 -0
  223. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule1.java +42 -0
  224. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule10A.java +26 -0
  225. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule10B.java +25 -0
  226. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule11.java +26 -0
  227. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule12A.java +26 -0
  228. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule12B.java +25 -0
  229. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule13A.java +24 -0
  230. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule13B.java +27 -0
  231. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule14.java +25 -0
  232. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule2.java +37 -0
  233. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule3.java +32 -0
  234. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule4A.java +28 -0
  235. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule4B.java +28 -0
  236. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule5.java +29 -0
  237. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule6.java +26 -0
  238. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule7.java +26 -0
  239. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule8.java +26 -0
  240. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule9A.java +24 -0
  241. data/Toxtree-v2.6.13/src/michaelacceptors/rules/Rule9B.java +27 -0
  242. data/Toxtree-v2.6.13/src/mutant/BB_CarcMutRules.java +375 -0
  243. data/Toxtree-v2.6.13/src/mutant/BB_CarcMutRules.properties +9 -0
  244. data/Toxtree-v2.6.13/src/mutant/categories/CategoryCarcinogen.java +47 -0
  245. data/Toxtree-v2.6.13/src/mutant/categories/CategoryError.java +18 -0
  246. data/Toxtree-v2.6.13/src/mutant/categories/CategoryMutagenTA100.java +48 -0
  247. data/Toxtree-v2.6.13/src/mutant/categories/CategoryNoGenotoxicAlert.java +52 -0
  248. data/Toxtree-v2.6.13/src/mutant/categories/CategoryNoNongenotoxicAlert.java +51 -0
  249. data/Toxtree-v2.6.13/src/mutant/categories/CategoryNonMutagen.java +45 -0
  250. data/Toxtree-v2.6.13/src/mutant/categories/CategoryNotCarcinogen.java +47 -0
  251. data/Toxtree-v2.6.13/src/mutant/categories/CategoryPositiveAlertGenotoxic.java +50 -0
  252. data/Toxtree-v2.6.13/src/mutant/categories/CategoryPositiveAlertNongenotoxic.java +50 -0
  253. data/Toxtree-v2.6.13/src/mutant/categories/MutantCategory.java +65 -0
  254. data/Toxtree-v2.6.13/src/mutant/categories/QSARApplicable.java +51 -0
  255. data/Toxtree-v2.6.13/src/mutant/descriptors/AromaticAmineSubstituentsDescriptor.java +584 -0
  256. data/Toxtree-v2.6.13/src/mutant/descriptors/DescriptorBridgedBiphenyl.java +45 -0
  257. data/Toxtree-v2.6.13/src/mutant/descriptors/DescriptorHasNO2Group.java +66 -0
  258. data/Toxtree-v2.6.13/src/mutant/descriptors/DescriptorIDist.java +152 -0
  259. data/Toxtree-v2.6.13/src/mutant/descriptors/DescriptorIsAniline.java +122 -0
  260. data/Toxtree-v2.6.13/src/mutant/descriptors/DescriptorMolarRefractivity.java +73 -0
  261. data/Toxtree-v2.6.13/src/mutant/descriptors/DescriptorStructurePresence.java +149 -0
  262. data/Toxtree-v2.6.13/src/mutant/descriptors/SubstituentExtractor.java +234 -0
  263. data/Toxtree-v2.6.13/src/mutant/descriptors/SubstituentPosition.java +63 -0
  264. data/Toxtree-v2.6.13/src/mutant/descriptors/SubstituentsDescriptor.java +115 -0
  265. data/Toxtree-v2.6.13/src/mutant/descriptors/whim_weights.txt +39 -0
  266. data/Toxtree-v2.6.13/src/mutant/rules/MutantTreeResult.java +348 -0
  267. data/Toxtree-v2.6.13/src/mutant/rules/QSAR6Applicable.java +162 -0
  268. data/Toxtree-v2.6.13/src/mutant/rules/RuleABUnsaturatedAldehyde.java +67 -0
  269. data/Toxtree-v2.6.13/src/mutant/rules/RuleAlertsForCarcinogenicity.java +47 -0
  270. data/Toxtree-v2.6.13/src/mutant/rules/RuleAlertsForGenotoxicCarcinogenicity.java +47 -0
  271. data/Toxtree-v2.6.13/src/mutant/rules/RuleAlertsNongenotoxicCarcinogenicity.java +54 -0
  272. data/Toxtree-v2.6.13/src/mutant/rules/RuleAromaticAmineNoSulfonicGroup.java +144 -0
  273. data/Toxtree-v2.6.13/src/mutant/rules/RuleAromaticDiazo.java +98 -0
  274. data/Toxtree-v2.6.13/src/mutant/rules/RuleDACancerogenicityAromaticAmines.java +217 -0
  275. data/Toxtree-v2.6.13/src/mutant/rules/RuleDAMutagenicityABUnsaturatedAldehydes.java +189 -0
  276. data/Toxtree-v2.6.13/src/mutant/rules/RuleDAMutagenicityAromaticAmines.java +239 -0
  277. data/Toxtree-v2.6.13/src/mutant/rules/RuleDerivedAromaticAmines.java +166 -0
  278. data/Toxtree-v2.6.13/src/mutant/rules/SA10_gen.java +127 -0
  279. data/Toxtree-v2.6.13/src/mutant/rules/SA11_gen.java +80 -0
  280. data/Toxtree-v2.6.13/src/mutant/rules/SA12_gen.java +68 -0
  281. data/Toxtree-v2.6.13/src/mutant/rules/SA13_gen.java +66 -0
  282. data/Toxtree-v2.6.13/src/mutant/rules/SA14_gen.java +61 -0
  283. data/Toxtree-v2.6.13/src/mutant/rules/SA15_gen.java +55 -0
  284. data/Toxtree-v2.6.13/src/mutant/rules/SA16_gen.java +57 -0
  285. data/Toxtree-v2.6.13/src/mutant/rules/SA17_nogen.java +76 -0
  286. data/Toxtree-v2.6.13/src/mutant/rules/SA18_gen.java +187 -0
  287. data/Toxtree-v2.6.13/src/mutant/rules/SA19_gen.java +71 -0
  288. data/Toxtree-v2.6.13/src/mutant/rules/SA1_gen.java +57 -0
  289. data/Toxtree-v2.6.13/src/mutant/rules/SA20_nogen.java +139 -0
  290. data/Toxtree-v2.6.13/src/mutant/rules/SA21_gen.java +66 -0
  291. data/Toxtree-v2.6.13/src/mutant/rules/SA22_gen.java +69 -0
  292. data/Toxtree-v2.6.13/src/mutant/rules/SA23_gen.java +62 -0
  293. data/Toxtree-v2.6.13/src/mutant/rules/SA24_gen.java +60 -0
  294. data/Toxtree-v2.6.13/src/mutant/rules/SA25_gen.java +104 -0
  295. data/Toxtree-v2.6.13/src/mutant/rules/SA26_gen.java +79 -0
  296. data/Toxtree-v2.6.13/src/mutant/rules/SA27_gen.java +131 -0
  297. data/Toxtree-v2.6.13/src/mutant/rules/SA28_gen.java +169 -0
  298. data/Toxtree-v2.6.13/src/mutant/rules/SA28bis_gen.java +92 -0
  299. data/Toxtree-v2.6.13/src/mutant/rules/SA28ter_gen.java +88 -0
  300. data/Toxtree-v2.6.13/src/mutant/rules/SA29_gen.java +78 -0
  301. data/Toxtree-v2.6.13/src/mutant/rules/SA2_gen.java +156 -0
  302. data/Toxtree-v2.6.13/src/mutant/rules/SA30_gen.java +63 -0
  303. data/Toxtree-v2.6.13/src/mutant/rules/SA31a_nogen.java +202 -0
  304. data/Toxtree-v2.6.13/src/mutant/rules/SA31b_nogen.java +64 -0
  305. data/Toxtree-v2.6.13/src/mutant/rules/SA31c_nogen.java +46 -0
  306. data/Toxtree-v2.6.13/src/mutant/rules/SA37_gen.java +59 -0
  307. data/Toxtree-v2.6.13/src/mutant/rules/SA38_gen.java +58 -0
  308. data/Toxtree-v2.6.13/src/mutant/rules/SA39_gen_and_nogen.java +59 -0
  309. data/Toxtree-v2.6.13/src/mutant/rules/SA3_gen.java +61 -0
  310. data/Toxtree-v2.6.13/src/mutant/rules/SA40_nogen.java +59 -0
  311. data/Toxtree-v2.6.13/src/mutant/rules/SA41_nogen.java +59 -0
  312. data/Toxtree-v2.6.13/src/mutant/rules/SA42_nogen.java +58 -0
  313. data/Toxtree-v2.6.13/src/mutant/rules/SA43_nogen.java +57 -0
  314. data/Toxtree-v2.6.13/src/mutant/rules/SA44_nogen.java +61 -0
  315. data/Toxtree-v2.6.13/src/mutant/rules/SA45_nogen.java +58 -0
  316. data/Toxtree-v2.6.13/src/mutant/rules/SA46_nogen.java +59 -0
  317. data/Toxtree-v2.6.13/src/mutant/rules/SA47_nogen.java +60 -0
  318. data/Toxtree-v2.6.13/src/mutant/rules/SA48_nogen.java +58 -0
  319. data/Toxtree-v2.6.13/src/mutant/rules/SA49_nogen.java +60 -0
  320. data/Toxtree-v2.6.13/src/mutant/rules/SA4_gen.java +63 -0
  321. data/Toxtree-v2.6.13/src/mutant/rules/SA50_nogen.java +59 -0
  322. data/Toxtree-v2.6.13/src/mutant/rules/SA51_nogen.java +58 -0
  323. data/Toxtree-v2.6.13/src/mutant/rules/SA52_nogen.java +57 -0
  324. data/Toxtree-v2.6.13/src/mutant/rules/SA53_nogen.java +61 -0
  325. data/Toxtree-v2.6.13/src/mutant/rules/SA54_nogen.java +58 -0
  326. data/Toxtree-v2.6.13/src/mutant/rules/SA55_nogen.java +59 -0
  327. data/Toxtree-v2.6.13/src/mutant/rules/SA56_nogen.java +59 -0
  328. data/Toxtree-v2.6.13/src/mutant/rules/SA5_gen.java +58 -0
  329. data/Toxtree-v2.6.13/src/mutant/rules/SA6_gen.java +61 -0
  330. data/Toxtree-v2.6.13/src/mutant/rules/SA7_gen.java +56 -0
  331. data/Toxtree-v2.6.13/src/mutant/rules/SA8_gen.java +121 -0
  332. data/Toxtree-v2.6.13/src/mutant/rules/SA9_gen.java +54 -0
  333. data/Toxtree-v2.6.13/src/mutant/rules/SMARTSGroup.java +60 -0
  334. data/Toxtree-v2.6.13/src/mutant/rules/SMARTSgroups.java +56 -0
  335. data/Toxtree-v2.6.13/src/mutant/rules/UserInputABUnsaturatedAldehyde.java +24 -0
  336. data/Toxtree-v2.6.13/src/mutant/rules/UserInputAromaticAmine.java +47 -0
  337. data/Toxtree-v2.6.13/src/mutant/rules/VerifyAlertsGenotoxic.java +42 -0
  338. data/Toxtree-v2.6.13/src/mutant/rules/VerifyAlertsNongenotoxic.java +42 -0
  339. data/Toxtree-v2.6.13/src/sicret/SicretRules.java +357 -0
  340. data/Toxtree-v2.6.13/src/sicret/SicretRules.properties +9 -0
  341. data/Toxtree-v2.6.13/src/sicret/categories/CategoryCorrosive.java +47 -0
  342. data/Toxtree-v2.6.13/src/sicret/categories/CategoryIrritating.java +46 -0
  343. data/Toxtree-v2.6.13/src/sicret/categories/CategoryIrritatingOrCorrosive.java +28 -0
  344. data/Toxtree-v2.6.13/src/sicret/categories/CategoryNotCorrosive.java +47 -0
  345. data/Toxtree-v2.6.13/src/sicret/categories/CategoryNotIrritating.java +46 -0
  346. data/Toxtree-v2.6.13/src/sicret/categories/CategoryNotIrritatingOrCorrosive.java +49 -0
  347. data/Toxtree-v2.6.13/src/sicret/categories/CategoryUnknown.java +60 -0
  348. data/Toxtree-v2.6.13/src/sicret/categories/package.html +16 -0
  349. data/Toxtree-v2.6.13/src/sicret/package.html +17 -0
  350. data/Toxtree-v2.6.13/src/sicret/rules/Rule11.java +42 -0
  351. data/Toxtree-v2.6.13/src/sicret/rules/Rule12.java +44 -0
  352. data/Toxtree-v2.6.13/src/sicret/rules/Rule13.java +47 -0
  353. data/Toxtree-v2.6.13/src/sicret/rules/Rule14.java +45 -0
  354. data/Toxtree-v2.6.13/src/sicret/rules/Rule15.java +47 -0
  355. data/Toxtree-v2.6.13/src/sicret/rules/Rule16.java +41 -0
  356. data/Toxtree-v2.6.13/src/sicret/rules/Rule17.java +42 -0
  357. data/Toxtree-v2.6.13/src/sicret/rules/Rule18.java +45 -0
  358. data/Toxtree-v2.6.13/src/sicret/rules/Rule19.java +47 -0
  359. data/Toxtree-v2.6.13/src/sicret/rules/Rule20.java +44 -0
  360. data/Toxtree-v2.6.13/src/sicret/rules/Rule21.java +54 -0
  361. data/Toxtree-v2.6.13/src/sicret/rules/Rule22.java +45 -0
  362. data/Toxtree-v2.6.13/src/sicret/rules/Rule23.java +47 -0
  363. data/Toxtree-v2.6.13/src/sicret/rules/Rule24.java +48 -0
  364. data/Toxtree-v2.6.13/src/sicret/rules/Rule25.java +46 -0
  365. data/Toxtree-v2.6.13/src/sicret/rules/Rule26.java +47 -0
  366. data/Toxtree-v2.6.13/src/sicret/rules/Rule27.java +47 -0
  367. data/Toxtree-v2.6.13/src/sicret/rules/Rule28.java +42 -0
  368. data/Toxtree-v2.6.13/src/sicret/rules/Rule29.java +46 -0
  369. data/Toxtree-v2.6.13/src/sicret/rules/Rule30.java +48 -0
  370. data/Toxtree-v2.6.13/src/sicret/rules/Rule4.java +46 -0
  371. data/Toxtree-v2.6.13/src/sicret/rules/Rule8.java +44 -0
  372. data/Toxtree-v2.6.13/src/sicret/rules/Rule9.java +46 -0
  373. data/Toxtree-v2.6.13/src/sicret/rules/RuleA_Lactams.java +55 -0
  374. data/Toxtree-v2.6.13/src/sicret/rules/RuleAcidAnhydrides.java +71 -0
  375. data/Toxtree-v2.6.13/src/sicret/rules/RuleAcidImides.java +55 -0
  376. data/Toxtree-v2.6.13/src/sicret/rules/RuleAcrylicAcids.java +74 -0
  377. data/Toxtree-v2.6.13/src/sicret/rules/RuleAcrylicAndMethacrylicEsters.java +71 -0
  378. data/Toxtree-v2.6.13/src/sicret/rules/RuleAldehydes.java +53 -0
  379. data/Toxtree-v2.6.13/src/sicret/rules/RuleAliphaticSaturatedAcidsAndHalogenatedAcids.java +63 -0
  380. data/Toxtree-v2.6.13/src/sicret/rules/RuleAlkylAlkanolAmines.java +53 -0
  381. data/Toxtree-v2.6.13/src/sicret/rules/RuleAlphaAlkynes.java +53 -0
  382. data/Toxtree-v2.6.13/src/sicret/rules/RuleAlphaHalogenatedAmidesAndThioamides.java +56 -0
  383. data/Toxtree-v2.6.13/src/sicret/rules/RuleAqueousSolubility.java +48 -0
  384. data/Toxtree-v2.6.13/src/sicret/rules/RuleAromaticAmines.java +77 -0
  385. data/Toxtree-v2.6.13/src/sicret/rules/RuleBenzylHalides.java +54 -0
  386. data/Toxtree-v2.6.13/src/sicret/rules/RuleBetaLactones.java +54 -0
  387. data/Toxtree-v2.6.13/src/sicret/rules/RuleC10_C20AliphaticAlcohols.java +108 -0
  388. data/Toxtree-v2.6.13/src/sicret/rules/RuleCarbamoylHalide.java +80 -0
  389. data/Toxtree-v2.6.13/src/sicret/rules/RuleCatecholsResorcinolsHydroquinones.java +73 -0
  390. data/Toxtree-v2.6.13/src/sicret/rules/RuleDi_Tri_Nitrobenzenes.java +76 -0
  391. data/Toxtree-v2.6.13/src/sicret/rules/RuleEpoxides.java +51 -0
  392. data/Toxtree-v2.6.13/src/sicret/rules/RuleEthyleneGlycolEthers.java +59 -0
  393. data/Toxtree-v2.6.13/src/sicret/rules/RuleHalogenatedAlkanesAndAlkenes.java +62 -0
  394. data/Toxtree-v2.6.13/src/sicret/rules/RuleHalonitrobenzene.java +76 -0
  395. data/Toxtree-v2.6.13/src/sicret/rules/RuleHasOnlyC_H_O.java +77 -0
  396. data/Toxtree-v2.6.13/src/sicret/rules/RuleHasOnlyC_H_O_Halogen.java +54 -0
  397. data/Toxtree-v2.6.13/src/sicret/rules/RuleHasOnlyC_H_O_N.java +52 -0
  398. data/Toxtree-v2.6.13/src/sicret/rules/RuleHasOnlyC_H_O_N_Halogen.java +92 -0
  399. data/Toxtree-v2.6.13/src/sicret/rules/RuleHasOnlyC_H_O_N_S.java +62 -0
  400. data/Toxtree-v2.6.13/src/sicret/rules/RuleHydroPeroxides.java +55 -0
  401. data/Toxtree-v2.6.13/src/sicret/rules/RuleKetenes.java +53 -0
  402. data/Toxtree-v2.6.13/src/sicret/rules/RuleKetones.java +55 -0
  403. data/Toxtree-v2.6.13/src/sicret/rules/RuleLactonesFusedOrUnsaturated.java +84 -0
  404. data/Toxtree-v2.6.13/src/sicret/rules/RuleLipidSolubility.java +45 -0
  405. data/Toxtree-v2.6.13/src/sicret/rules/RuleLogP.java +100 -0
  406. data/Toxtree-v2.6.13/src/sicret/rules/RuleMeltingPoint.java +54 -0
  407. data/Toxtree-v2.6.13/src/sicret/rules/RuleMolWeight.java +67 -0
  408. data/Toxtree-v2.6.13/src/sicret/rules/RuleOandPQuinones.java +78 -0
  409. data/Toxtree-v2.6.13/src/sicret/rules/RulePhenols.java +65 -0
  410. data/Toxtree-v2.6.13/src/sicret/rules/RuleQuaternaryOrganicAmmoniumAndPhosphoniumSalts.java +85 -0
  411. data/Toxtree-v2.6.13/src/sicret/rules/RuleSurfaceTension.java +52 -0
  412. data/Toxtree-v2.6.13/src/sicret/rules/RuleTriAndTetraHalogenatedBenzenes.java +70 -0
  413. data/Toxtree-v2.6.13/src/sicret/rules/RuleVapourPressure.java +53 -0
  414. data/Toxtree-v2.6.13/src/sicret/rules/package.html +15 -0
  415. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleAlcohol.java +24 -0
  416. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleAldehyde.java +25 -0
  417. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleAlkylAldehyde.java +25 -0
  418. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleAlkylHydrazine.java +27 -0
  419. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleAlkylPhosphonate.java +28 -0
  420. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleAmine.java +25 -0
  421. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleAromaticAldehyde.java +26 -0
  422. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleAromaticAzo.java +27 -0
  423. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleAromaticNitro.java +26 -0
  424. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleArylMethylHalide.java +26 -0
  425. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleAziridine.java +26 -0
  426. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleAzo.java +25 -0
  427. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleBenzene.java +36 -0
  428. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleEpoxide.java +25 -0
  429. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleEther.java +25 -0
  430. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleFuran.java +25 -0
  431. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleHalide.java +31 -0
  432. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleHeterocycle.java +36 -0
  433. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleHydrazine.java +26 -0
  434. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleIminomethyl.java +25 -0
  435. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleKetone.java +25 -0
  436. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleNChloramine.java +29 -0
  437. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleNHydroxy.java +26 -0
  438. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleNMethylol.java +29 -0
  439. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleNOxide.java +28 -0
  440. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleNitro.java +25 -0
  441. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleNitrogenMustard.java +25 -0
  442. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleNitrosamine.java +27 -0
  443. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleNitroso.java +25 -0
  444. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleNucleosides.java +30 -0
  445. data/Toxtree-v2.6.13/src/structurefeatures/rules/RulePhosphoricGroups.java +29 -0
  446. data/Toxtree-v2.6.13/src/structurefeatures/rules/RulePropiolactone.java +25 -0
  447. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleUrethaneDerivatives.java +26 -0
  448. data/Toxtree-v2.6.13/src/structurefeatures/rules/RuleprimaryAlkylHalide.java +29 -0
  449. data/Toxtree-v2.6.13/src/substituents.sdf +16605 -0
  450. data/Toxtree-v2.6.13/src/toxTree/apps/AbstractApplication.java +179 -0
  451. data/Toxtree-v2.6.13/src/toxTree/apps/CompoundMethodApplication.java +139 -0
  452. data/Toxtree-v2.6.13/src/toxTree/apps/ToxTreeApp.java +246 -0
  453. data/Toxtree-v2.6.13/src/toxTree/apps/ToxtreeHeadless.java +120 -0
  454. data/Toxtree-v2.6.13/src/toxTree/apps/ToxtreeOptions.java +185 -0
  455. data/Toxtree-v2.6.13/src/toxTree/apps/toxForest/ToxForestActions.java +51 -0
  456. data/Toxtree-v2.6.13/src/toxTree/apps/toxForest/ToxForestApp.java +208 -0
  457. data/Toxtree-v2.6.13/src/toxTree/apps/toxForest/ToxForestCompoundPanel.java +74 -0
  458. data/Toxtree-v2.6.13/src/toxTree/apps/toxForest/ToxForestData.java +100 -0
  459. data/Toxtree-v2.6.13/src/toxTree/apps/toxForest/ToxForestDataModule.java +229 -0
  460. data/Toxtree-v2.6.13/src/toxTree/apps/toxForest/ToxForestDataModulePanel.java +306 -0
  461. data/Toxtree-v2.6.13/src/toxTree/config/help/bird.gif +0 -0
  462. data/Toxtree-v2.6.13/src/toxTree/config/help/titlepage.html +245 -0
  463. data/Toxtree-v2.6.13/src/toxTree/config/help/toxTree.css +136 -0
  464. data/Toxtree-v2.6.13/src/toxTree/config/help/toxTree.hs +36 -0
  465. data/Toxtree-v2.6.13/src/toxTree/config/help/toxTree.html +189 -0
  466. data/Toxtree-v2.6.13/src/toxTree/config/help/toxTree.jhm +12 -0
  467. data/Toxtree-v2.6.13/src/toxTree/config/help/toxTreeTOC.xml +14 -0
  468. data/Toxtree-v2.6.13/src/toxTree/config/log4.console +13 -0
  469. data/Toxtree-v2.6.13/src/toxTree/config/log4.properties +12 -0
  470. data/Toxtree-v2.6.13/src/toxTree/config/reactions/reaction-hydrolize-C(dO)O.cml +61 -0
  471. data/Toxtree-v2.6.13/src/toxTree/config/reactions/reaction-hydrolize-C(dO)S.cml +61 -0
  472. data/Toxtree-v2.6.13/src/toxTree/config/reactions/reaction-hydrolize-C(dS)O.cml +61 -0
  473. data/Toxtree-v2.6.13/src/toxTree/config/reactions/reaction-hydrolize-C(dS)S.cml +61 -0
  474. data/Toxtree-v2.6.13/src/toxTree/config/reactions/reaction-hydrolize-P(dO)(O)(O)O.cml +72 -0
  475. data/Toxtree-v2.6.13/src/toxTree/config/reactions/reaction-hydrolize-P(dO)(O)(O)OX.cml +82 -0
  476. data/Toxtree-v2.6.13/src/toxTree/config/reactions/reaction-hydrolize-S(dO)(dO)O.cml +64 -0
  477. data/Toxtree-v2.6.13/src/toxTree/config/reactions/reaction-metabolize-CdC.cml +61 -0
  478. data/Toxtree-v2.6.13/src/toxTree/config/reactions/reaction-metabolize-NdN.cml +56 -0
  479. data/Toxtree-v2.6.13/src/toxTree/config/reactions/reaction-metabolize-Npd.cml +64 -0
  480. data/Toxtree-v2.6.13/src/toxTree/config/reactions/reaction-metabolize-R-N.cml +52 -0
  481. data/Toxtree-v2.6.13/src/toxTree/core/ConnectionMatrix.java +58 -0
  482. data/Toxtree-v2.6.13/src/toxTree/core/IDecisionCategories.java +47 -0
  483. data/Toxtree-v2.6.13/src/toxTree/core/IDecisionCategory.java +56 -0
  484. data/Toxtree-v2.6.13/src/toxTree/core/IDecisionCategoryEditor.java +31 -0
  485. data/Toxtree-v2.6.13/src/toxTree/core/IDecisionInteractive.java +117 -0
  486. data/Toxtree-v2.6.13/src/toxTree/core/IDecisionMethod.java +95 -0
  487. data/Toxtree-v2.6.13/src/toxTree/core/IDecisionMethodEditor.java +44 -0
  488. data/Toxtree-v2.6.13/src/toxTree/core/IDecisionMethodPrority.java +29 -0
  489. data/Toxtree-v2.6.13/src/toxTree/core/IDecisionMethodsList.java +41 -0
  490. data/Toxtree-v2.6.13/src/toxTree/core/IDecisionResult.java +94 -0
  491. data/Toxtree-v2.6.13/src/toxTree/core/IDecisionRule.java +152 -0
  492. data/Toxtree-v2.6.13/src/toxTree/core/IDecisionRuleEditor.java +43 -0
  493. data/Toxtree-v2.6.13/src/toxTree/core/IDecisionRuleList.java +42 -0
  494. data/Toxtree-v2.6.13/src/toxTree/core/IDecisionTransition.java +36 -0
  495. data/Toxtree-v2.6.13/src/toxTree/core/IDescriptorBased.java +37 -0
  496. data/Toxtree-v2.6.13/src/toxTree/core/IFilteredMolecules.java +48 -0
  497. data/Toxtree-v2.6.13/src/toxTree/core/IImplementationDetails.java +5 -0
  498. data/Toxtree-v2.6.13/src/toxTree/core/IMetaboliteGenerator.java +11 -0
  499. data/Toxtree-v2.6.13/src/toxTree/core/IMoleculesIterator.java +73 -0
  500. data/Toxtree-v2.6.13/src/toxTree/core/IProcessRule.java +35 -0
  501. data/Toxtree-v2.6.13/src/toxTree/core/IProgressStatus.java +36 -0
  502. data/Toxtree-v2.6.13/src/toxTree/core/IRuleRange.java +36 -0
  503. data/Toxtree-v2.6.13/src/toxTree/core/IRuleSubstructures.java +76 -0
  504. data/Toxtree-v2.6.13/src/toxTree/core/IRuleValue.java +35 -0
  505. data/Toxtree-v2.6.13/src/toxTree/core/IToxTreeEditor.java +41 -0
  506. data/Toxtree-v2.6.13/src/toxTree/core/Introspection.java +608 -0
  507. data/Toxtree-v2.6.13/src/toxTree/core/SmartElementsList.java +124 -0
  508. data/Toxtree-v2.6.13/src/toxTree/core/ToxTreeClassLoader.java +65 -0
  509. data/Toxtree-v2.6.13/src/toxTree/core/ToxTreeDescriptor.java +125 -0
  510. data/Toxtree-v2.6.13/src/toxTree/core/ToxTreeObjectInputStream.java +73 -0
  511. data/Toxtree-v2.6.13/src/toxTree/core/ToxTreePackageEntries.java +54 -0
  512. data/Toxtree-v2.6.13/src/toxTree/core/ToxTreePackageEntry.java +75 -0
  513. data/Toxtree-v2.6.13/src/toxTree/core/XMLSerializable.java +53 -0
  514. data/Toxtree-v2.6.13/src/toxTree/core/package.html +46 -0
  515. data/Toxtree-v2.6.13/src/toxTree/data/AbstractFilter.java +135 -0
  516. data/Toxtree-v2.6.13/src/toxTree/data/CategoryFilter.java +41 -0
  517. data/Toxtree-v2.6.13/src/toxTree/data/IMoleculeLookup.java +36 -0
  518. data/Toxtree-v2.6.13/src/toxTree/data/IObjectFilter.java +38 -0
  519. data/Toxtree-v2.6.13/src/toxTree/data/IPropertyFilter.java +34 -0
  520. data/Toxtree-v2.6.13/src/toxTree/data/ListOfAtomContainers.java +248 -0
  521. data/Toxtree-v2.6.13/src/toxTree/data/MoleculesFile.java +487 -0
  522. data/Toxtree-v2.6.13/src/toxTree/data/MoleculesIterator.java +439 -0
  523. data/Toxtree-v2.6.13/src/toxTree/data/ObjectPropertyFilter.java +210 -0
  524. data/Toxtree-v2.6.13/src/toxTree/data/SortedPropertyList.java +177 -0
  525. data/Toxtree-v2.6.13/src/toxTree/data/package.html +13 -0
  526. data/Toxtree-v2.6.13/src/toxTree/exceptions/DCategoryUnknown.java +84 -0
  527. data/Toxtree-v2.6.13/src/toxTree/exceptions/DMethodNotAssigned.java +85 -0
  528. data/Toxtree-v2.6.13/src/toxTree/exceptions/DRuleException.java +82 -0
  529. data/Toxtree-v2.6.13/src/toxTree/exceptions/DRuleNotImplemented.java +83 -0
  530. data/Toxtree-v2.6.13/src/toxTree/exceptions/DRulePropertyNotAvailable.java +76 -0
  531. data/Toxtree-v2.6.13/src/toxTree/exceptions/DecisionMethodException.java +77 -0
  532. data/Toxtree-v2.6.13/src/toxTree/exceptions/DecisionMethodIOException.java +73 -0
  533. data/Toxtree-v2.6.13/src/toxTree/exceptions/DecisionResultException.java +85 -0
  534. data/Toxtree-v2.6.13/src/toxTree/exceptions/DecisionResultIOException.java +78 -0
  535. data/Toxtree-v2.6.13/src/toxTree/exceptions/DecisionResultUIDException.java +76 -0
  536. data/Toxtree-v2.6.13/src/toxTree/exceptions/DesisionMethodUIDException.java +75 -0
  537. data/Toxtree-v2.6.13/src/toxTree/exceptions/FilterException.java +58 -0
  538. data/Toxtree-v2.6.13/src/toxTree/exceptions/IntrospectionException.java +75 -0
  539. data/Toxtree-v2.6.13/src/toxTree/exceptions/MolAnalyseException.java +97 -0
  540. data/Toxtree-v2.6.13/src/toxTree/exceptions/ReactionException.java +72 -0
  541. data/Toxtree-v2.6.13/src/toxTree/exceptions/ToxTreeIOException.java +67 -0
  542. data/Toxtree-v2.6.13/src/toxTree/exceptions/XMLDecisionMethodException.java +63 -0
  543. data/Toxtree-v2.6.13/src/toxTree/exceptions/package.html +15 -0
  544. data/Toxtree-v2.6.13/src/toxTree/io/MolFileFilter.java +111 -0
  545. data/Toxtree-v2.6.13/src/toxTree/io/PDFWriter.java +274 -0
  546. data/Toxtree-v2.6.13/src/toxTree/io/Tools.java +98 -0
  547. data/Toxtree-v2.6.13/src/toxTree/io/batch/BatchFactory.java +81 -0
  548. data/Toxtree-v2.6.13/src/toxTree/io/batch/BatchProcessing.java +497 -0
  549. data/Toxtree-v2.6.13/src/toxTree/io/batch/BatchProcessingException.java +83 -0
  550. data/Toxtree-v2.6.13/src/toxTree/io/batch/ChemObjectBatchProcessing.java +281 -0
  551. data/Toxtree-v2.6.13/src/toxTree/io/batch/FileState.java +232 -0
  552. data/Toxtree-v2.6.13/src/toxTree/io/batch/IBatchProcessing.java +83 -0
  553. data/Toxtree-v2.6.13/src/toxTree/io/batch/ToxTreeBatchProcessing.java +227 -0
  554. data/Toxtree-v2.6.13/src/toxTree/io/batch/package.html +26 -0
  555. data/Toxtree-v2.6.13/src/toxTree/io/package.html +22 -0
  556. data/Toxtree-v2.6.13/src/toxTree/logging/package.html +20 -0
  557. data/Toxtree-v2.6.13/src/toxTree/qsar/AbstractQSARModel.java +177 -0
  558. data/Toxtree-v2.6.13/src/toxTree/qsar/IDescriptorPreprocessor.java +37 -0
  559. data/Toxtree-v2.6.13/src/toxTree/qsar/LinearDiscriminantRule.java +134 -0
  560. data/Toxtree-v2.6.13/src/toxTree/qsar/LinearPreprocessor.java +100 -0
  561. data/Toxtree-v2.6.13/src/toxTree/qsar/LinearQSARModel.java +331 -0
  562. data/Toxtree-v2.6.13/src/toxTree/qsar/MatrixPreprocessor.java +73 -0
  563. data/Toxtree-v2.6.13/src/toxTree/qsar/QSARDescriptor.java +111 -0
  564. data/Toxtree-v2.6.13/src/toxTree/query/AliphaticCHQueryAtom.java +64 -0
  565. data/Toxtree-v2.6.13/src/toxTree/query/AssociationQueryBond.java +60 -0
  566. data/Toxtree-v2.6.13/src/toxTree/query/CHQueryAtom.java +85 -0
  567. data/Toxtree-v2.6.13/src/toxTree/query/FunctionalGroups.java +4045 -0
  568. data/Toxtree-v2.6.13/src/toxTree/query/MolAnalyser.java +300 -0
  569. data/Toxtree-v2.6.13/src/toxTree/query/MolFlags.java +188 -0
  570. data/Toxtree-v2.6.13/src/toxTree/query/MyAssociationBond.java +58 -0
  571. data/Toxtree-v2.6.13/src/toxTree/query/QueryAtomContainers.java +81 -0
  572. data/Toxtree-v2.6.13/src/toxTree/query/ReallyAnyAtom.java +34 -0
  573. data/Toxtree-v2.6.13/src/toxTree/query/SimpleReactions.java +789 -0
  574. data/Toxtree-v2.6.13/src/toxTree/query/SingleOrDoubleQueryBond.java +67 -0
  575. data/Toxtree-v2.6.13/src/toxTree/query/TopologyAnyAtom.java +56 -0
  576. data/Toxtree-v2.6.13/src/toxTree/query/TopologyAnyBond.java +88 -0
  577. data/Toxtree-v2.6.13/src/toxTree/query/TopologyOrderQueryBond.java +88 -0
  578. data/Toxtree-v2.6.13/src/toxTree/query/TopologySymbolQueryAtom.java +68 -0
  579. data/Toxtree-v2.6.13/src/toxTree/query/metabolite/MetabolyteRecycler.java +216 -0
  580. data/Toxtree-v2.6.13/src/toxTree/query/package.html +14 -0
  581. data/Toxtree-v2.6.13/src/toxTree/query/remote/RemoteCompoundLookup.java +36 -0
  582. data/Toxtree-v2.6.13/src/toxTree/tree/AbstractRule.java +404 -0
  583. data/Toxtree-v2.6.13/src/toxTree/tree/AbstractRuleHilightHits.java +74 -0
  584. data/Toxtree-v2.6.13/src/toxTree/tree/AbstractTree.java +837 -0
  585. data/Toxtree-v2.6.13/src/toxTree/tree/AbstractTreePrinter.java +48 -0
  586. data/Toxtree-v2.6.13/src/toxTree/tree/AbstractTreeWriter.java +63 -0
  587. data/Toxtree-v2.6.13/src/toxTree/tree/BatchDecisionResultsList.java +478 -0
  588. data/Toxtree-v2.6.13/src/toxTree/tree/CategoriesList.java +334 -0
  589. data/Toxtree-v2.6.13/src/toxTree/tree/DecisionMethodsList.java +373 -0
  590. data/Toxtree-v2.6.13/src/toxTree/tree/DecisionNode.java +407 -0
  591. data/Toxtree-v2.6.13/src/toxTree/tree/DecisionNodesFactory.java +64 -0
  592. data/Toxtree-v2.6.13/src/toxTree/tree/DecisionNodesList.java +356 -0
  593. data/Toxtree-v2.6.13/src/toxTree/tree/DecisionResultsList.java +89 -0
  594. data/Toxtree-v2.6.13/src/toxTree/tree/DefaultCategory.java +196 -0
  595. data/Toxtree-v2.6.13/src/toxTree/tree/IDecisionNodesFactory.java +37 -0
  596. data/Toxtree-v2.6.13/src/toxTree/tree/MultiLabelDecisionNode.java +78 -0
  597. data/Toxtree-v2.6.13/src/toxTree/tree/MultiLabelDecisionNodesList.java +52 -0
  598. data/Toxtree-v2.6.13/src/toxTree/tree/NonToxicCategory.java +57 -0
  599. data/Toxtree-v2.6.13/src/toxTree/tree/PDFTreePrinter.java +180 -0
  600. data/Toxtree-v2.6.13/src/toxTree/tree/ProgressStatus.java +123 -0
  601. data/Toxtree-v2.6.13/src/toxTree/tree/ReportTreePrinter.java +271 -0
  602. data/Toxtree-v2.6.13/src/toxTree/tree/RuleResult.java +240 -0
  603. data/Toxtree-v2.6.13/src/toxTree/tree/RulesList.java +263 -0
  604. data/Toxtree-v2.6.13/src/toxTree/tree/SimpleTreePrinter.java +123 -0
  605. data/Toxtree-v2.6.13/src/toxTree/tree/ToxicCategory.java +56 -0
  606. data/Toxtree-v2.6.13/src/toxTree/tree/Tree2PrefuseGraph.java +153 -0
  607. data/Toxtree-v2.6.13/src/toxTree/tree/TreeResult.java +633 -0
  608. data/Toxtree-v2.6.13/src/toxTree/tree/UserDefinedTree.java +647 -0
  609. data/Toxtree-v2.6.13/src/toxTree/tree/UserDefinedTree.properties +6 -0
  610. data/Toxtree-v2.6.13/src/toxTree/tree/categories/DefaultClass1.java +44 -0
  611. data/Toxtree-v2.6.13/src/toxTree/tree/categories/DefaultClass2.java +50 -0
  612. data/Toxtree-v2.6.13/src/toxTree/tree/categories/package.html +15 -0
  613. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/CramerClass1.java +52 -0
  614. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/CramerClass2.java +56 -0
  615. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/CramerClass3.java +53 -0
  616. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/CramerRules.java +266 -0
  617. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/CramerRules.properties +11 -0
  618. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/CramerTreeResult.java +80 -0
  619. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/Rule32.java +136 -0
  620. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/Rule3FuncGroups.java +95 -0
  621. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/Rule3MemberedHeterocycle.java +84 -0
  622. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleAcyclicAcetalEsterOfQ30.java +102 -0
  623. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleAliphaticWithSomeFuncGroups.java +181 -0
  624. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleCommonComponentOfFood.java +70 -0
  625. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleCyclopropaneEtc.java +104 -0
  626. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleHasOnlySaltSulphonateSulphate.java +263 -0
  627. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleHasOtherThanC_H_O_N_S2.java +172 -0
  628. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleHeteroaromatic.java +89 -0
  629. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleHeterocyclicComplexSubstituents.java +126 -0
  630. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleIsAromatic.java +67 -0
  631. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleIsCommonTerpene.java +60 -0
  632. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleIsHeterocyclic.java +62 -0
  633. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleIsOpenChain.java +55 -0
  634. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleKetoneAlcoholEtc.java +232 -0
  635. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleLactoneOrCyclicDiester.java +137 -0
  636. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleLactonesFusedOrUnsaturated.java +183 -0
  637. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleManyAromaticRings14.java +62 -0
  638. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleManyAromaticRings28.java +54 -0
  639. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleMonocarbocyclic.java +139 -0
  640. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleMonocycloalkanoneEtc.java +125 -0
  641. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleNormalBodyConstituent.java +76 -0
  642. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleOnlyFuncGroupsQ30.java +179 -0
  643. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleReadilyHydrolysed29.java +64 -0
  644. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleReadilyHydrolysedMononuclear.java +97 -0
  645. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleReadilyHydrolysedToCommonterpene.java +91 -0
  646. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleRingComplexSubstituents30.java +215 -0
  647. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleRingWithSubstituents.java +63 -0
  648. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleRingsWithSubstituents.java +66 -0
  649. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleSimplyBranchedAliphaticHydrocarbon.java +108 -0
  650. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleSomeBenzeneDerivatives.java +304 -0
  651. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleSufficientSulphonateGroups.java +184 -0
  652. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/RuleToxicFunctionalGroups.java +140 -0
  653. data/Toxtree-v2.6.13/src/toxTree/tree/cramer/package.html +17 -0
  654. data/Toxtree-v2.6.13/src/toxTree/tree/demo/SMARTSTree.java +76 -0
  655. data/Toxtree-v2.6.13/src/toxTree/tree/demo/SubstructureTree.java +106 -0
  656. data/Toxtree-v2.6.13/src/toxTree/tree/demo/package.html +14 -0
  657. data/Toxtree-v2.6.13/src/toxTree/tree/package.html +17 -0
  658. data/Toxtree-v2.6.13/src/toxTree/tree/rules/DefaultAlertCounter.java +59 -0
  659. data/Toxtree-v2.6.13/src/toxTree/tree/rules/IAlertCounter.java +35 -0
  660. data/Toxtree-v2.6.13/src/toxTree/tree/rules/ILookupFile.java +16 -0
  661. data/Toxtree-v2.6.13/src/toxTree/tree/rules/InChILookupFile.java +134 -0
  662. data/Toxtree-v2.6.13/src/toxTree/tree/rules/LookupFile.java +210 -0
  663. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleAllAllowedElements.java +45 -0
  664. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleAllSubstructures.java +63 -0
  665. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleAnySubstituents.java +83 -0
  666. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleAnySubstructure.java +74 -0
  667. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleAromatic.java +78 -0
  668. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleCarbohydrate.java +222 -0
  669. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleCommonTerpene.java +115 -0
  670. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleDescriptor.java +156 -0
  671. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleDescriptorRange.java +122 -0
  672. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleElements.java +278 -0
  673. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleHeterocyclic.java +84 -0
  674. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleInitAlertCounter.java +77 -0
  675. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleLipinski5.java +75 -0
  676. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleManyAromaticRings.java +122 -0
  677. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleMolecularMassRange.java +68 -0
  678. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleOnlyAllowedSubstructures.java +69 -0
  679. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleOpenChain.java +83 -0
  680. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleReadilyHydrolised.java +114 -0
  681. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleRingAllowedSubstituents.java +129 -0
  682. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleRingOtherThanAllowedSubstituents.java +170 -0
  683. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleRingSubstituents.java +156 -0
  684. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleRings.java +46 -0
  685. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleStructuresList.java +211 -0
  686. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleSubstructures.java +191 -0
  687. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleVerifyAlertsCounter.java +78 -0
  688. data/Toxtree-v2.6.13/src/toxTree/tree/rules/RuleVerifyProperty.java +320 -0
  689. data/Toxtree-v2.6.13/src/toxTree/tree/rules/StructureAlert.java +66 -0
  690. data/Toxtree-v2.6.13/src/toxTree/tree/rules/StructureAlertAmbit.java +64 -0
  691. data/Toxtree-v2.6.13/src/toxTree/tree/rules/StructureAlertCDK.java +39 -0
  692. data/Toxtree-v2.6.13/src/toxTree/tree/rules/UserInputRule.java +96 -0
  693. data/Toxtree-v2.6.13/src/toxTree/tree/rules/package.html +14 -0
  694. data/Toxtree-v2.6.13/src/toxTree/tree/rules/smarts/AbstractRuleSmartSubstructure.java +393 -0
  695. data/Toxtree-v2.6.13/src/toxTree/tree/rules/smarts/Convertor.java +358 -0
  696. data/Toxtree-v2.6.13/src/toxTree/tree/rules/smarts/IRuleSMARTSubstructures.java +51 -0
  697. data/Toxtree-v2.6.13/src/toxTree/tree/rules/smarts/RuleSMARTSSubstructureAmbit.java +61 -0
  698. data/Toxtree-v2.6.13/src/toxTree/tree/rules/smarts/RuleSMARTSubstructure.java +15 -0
  699. data/Toxtree-v2.6.13/src/toxTree/tree/rules/smarts/RuleSMARTSubstructureCDK.java +77 -0
  700. data/Toxtree-v2.6.13/src/toxTree/tree/rules/smarts/SmartsPattern.java +107 -0
  701. data/Toxtree-v2.6.13/src/toxTree/tree/rules/smarts/package.html +26 -0
  702. data/Toxtree-v2.6.13/src/toxTree/tree/stats/ConfusionMatrix.java +155 -0
  703. data/Toxtree-v2.6.13/src/toxTree/ui/EditorFactory.java +66 -0
  704. data/Toxtree-v2.6.13/src/toxTree/ui/IEditorFactory.java +26 -0
  705. data/Toxtree-v2.6.13/src/toxTree/ui/tree/categories/CategoriesRenderer.java +91 -0
  706. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/application_cascade.png +0 -0
  707. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/arrow_divide.png +0 -0
  708. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/bird.gif +0 -0
  709. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/bird1.gif +0 -0
  710. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/bird2.gif +0 -0
  711. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/bird3.gif +0 -0
  712. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/bird4.gif +0 -0
  713. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/chart_organisation.png +0 -0
  714. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/cog.png +0 -0
  715. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/control_fastforward_blue.png +0 -0
  716. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/control_play_blue.png +0 -0
  717. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/cross.png +0 -0
  718. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/disk_multiple.png +0 -0
  719. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/door_out.png +0 -0
  720. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/find.png +0 -0
  721. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/folder.png +0 -0
  722. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/help.png +0 -0
  723. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/information.png +0 -0
  724. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/molecule.png +0 -0
  725. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/open.gif +0 -0
  726. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/page_go.png +0 -0
  727. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/page_white.png +0 -0
  728. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/picture.png +0 -0
  729. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/picture_save.png +0 -0
  730. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/plugin.png +0 -0
  731. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/plugin_edit.png +0 -0
  732. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/report_magnify.png +0 -0
  733. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/save.png +0 -0
  734. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/tag_blue.png +0 -0
  735. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/tag_blue_add.png +0 -0
  736. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/tag_blue_delete.png +0 -0
  737. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/tag_blue_edit.png +0 -0
  738. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/tick.png +0 -0
  739. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/tree.png +0 -0
  740. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/tree_add.png +0 -0
  741. data/Toxtree-v2.6.13/src/toxTree/ui/tree/images/tree_delete.png +0 -0
  742. data/Toxtree-v2.6.13/src/toxTree/ui/tree/rules/package.html +15 -0
  743. data/Toxtree-v2.6.13/src/toxtree-2.6.13-sources.jar +0 -0
  744. data/Toxtree-v2.6.13/src/toxtree/data/ActionList.java +209 -0
  745. data/Toxtree-v2.6.13/src/toxtree/data/DataContainer.java +304 -0
  746. data/Toxtree-v2.6.13/src/toxtree/data/DataModule.java +240 -0
  747. data/Toxtree-v2.6.13/src/toxtree/data/DecisionMethodData.java +210 -0
  748. data/Toxtree-v2.6.13/src/toxtree/data/DecisionMethodsDataModule.java +212 -0
  749. data/Toxtree-v2.6.13/src/toxtree/data/FilteredMoleculesIterator.java +296 -0
  750. data/Toxtree-v2.6.13/src/toxtree/data/ToxTreeActions.java +211 -0
  751. data/Toxtree-v2.6.13/src/toxtree/data/ToxTreeModule.java +265 -0
  752. data/Toxtree-v2.6.13/src/toxtree/lookup/RemoteLookup.java +108 -0
  753. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/AmesMutagenicityRules.java +432 -0
  754. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/AmesMutagenicityRules.properties +7 -0
  755. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/categories/AmesMutagenicityCategory.java +60 -0
  756. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/categories/CategoryError.java +23 -0
  757. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/categories/CategoryMutagenTA100.java +48 -0
  758. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/categories/CategoryNoAlertAmes.java +47 -0
  759. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/categories/CategoryNonMutagen.java +47 -0
  760. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/categories/CategoryPositiveAlertAmes.java +51 -0
  761. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/categories/QSARApplicable.java +56 -0
  762. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/descriptors/AromaticAmineSubstituentsDescriptor.java +719 -0
  763. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/descriptors/DescriptorBridgedBiphenyl.java +69 -0
  764. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/descriptors/DescriptorHasNO2Group.java +66 -0
  765. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/descriptors/DescriptorIDist.java +153 -0
  766. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/descriptors/DescriptorIsAniline.java +120 -0
  767. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/descriptors/DescriptorMolarRefractivity.java +97 -0
  768. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/descriptors/DescriptorStructurePresence.java +148 -0
  769. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/descriptors/SubstituentExtractor.java +279 -0
  770. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/descriptors/SubstituentPosition.java +58 -0
  771. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/descriptors/SubstituentsDescriptor.java +139 -0
  772. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/descriptors/whim_weights.txt +39 -0
  773. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/AmesMutagenicityTreeResult.java +362 -0
  774. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/QSAR6Applicable.java +158 -0
  775. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/RuleABUnsaturatedAldehyde.java +67 -0
  776. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/RuleAlertsAmes.java +54 -0
  777. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/RuleAlertsForAmesMutagenicity.java +47 -0
  778. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/RuleAlertsForGenotoxicCarcinogenicity.java +47 -0
  779. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/RuleAlertsForNewAmesMutagenicity.java +47 -0
  780. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/RuleAromaticAmineNoSulfonicGroup.java +145 -0
  781. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/RuleAromaticDiazo.java +98 -0
  782. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/RuleDAMutagenicityABUnsaturatedAldehydes.java +188 -0
  783. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/RuleDAMutagenicityAromaticAmines.java +257 -0
  784. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/RuleDerivedAromaticAmines.java +166 -0
  785. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA10_gen.java +124 -0
  786. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA11_gen.java +80 -0
  787. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA12_gen.java +68 -0
  788. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA13_gen.java +66 -0
  789. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA14_gen.java +61 -0
  790. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA15_gen.java +54 -0
  791. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA16_gen.java +57 -0
  792. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA18_gen.java +190 -0
  793. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA19_gen.java +71 -0
  794. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA1_gen.java +57 -0
  795. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA21_gen.java +65 -0
  796. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA22_gen.java +69 -0
  797. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA23_gen.java +62 -0
  798. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA24_gen.java +60 -0
  799. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA25_gen.java +104 -0
  800. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA26_gen.java +79 -0
  801. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA27_gen.java +131 -0
  802. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA28_gen.java +169 -0
  803. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA28bis_gen.java +115 -0
  804. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA28ter_gen.java +112 -0
  805. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA29_gen.java +78 -0
  806. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA2_gen.java +156 -0
  807. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA30_gen.java +63 -0
  808. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA37_gen.java +59 -0
  809. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA38_gen.java +58 -0
  810. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA39_gen_and_nogen.java +59 -0
  811. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA3_gen.java +61 -0
  812. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA4_gen.java +63 -0
  813. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA57_Ames.java +63 -0
  814. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA58_Ames.java +59 -0
  815. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA59_Ames.java +64 -0
  816. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA5_gen.java +58 -0
  817. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA60_Ames.java +61 -0
  818. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA61_Ames.java +59 -0
  819. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA62_Ames.java +57 -0
  820. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA63_Ames.java +59 -0
  821. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA64_Ames.java +60 -0
  822. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA65_Ames.java +59 -0
  823. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA66_Ames.java +62 -0
  824. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA67_Ames.java +60 -0
  825. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA68_Ames.java +58 -0
  826. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA69_Ames.java +57 -0
  827. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA6_gen.java +61 -0
  828. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA7_gen.java +56 -0
  829. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA8_gen.java +120 -0
  830. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SA9_gen.java +54 -0
  831. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SMARTSGroup.java +55 -0
  832. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/SMARTSgroups.java +50 -0
  833. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/UserInputABUnsaturatedAldehyde.java +48 -0
  834. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/UserInputAromaticAmine.java +47 -0
  835. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/VerifyAlertsAmes.java +42 -0
  836. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/VerifyAlertsGenotoxic.java +42 -0
  837. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/VerifyAlertsNewAmes.java +42 -0
  838. data/Toxtree-v2.6.13/src/toxtree/plugins/ames/rules/VerifyAlertsNongenotoxic.java +42 -0
  839. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/DNABindingPlugin.java +205 -0
  840. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/DNABindingPlugin.properties +7 -0
  841. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/categories/AcylTransferAlerts.java +43 -0
  842. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/categories/DNABindingAlerts.java +554 -0
  843. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/categories/DNABindingCategory.java +46 -0
  844. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/categories/MichaelAcceptors.java +43 -0
  845. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/categories/NoAlerts.java +48 -0
  846. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/categories/SN1Alerts.java +44 -0
  847. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/categories/SN2Alerts.java +44 -0
  848. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/categories/ShiffBaseAlerts.java +43 -0
  849. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/rules/AcylTransferRule.java +22 -0
  850. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/rules/DNABindingRule.java +43 -0
  851. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/rules/DNABindingTreeResult.java +225 -0
  852. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/rules/MichaelAcceptorRule.java +23 -0
  853. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/rules/RuleDNABindingAlerts.java +25 -0
  854. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/rules/SN1Rule.java +20 -0
  855. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/rules/SN2Rule.java +21 -0
  856. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/rules/ShiffBaseRule.java +23 -0
  857. data/Toxtree-v2.6.13/src/toxtree/plugins/dnabinding/rules/VerifyAlertsDNABinding.java +29 -0
  858. data/Toxtree-v2.6.13/src/toxtree/plugins/func/FuncRules.java +649 -0
  859. data/Toxtree-v2.6.13/src/toxtree/plugins/func/FuncRules.properties +5 -0
  860. data/Toxtree-v2.6.13/src/toxtree/plugins/func/categories/FuncCat1.java +58 -0
  861. data/Toxtree-v2.6.13/src/toxtree/plugins/func/categories/FuncCat2.java +57 -0
  862. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG.java +56 -0
  863. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG1.java +54 -0
  864. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG10.java +59 -0
  865. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG11.java +59 -0
  866. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG12.java +58 -0
  867. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG13.java +59 -0
  868. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG14.java +60 -0
  869. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG15.java +51 -0
  870. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG16.java +55 -0
  871. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG17.java +59 -0
  872. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG18.java +59 -0
  873. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG19.java +60 -0
  874. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG2.java +53 -0
  875. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG20.java +51 -0
  876. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG21.java +59 -0
  877. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG22.java +58 -0
  878. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG23_1.java +59 -0
  879. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG23_2.java +58 -0
  880. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG23_3.java +59 -0
  881. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG23_4.java +58 -0
  882. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG23_5.java +58 -0
  883. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG23_6.java +58 -0
  884. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG23_7.java +59 -0
  885. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG23_8.java +59 -0
  886. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG23_LS.java +59 -0
  887. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG24_1.java +59 -0
  888. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG24_2.java +58 -0
  889. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG24_3.java +58 -0
  890. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG24_LS.java +59 -0
  891. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG25.java +59 -0
  892. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG26.java +59 -0
  893. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG27.java +59 -0
  894. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG28.java +59 -0
  895. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG29.java +59 -0
  896. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG30.java +59 -0
  897. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG31_1.java +59 -0
  898. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG31_2.java +58 -0
  899. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG31_3.java +59 -0
  900. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG31_4.java +58 -0
  901. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG31_5.java +58 -0
  902. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG31_6.java +58 -0
  903. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG31_7.java +59 -0
  904. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG31_8.java +59 -0
  905. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG31_9.java +59 -0
  906. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG31_LS.java +59 -0
  907. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG32.java +59 -0
  908. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG33_1.java +59 -0
  909. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG33_2.java +58 -0
  910. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG33_3.java +59 -0
  911. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG33_4.java +58 -0
  912. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG33_5.java +58 -0
  913. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG33_6.java +58 -0
  914. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG33_7.java +59 -0
  915. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG33_8.java +59 -0
  916. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG33_LS.java +59 -0
  917. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG34_1.java +59 -0
  918. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG34_2.java +58 -0
  919. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG34_LS.java +59 -0
  920. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG35_1.java +59 -0
  921. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG35_10.java +59 -0
  922. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG35_11.java +59 -0
  923. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG35_12.java +59 -0
  924. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG35_13.java +59 -0
  925. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG35_2.java +59 -0
  926. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG35_3.java +59 -0
  927. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG35_4.java +59 -0
  928. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG35_5.java +59 -0
  929. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG35_6.java +59 -0
  930. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG35_7.java +59 -0
  931. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG35_8.java +59 -0
  932. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG35_9.java +59 -0
  933. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG35_LS.java +59 -0
  934. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG36.java +59 -0
  935. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG37_1.java +59 -0
  936. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG37_2.java +59 -0
  937. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG37_3.java +59 -0
  938. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG37_4.java +59 -0
  939. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG37_LS.java +59 -0
  940. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG38.java +59 -0
  941. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG39.java +59 -0
  942. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG3_1.java +58 -0
  943. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG3_2.java +58 -0
  944. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG3_LS.java +58 -0
  945. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG4.java +60 -0
  946. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG40.java +59 -0
  947. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG41_1.java +59 -0
  948. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG41_2.java +59 -0
  949. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG41_3.java +59 -0
  950. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG41_4.java +59 -0
  951. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG41_5.java +59 -0
  952. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG41_LS.java +59 -0
  953. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG42.java +59 -0
  954. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG43.java +59 -0
  955. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG44.java +59 -0
  956. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG45.java +59 -0
  957. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG46_1.java +59 -0
  958. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG46_2.java +59 -0
  959. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG46_LS.java +59 -0
  960. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG47.java +59 -0
  961. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG48_1.java +59 -0
  962. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG48_2.java +59 -0
  963. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG48_LS.java +59 -0
  964. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG49.java +59 -0
  965. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG4_1.java +58 -0
  966. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG4_2.java +58 -0
  967. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG4_LS.java +59 -0
  968. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG5.java +58 -0
  969. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG50_1.java +59 -0
  970. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG50_2.java +59 -0
  971. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG50_3.java +59 -0
  972. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG50_LS.java +59 -0
  973. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG51_1.java +59 -0
  974. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG51_2.java +59 -0
  975. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG51_3.java +59 -0
  976. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG51_LS.java +59 -0
  977. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG52_1.java +59 -0
  978. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG52_2.java +59 -0
  979. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG52_3.java +59 -0
  980. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG52_LS.java +59 -0
  981. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG53_1.java +59 -0
  982. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG53_2.java +59 -0
  983. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG53_3.java +59 -0
  984. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG53_LS.java +59 -0
  985. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG54.java +59 -0
  986. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG55.java +59 -0
  987. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG56.java +59 -0
  988. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG57.java +59 -0
  989. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG58.java +59 -0
  990. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG59.java +59 -0
  991. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG6.java +59 -0
  992. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG60.java +59 -0
  993. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG61.java +59 -0
  994. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG62.java +59 -0
  995. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG63.java +59 -0
  996. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG64.java +59 -0
  997. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG65.java +59 -0
  998. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG66.java +59 -0
  999. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG67.java +59 -0
  1000. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG68.java +59 -0
  1001. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG69.java +59 -0
  1002. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG7.java +51 -0
  1003. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG70.java +59 -0
  1004. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG71.java +59 -0
  1005. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG72.java +59 -0
  1006. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG73.java +59 -0
  1007. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG74_1.java +59 -0
  1008. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG74_2.java +59 -0
  1009. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG74_3.java +59 -0
  1010. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG74_4.java +59 -0
  1011. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG74_5.java +59 -0
  1012. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG74_6.java +59 -0
  1013. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG74_7.java +59 -0
  1014. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG74_LS.java +59 -0
  1015. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG75_1.java +59 -0
  1016. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG75_2.java +59 -0
  1017. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG75_3.java +59 -0
  1018. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG75_4.java +59 -0
  1019. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG75_LS.java +59 -0
  1020. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG76.java +59 -0
  1021. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG77.java +59 -0
  1022. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG78_1.java +59 -0
  1023. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG78_2.java +59 -0
  1024. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG78_3.java +59 -0
  1025. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG78_4.java +59 -0
  1026. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG78_LS.java +59 -0
  1027. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG79_1.java +59 -0
  1028. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG79_2.java +59 -0
  1029. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG79_3.java +59 -0
  1030. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG79_4.java +59 -0
  1031. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG79_LS.java +59 -0
  1032. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG8.java +59 -0
  1033. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG80_1.java +59 -0
  1034. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG80_2.java +59 -0
  1035. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG80_LS.java +59 -0
  1036. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG81_1.java +59 -0
  1037. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG81_2.java +59 -0
  1038. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG81_3.java +59 -0
  1039. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG81_4.java +59 -0
  1040. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG81_LS.java +59 -0
  1041. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG82_1.java +59 -0
  1042. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG82_2.java +59 -0
  1043. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG82_3.java +59 -0
  1044. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG82_4.java +59 -0
  1045. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG82_LS.java +59 -0
  1046. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG83_1.java +59 -0
  1047. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG83_2.java +59 -0
  1048. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG83_3.java +59 -0
  1049. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG83_4.java +59 -0
  1050. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG83_LS.java +59 -0
  1051. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG84_1.java +59 -0
  1052. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG84_2.java +59 -0
  1053. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG84_LS.java +59 -0
  1054. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG85.java +59 -0
  1055. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG86.java +59 -0
  1056. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG87.java +59 -0
  1057. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG88.java +59 -0
  1058. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG89.java +59 -0
  1059. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG9.java +59 -0
  1060. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FG90.java +59 -0
  1061. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/FuncTreeResult.java +154 -0
  1062. data/Toxtree-v2.6.13/src/toxtree/plugins/func/rules/RuleAlertsForFunc.java +47 -0
  1063. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/Kroes1Tree.java +151 -0
  1064. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/Kroes1Tree.properties +5 -0
  1065. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/categories/NegligibleRisk.java +18 -0
  1066. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/categories/NotASafetyConcern.java +27 -0
  1067. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/categories/RequireCompoundSpecificToxicityData.java +25 -0
  1068. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/rules/KroesRule10.java +25 -0
  1069. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/rules/KroesRule11.java +24 -0
  1070. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/rules/KroesRule12.java +23 -0
  1071. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/rules/KroesRule2.java +23 -0
  1072. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/rules/KroesRule3.java +33 -0
  1073. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/rules/KroesRule4.java +24 -0
  1074. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/rules/KroesRule5.java +25 -0
  1075. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/rules/KroesRule6.java +22 -0
  1076. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/rules/KroesRule7.java +23 -0
  1077. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/rules/KroesRule8.java +65 -0
  1078. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/rules/KroesRule9.java +24 -0
  1079. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/rules/MyOrderQueryBond.java +28 -0
  1080. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/rules/RuleKroesFig1Q1.java +305 -0
  1081. data/Toxtree-v2.6.13/src/toxtree/plugins/kroes/rules/RuleVerifyIntake.java +27 -0
  1082. data/Toxtree-v2.6.13/src/toxtree/plugins/lewis/LewisTree.java +86 -0
  1083. data/Toxtree-v2.6.13/src/toxtree/plugins/lewis/LewisTree.properties +5 -0
  1084. data/Toxtree-v2.6.13/src/toxtree/plugins/lewis/categories/CYP1A2.java +46 -0
  1085. data/Toxtree-v2.6.13/src/toxtree/plugins/lewis/categories/CYP2A.java +48 -0
  1086. data/Toxtree-v2.6.13/src/toxtree/plugins/lewis/categories/CYP2B.java +48 -0
  1087. data/Toxtree-v2.6.13/src/toxtree/plugins/lewis/categories/CYP2C.java +48 -0
  1088. data/Toxtree-v2.6.13/src/toxtree/plugins/lewis/categories/CYP2D.java +46 -0
  1089. data/Toxtree-v2.6.13/src/toxtree/plugins/lewis/categories/CYP2E.java +47 -0
  1090. data/Toxtree-v2.6.13/src/toxtree/plugins/lewis/categories/CYP3A4.java +47 -0
  1091. data/Toxtree-v2.6.13/src/toxtree/plugins/lewis/rules/Rule_areadepthratio.java +26 -0
  1092. data/Toxtree-v2.6.13/src/toxtree/plugins/lewis/rules/Rule_highLogP.java +37 -0
  1093. data/Toxtree-v2.6.13/src/toxtree/plugins/lewis/rules/Rule_highVolume.java +32 -0
  1094. data/Toxtree-v2.6.13/src/toxtree/plugins/lewis/rules/Rule_high_AreaDepthRatio.java +33 -0
  1095. data/Toxtree-v2.6.13/src/toxtree/plugins/lewis/rules/Rule_high_pKa.java +34 -0
  1096. data/Toxtree-v2.6.13/src/toxtree/plugins/lewis/rules/Rule_lowVolume.java +32 -0
  1097. data/Toxtree-v2.6.13/src/toxtree/plugins/lewis/rules/Rule_volume.java +30 -0
  1098. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/MOARules.java +181 -0
  1099. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/MOARules.properties +7 -0
  1100. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/categories/CategoryAcetylcholinesteraseInhibitors.java +16 -0
  1101. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/categories/CategoryCentralNervousSystemSeizureAgents.java +17 -0
  1102. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/categories/CategoryElectrophileProelectrophileReactivity.java +17 -0
  1103. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/categories/CategoryNarcosis1.java +45 -0
  1104. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/categories/CategoryNarcosis2.java +17 -0
  1105. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/categories/CategoryNarcosis3.java +17 -0
  1106. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/categories/CategoryOxidativePhosphorylationUncouplers.java +17 -0
  1107. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/categories/CategoryUnknown.java +46 -0
  1108. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/RuleAlertsAche.java +47 -0
  1109. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/RuleAlertsCNS.java +47 -0
  1110. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/RuleAlertsNarcosis1_1_1.java +70 -0
  1111. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/RuleAlertsNarcosis1_1_1_1.java +45 -0
  1112. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/RuleAlertsNarcosis1_1_2_1.java +41 -0
  1113. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/RuleAlertsNarcosis1_1_2_3.java +12 -0
  1114. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/RuleAlertsNarcosis1_1_3_1.java +5 -0
  1115. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/RuleAlertsNarcosis1_1_4_1.java +5 -0
  1116. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/RuleAlertsNarcosis1_1_4_2.java +5 -0
  1117. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/RuleAlertsNarcosis2_2_1.java +47 -0
  1118. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/RuleAlertsNarcosis3.java +47 -0
  1119. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/RuleAlertsReactive.java +47 -0
  1120. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/RuleAlertsUncouplers.java +47 -0
  1121. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/VerifyAlertsAche.java +42 -0
  1122. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/VerifyAlertsCNS.java +42 -0
  1123. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/VerifyAlertsNarcosis1.java +42 -0
  1124. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/VerifyAlertsNarcosis2.java +42 -0
  1125. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/VerifyAlertsNarcosis3.java +42 -0
  1126. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/VerifyAlertsReactive.java +42 -0
  1127. data/Toxtree-v2.6.13/src/toxtree/plugins/moa/rules/VerifyAlertsUncouplers.java +42 -0
  1128. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/ProteinBindingPlugin.java +205 -0
  1129. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/ProteinBindingPlugin.properties +7 -0
  1130. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/categories/AcylTransferAlerts.java +19 -0
  1131. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/categories/MichaelAcceptors.java +20 -0
  1132. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/categories/NoAlerts.java +26 -0
  1133. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/categories/ProteinBindingAlerts.java +685 -0
  1134. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/categories/ProteinBindingCategory.java +50 -0
  1135. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/categories/SN2Alerts.java +19 -0
  1136. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/categories/SNArAlerts.java +19 -0
  1137. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/categories/ShiffBaseAlerts.java +20 -0
  1138. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/rules/AcylTransferRule.java +21 -0
  1139. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/rules/MichaelAcceptorRule.java +22 -0
  1140. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/rules/ProteinBindingRule.java +43 -0
  1141. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/rules/ProteinBindingTreeResult.java +225 -0
  1142. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/rules/RuleProteinBindingAlerts.java +25 -0
  1143. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/rules/SN2Rule.java +21 -0
  1144. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/rules/SNARRule.java +20 -0
  1145. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/rules/ShiffBaseRule.java +22 -0
  1146. data/Toxtree-v2.6.13/src/toxtree/plugins/proteinbinding/rules/VerifyAlertsProteinBinding.java +29 -0
  1147. data/Toxtree-v2.6.13/src/toxtree/plugins/search/CompoundLookup.java +38 -0
  1148. data/Toxtree-v2.6.13/src/toxtree/plugins/search/CompoundLookup.properties +4 -0
  1149. data/Toxtree-v2.6.13/src/toxtree/plugins/search/categories/Found.java +49 -0
  1150. data/Toxtree-v2.6.13/src/toxtree/plugins/search/categories/NotFound.java +51 -0
  1151. data/Toxtree-v2.6.13/src/toxtree/plugins/search/rules/Find.java +160 -0
  1152. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/SkinSensitisationPlugin.java +192 -0
  1153. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/SkinSensitisationPlugin.properties +7 -0
  1154. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/categories/AcylTransferAlerts.java +18 -0
  1155. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/categories/MichaelAcceptors.java +18 -0
  1156. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/categories/NoAlerts.java +26 -0
  1157. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/categories/SN2Alerts.java +19 -0
  1158. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/categories/SNArAlerts.java +19 -0
  1159. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/categories/ShiffBaseAlerts.java +18 -0
  1160. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/categories/SkinSensitisationAlerts.java +267 -0
  1161. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/categories/SkinSensitisationCategory.java +50 -0
  1162. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/rules/AcylTransferRule.java +20 -0
  1163. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/rules/MichaelAcceptorRule.java +21 -0
  1164. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/rules/RuleSkinSensitisationAlerts.java +25 -0
  1165. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/rules/SN2Rule.java +20 -0
  1166. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/rules/SNARRule.java +19 -0
  1167. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/rules/ShiffBaseRule.java +21 -0
  1168. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/rules/SkinSensitisationRule.java +42 -0
  1169. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/rules/SkinSensitisationTreeResult.java +226 -0
  1170. data/Toxtree-v2.6.13/src/toxtree/plugins/skinsensitisation/rules/VerifyAlertsSkinSensitisation.java +29 -0
  1171. data/Toxtree-v2.6.13/src/toxtree/plugins/smartcyp/SMARTCYPPlugin.java +275 -0
  1172. data/Toxtree-v2.6.13/src/toxtree/plugins/smartcyp/SMARTCYPPlugin.properties +10 -0
  1173. data/Toxtree-v2.6.13/src/toxtree/plugins/smartcyp/SMARTCypTreeResult.java +397 -0
  1174. data/Toxtree-v2.6.13/src/toxtree/plugins/smartcyp/categories/NoSites.java +21 -0
  1175. data/Toxtree-v2.6.13/src/toxtree/plugins/smartcyp/categories/SitesHigherRank.java +45 -0
  1176. data/Toxtree-v2.6.13/src/toxtree/plugins/smartcyp/categories/SitesRank1.java +45 -0
  1177. data/Toxtree-v2.6.13/src/toxtree/plugins/smartcyp/categories/SitesRank2.java +24 -0
  1178. data/Toxtree-v2.6.13/src/toxtree/plugins/smartcyp/categories/SitesRank3.java +46 -0
  1179. data/Toxtree-v2.6.13/src/toxtree/plugins/smartcyp/rules/MetaboliteGenerator.java +183 -0
  1180. data/Toxtree-v2.6.13/src/toxtree/plugins/smartcyp/rules/SMARTCYPRuleHigherRank.java +20 -0
  1181. data/Toxtree-v2.6.13/src/toxtree/plugins/smartcyp/rules/SMARTCYPRuleHigherRank.properties +2 -0
  1182. data/Toxtree-v2.6.13/src/toxtree/plugins/smartcyp/rules/SMARTCYPRuleRank1.java +244 -0
  1183. data/Toxtree-v2.6.13/src/toxtree/plugins/smartcyp/rules/SMARTCYPRuleRank1.properties +2 -0
  1184. data/Toxtree-v2.6.13/src/toxtree/plugins/smartcyp/rules/SMARTCYPRuleRank2.java +12 -0
  1185. data/Toxtree-v2.6.13/src/toxtree/plugins/smartcyp/rules/SMARTCYPRuleRank2.properties +2 -0
  1186. data/Toxtree-v2.6.13/src/toxtree/plugins/smartcyp/rules/SMARTCYPRuleRank3.java +12 -0
  1187. data/Toxtree-v2.6.13/src/toxtree/plugins/smartcyp/rules/SMARTCYPRuleRank3.properties +2 -0
  1188. data/Toxtree-v2.6.13/src/toxtree/plugins/verhaar2/VerhaarScheme2.java +80 -0
  1189. data/Toxtree-v2.6.13/src/toxtree/plugins/verhaar2/VerhaarScheme2.properties +8 -0
  1190. data/Toxtree-v2.6.13/src/toxtree/plugins/verhaar2/categories/package.html +16 -0
  1191. data/Toxtree-v2.6.13/src/toxtree/plugins/verhaar2/package.html +26 -0
  1192. data/Toxtree-v2.6.13/src/toxtree/plugins/verhaar2/rules/Verhaar2TreeResult.java +57 -0
  1193. data/Toxtree-v2.6.13/src/toxtree/plugins/verhaar2/rules/package.html +15 -0
  1194. data/Toxtree-v2.6.13/src/toxtree/tree/rules/ApplyRuleOptions.java +122 -0
  1195. data/Toxtree-v2.6.13/src/toxtree/ui/DataModulePanel.java +82 -0
  1196. data/Toxtree-v2.6.13/src/toxtree/ui/HashtableModel.java +164 -0
  1197. data/Toxtree-v2.6.13/src/toxtree/ui/HazardPanel.java +367 -0
  1198. data/Toxtree-v2.6.13/src/toxtree/ui/OptionsPanel.java +101 -0
  1199. data/Toxtree-v2.6.13/src/toxtree/ui/PropertyEditor.java +81 -0
  1200. data/Toxtree-v2.6.13/src/toxtree/ui/PropertyInput.java +42 -0
  1201. data/Toxtree-v2.6.13/src/toxtree/ui/SpringUtilities.java +217 -0
  1202. data/Toxtree-v2.6.13/src/toxtree/ui/StatusBar.java +172 -0
  1203. data/Toxtree-v2.6.13/src/toxtree/ui/actions/AboutAction.java +168 -0
  1204. data/Toxtree-v2.6.13/src/toxtree/ui/actions/BatchAction.java +134 -0
  1205. data/Toxtree-v2.6.13/src/toxtree/ui/actions/ClearResultAction.java +87 -0
  1206. data/Toxtree-v2.6.13/src/toxtree/ui/actions/DataContainerAction.java +54 -0
  1207. data/Toxtree-v2.6.13/src/toxtree/ui/actions/DataModuleAction.java +133 -0
  1208. data/Toxtree-v2.6.13/src/toxtree/ui/actions/EditCompoundAction.java +88 -0
  1209. data/Toxtree-v2.6.13/src/toxtree/ui/actions/EstimateAction.java +82 -0
  1210. data/Toxtree-v2.6.13/src/toxtree/ui/actions/EstimateAllAction.java +88 -0
  1211. data/Toxtree-v2.6.13/src/toxtree/ui/actions/ExplainAction.java +74 -0
  1212. data/Toxtree-v2.6.13/src/toxtree/ui/actions/HelpAction.java +122 -0
  1213. data/Toxtree-v2.6.13/src/toxtree/ui/actions/InfoAction.java +153 -0
  1214. data/Toxtree-v2.6.13/src/toxtree/ui/actions/NewMoleculeAction.java +94 -0
  1215. data/Toxtree-v2.6.13/src/toxtree/ui/actions/OpenFileAction.java +94 -0
  1216. data/Toxtree-v2.6.13/src/toxtree/ui/actions/QuitAction.java +94 -0
  1217. data/Toxtree-v2.6.13/src/toxtree/ui/actions/SaveFileAction.java +111 -0
  1218. data/Toxtree-v2.6.13/src/toxtree/ui/actions/package.html +16 -0
  1219. data/Toxtree-v2.6.13/src/toxtree/ui/batch/AbstractJobProcessingDialog.java +308 -0
  1220. data/Toxtree-v2.6.13/src/toxtree/ui/batch/BatchProcessingDialog.java +725 -0
  1221. data/Toxtree-v2.6.13/src/toxtree/ui/batch/package.html +15 -0
  1222. data/Toxtree-v2.6.13/src/toxtree/ui/editors/SwingEditorFactory.java +145 -0
  1223. data/Toxtree-v2.6.13/src/toxtree/ui/metabolites/MetabolitesFrame.java +64 -0
  1224. data/Toxtree-v2.6.13/src/toxtree/ui/metabolites/MetabolitesPanel.java +102 -0
  1225. data/Toxtree-v2.6.13/src/toxtree/ui/molecule/AbstractMoleculeAction.java +69 -0
  1226. data/Toxtree-v2.6.13/src/toxtree/ui/molecule/AtomContainerPropertyTableModel.java +129 -0
  1227. data/Toxtree-v2.6.13/src/toxtree/ui/molecule/ClearFilteredSubsetsAction.java +67 -0
  1228. data/Toxtree-v2.6.13/src/toxtree/ui/molecule/GoToRecordAction.java +49 -0
  1229. data/Toxtree-v2.6.13/src/toxtree/ui/molecule/LookupCompoundAction.java +100 -0
  1230. data/Toxtree-v2.6.13/src/toxtree/ui/molecule/MoleculeEditAction.java +305 -0
  1231. data/Toxtree-v2.6.13/src/toxtree/ui/molecule/NavigationPanel.java +192 -0
  1232. data/Toxtree-v2.6.13/src/toxtree/ui/molecule/PropertyPanel.java +115 -0
  1233. data/Toxtree-v2.6.13/src/toxtree/ui/molecule/ShowFilteredFileAction.java +67 -0
  1234. data/Toxtree-v2.6.13/src/toxtree/ui/molecule/SmilesEntryPanel.java +387 -0
  1235. data/Toxtree-v2.6.13/src/toxtree/ui/molecule/SmilesEntryPanel.properties +16 -0
  1236. data/Toxtree-v2.6.13/src/toxtree/ui/molecule/StructureEntryPanel.java +84 -0
  1237. data/Toxtree-v2.6.13/src/toxtree/ui/molecule/TopPanel.java +123 -0
  1238. data/Toxtree-v2.6.13/src/toxtree/ui/molecule/package.html +17 -0
  1239. data/Toxtree-v2.6.13/src/toxtree/ui/package.html +15 -0
  1240. data/Toxtree-v2.6.13/src/toxtree/ui/tree/DecisionMethodsTableModel.java +86 -0
  1241. data/Toxtree-v2.6.13/src/toxtree/ui/tree/DecisionNodePanel.java +355 -0
  1242. data/Toxtree-v2.6.13/src/toxtree/ui/tree/DecisionTreeModel.java +262 -0
  1243. data/Toxtree-v2.6.13/src/toxtree/ui/tree/EditTreeActions.java +238 -0
  1244. data/Toxtree-v2.6.13/src/toxtree/ui/tree/ITreeView.java +44 -0
  1245. data/Toxtree-v2.6.13/src/toxtree/ui/tree/JCustomTreeComponent.java +145 -0
  1246. data/Toxtree-v2.6.13/src/toxtree/ui/tree/ListPanel.java +244 -0
  1247. data/Toxtree-v2.6.13/src/toxtree/ui/tree/ListTableModel.java +113 -0
  1248. data/Toxtree-v2.6.13/src/toxtree/ui/tree/QueryAtomContainersModel.java +77 -0
  1249. data/Toxtree-v2.6.13/src/toxtree/ui/tree/SelectListDialog.java +350 -0
  1250. data/Toxtree-v2.6.13/src/toxtree/ui/tree/ToxTreeEditorPanel.java +154 -0
  1251. data/Toxtree-v2.6.13/src/toxtree/ui/tree/ToxTreePackageEntryModel.java +70 -0
  1252. data/Toxtree-v2.6.13/src/toxtree/ui/tree/TreeDrawing.java +196 -0
  1253. data/Toxtree-v2.6.13/src/toxtree/ui/tree/TreeEditorPanel.java +345 -0
  1254. data/Toxtree-v2.6.13/src/toxtree/ui/tree/TreeFrame.java +134 -0
  1255. data/Toxtree-v2.6.13/src/toxtree/ui/tree/TreeLayout.java +502 -0
  1256. data/Toxtree-v2.6.13/src/toxtree/ui/tree/TreeOptions.java +253 -0
  1257. data/Toxtree-v2.6.13/src/toxtree/ui/tree/TreePanel.java +194 -0
  1258. data/Toxtree-v2.6.13/src/toxtree/ui/tree/TreePrefuse.java +393 -0
  1259. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/AbstractRuleAction.java +87 -0
  1260. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/AbstractTreeAction.java +98 -0
  1261. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/AddCategoryAction.java +96 -0
  1262. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/ClearMethodsList.java +63 -0
  1263. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/EditCategoryAction.java +80 -0
  1264. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/EditDecisionMethodAction.java +97 -0
  1265. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/EditRuleAction.java +90 -0
  1266. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/EditTreeExplanation.java +149 -0
  1267. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/ICategoryAction.java +31 -0
  1268. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/INodeAction.java +36 -0
  1269. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/IRuleAction.java +31 -0
  1270. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/ITreeAction.java +32 -0
  1271. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/LiadMethodsListAction.java +101 -0
  1272. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/LoadAndEditTreeAction.java +121 -0
  1273. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/LoadTreeAction.java +154 -0
  1274. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/NewRuleAction.java +184 -0
  1275. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/NewTreeAction.java +89 -0
  1276. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/SaveMethodsListAction.java +118 -0
  1277. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/SaveTreeAction.java +168 -0
  1278. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/SelectAndEditTreeAction.java +116 -0
  1279. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/SelectCategoryFromListAction.java +88 -0
  1280. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/SelectNewTreeAction.java +80 -0
  1281. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/SelectTreeAction.java +88 -0
  1282. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/SetBranchAction.java +175 -0
  1283. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/SubstructureFromListAction.java +99 -0
  1284. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/SubstructuresFromFileAction.java +113 -0
  1285. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/TreeOptionsAction.java +74 -0
  1286. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/VerifyUnreachableRulesAction.java +101 -0
  1287. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/VerifyUnusedCategories.java +78 -0
  1288. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/ViewTreeAction.java +86 -0
  1289. data/Toxtree-v2.6.13/src/toxtree/ui/tree/actions/package.html +16 -0
  1290. data/Toxtree-v2.6.13/src/toxtree/ui/tree/categories/CategoriesPanel.java +154 -0
  1291. data/Toxtree-v2.6.13/src/toxtree/ui/tree/categories/CategoriesTableModel.java +132 -0
  1292. data/Toxtree-v2.6.13/src/toxtree/ui/tree/categories/CategoryPanel.java +130 -0
  1293. data/Toxtree-v2.6.13/src/toxtree/ui/tree/categories/package.html +15 -0
  1294. data/Toxtree-v2.6.13/src/toxtree/ui/tree/molecule/CompoundPanel.java +215 -0
  1295. data/Toxtree-v2.6.13/src/toxtree/ui/tree/package.html +15 -0
  1296. data/Toxtree-v2.6.13/src/toxtree/ui/tree/qsar/DescriptorOptions.java +106 -0
  1297. data/Toxtree-v2.6.13/src/toxtree/ui/tree/qsar/OptionsPanel.java +181 -0
  1298. data/Toxtree-v2.6.13/src/toxtree/ui/tree/qsar/QSARModelEditor.java +140 -0
  1299. data/Toxtree-v2.6.13/src/toxtree/ui/tree/qsar/RuleQSARModelEditor.java +49 -0
  1300. data/Toxtree-v2.6.13/src/toxtree/ui/tree/rules/DecisionNodesListTableModel.java +80 -0
  1301. data/Toxtree-v2.6.13/src/toxtree/ui/tree/rules/RuleDeleteSubstructureAction.java +67 -0
  1302. data/Toxtree-v2.6.13/src/toxtree/ui/tree/rules/RuleEditor.java +114 -0
  1303. data/Toxtree-v2.6.13/src/toxtree/ui/tree/rules/RuleExampleEditAction.java +124 -0
  1304. data/Toxtree-v2.6.13/src/toxtree/ui/tree/rules/RuleMoleculeEditAction.java +84 -0
  1305. data/Toxtree-v2.6.13/src/toxtree/ui/tree/rules/RulePanel.java +284 -0
  1306. data/Toxtree-v2.6.13/src/toxtree/ui/tree/rules/RulePropertyEditor.java +127 -0
  1307. data/Toxtree-v2.6.13/src/toxtree/ui/tree/rules/RuleRangeEditor.java +138 -0
  1308. data/Toxtree-v2.6.13/src/toxtree/ui/tree/rules/RuleStructuresPanel.java +122 -0
  1309. data/Toxtree-v2.6.13/src/toxtree/ui/tree/rules/RuleSubstructuresEditAction.java +131 -0
  1310. data/Toxtree-v2.6.13/src/toxtree/ui/tree/rules/SMARTSRuleEditor.java +272 -0
  1311. data/Toxtree-v2.6.13/src/toxtree/ui/tree/rules/SmartsPanelEditor.java +367 -0
  1312. data/Toxtree-v2.6.13/src/toxtree/ui/tree/rules/SubstructureRulePanel.java +206 -0
  1313. data/Toxtree-v2.6.13/src/toxtree/ui/wizard/DecisionNodeWizard.java +531 -0
  1314. data/Toxtree-v2.6.13/src/toxtree/ui/wizard/DecisionTreeWizard.java +49 -0
  1315. data/Toxtree-v2.6.13/src/toxtree/ui/wizard/EditorPanel.java +65 -0
  1316. data/Toxtree-v2.6.13/src/toxtree/ui/wizard/ListPanelDescriptor.java +39 -0
  1317. data/Toxtree-v2.6.13/src/toxtree/ui/wizard/RadioBoxPanel.java +131 -0
  1318. data/Toxtree-v2.6.13/src/toxtree/ui/wizard/ToxTreeWizardPanelDescriptor.java +113 -0
  1319. data/Toxtree-v2.6.13/src/toxtree/ui/wizard/WizardWrapper.java +63 -0
  1320. data/Toxtree-v2.6.13/src/toxtree/ui/wizard/package.html +19 -0
  1321. data/Toxtree-v2.6.13/src/verhaar/VerhaarScheme.java +260 -0
  1322. data/Toxtree-v2.6.13/src/verhaar/VerhaarScheme.properties +7 -0
  1323. data/Toxtree-v2.6.13/src/verhaar/categories/Class1BaselineToxicity.java +42 -0
  1324. data/Toxtree-v2.6.13/src/verhaar/categories/Class2LessInertCompounds.java +42 -0
  1325. data/Toxtree-v2.6.13/src/verhaar/categories/Class3UnspecificReactivity.java +55 -0
  1326. data/Toxtree-v2.6.13/src/verhaar/categories/Class4SpecificMechanism.java +67 -0
  1327. data/Toxtree-v2.6.13/src/verhaar/categories/Class5Unknown.java +66 -0
  1328. data/Toxtree-v2.6.13/src/verhaar/categories/package.html +16 -0
  1329. data/Toxtree-v2.6.13/src/verhaar/package.html +20 -0
  1330. data/Toxtree-v2.6.13/src/verhaar/query/AromaticQueryBond.java +63 -0
  1331. data/Toxtree-v2.6.13/src/verhaar/query/FunctionalGroups.java +429 -0
  1332. data/Toxtree-v2.6.13/src/verhaar/query/OrderQueryBondAromatic.java +53 -0
  1333. data/Toxtree-v2.6.13/src/verhaar/query/QueryAssociationBond.java +88 -0
  1334. data/Toxtree-v2.6.13/src/verhaar/query/QueryUnsaturatedBond.java +100 -0
  1335. data/Toxtree-v2.6.13/src/verhaar/rules/Rule01.java +58 -0
  1336. data/Toxtree-v2.6.13/src/verhaar/rules/Rule03.java +80 -0
  1337. data/Toxtree-v2.6.13/src/verhaar/rules/Rule11.java +66 -0
  1338. data/Toxtree-v2.6.13/src/verhaar/rules/Rule13.java +52 -0
  1339. data/Toxtree-v2.6.13/src/verhaar/rules/Rule14.java +56 -0
  1340. data/Toxtree-v2.6.13/src/verhaar/rules/Rule141.java +85 -0
  1341. data/Toxtree-v2.6.13/src/verhaar/rules/Rule142.java +96 -0
  1342. data/Toxtree-v2.6.13/src/verhaar/rules/Rule143.java +123 -0
  1343. data/Toxtree-v2.6.13/src/verhaar/rules/Rule144.java +80 -0
  1344. data/Toxtree-v2.6.13/src/verhaar/rules/Rule15.java +53 -0
  1345. data/Toxtree-v2.6.13/src/verhaar/rules/Rule151.java +66 -0
  1346. data/Toxtree-v2.6.13/src/verhaar/rules/Rule152.java +109 -0
  1347. data/Toxtree-v2.6.13/src/verhaar/rules/Rule153.java +74 -0
  1348. data/Toxtree-v2.6.13/src/verhaar/rules/Rule154.java +66 -0
  1349. data/Toxtree-v2.6.13/src/verhaar/rules/Rule16.java +53 -0
  1350. data/Toxtree-v2.6.13/src/verhaar/rules/Rule161.java +75 -0
  1351. data/Toxtree-v2.6.13/src/verhaar/rules/Rule17.java +57 -0
  1352. data/Toxtree-v2.6.13/src/verhaar/rules/Rule171.java +77 -0
  1353. data/Toxtree-v2.6.13/src/verhaar/rules/Rule21.java +211 -0
  1354. data/Toxtree-v2.6.13/src/verhaar/rules/Rule22.java +56 -0
  1355. data/Toxtree-v2.6.13/src/verhaar/rules/Rule23.java +78 -0
  1356. data/Toxtree-v2.6.13/src/verhaar/rules/Rule24.java +95 -0
  1357. data/Toxtree-v2.6.13/src/verhaar/rules/Rule25.java +63 -0
  1358. data/Toxtree-v2.6.13/src/verhaar/rules/Rule31.java +82 -0
  1359. data/Toxtree-v2.6.13/src/verhaar/rules/Rule32.java +77 -0
  1360. data/Toxtree-v2.6.13/src/verhaar/rules/Rule33.java +71 -0
  1361. data/Toxtree-v2.6.13/src/verhaar/rules/Rule34.java +69 -0
  1362. data/Toxtree-v2.6.13/src/verhaar/rules/Rule35.java +69 -0
  1363. data/Toxtree-v2.6.13/src/verhaar/rules/Rule36.java +73 -0
  1364. data/Toxtree-v2.6.13/src/verhaar/rules/Rule37.java +72 -0
  1365. data/Toxtree-v2.6.13/src/verhaar/rules/Rule38.java +121 -0
  1366. data/Toxtree-v2.6.13/src/verhaar/rules/Rule4.java +97 -0
  1367. data/Toxtree-v2.6.13/src/verhaar/rules/RuleAlertsClass1.java +47 -0
  1368. data/Toxtree-v2.6.13/src/verhaar/rules/RuleAlertsClass2.java +47 -0
  1369. data/Toxtree-v2.6.13/src/verhaar/rules/RuleAlertsClass3.java +47 -0
  1370. data/Toxtree-v2.6.13/src/verhaar/rules/RuleIonicGroups.java +84 -0
  1371. data/Toxtree-v2.6.13/src/verhaar/rules/RuleLogPRange.java +96 -0
  1372. data/Toxtree-v2.6.13/src/verhaar/rules/RuleRingMainStrucSubstituents.java +38 -0
  1373. data/Toxtree-v2.6.13/src/verhaar/rules/RuleVerifyClass1Alerts.java +16 -0
  1374. data/Toxtree-v2.6.13/src/verhaar/rules/RuleVerifyClass2Alerts.java +16 -0
  1375. data/Toxtree-v2.6.13/src/verhaar/rules/RuleVerifyClass3Alerts.java +17 -0
  1376. data/Toxtree-v2.6.13/src/verhaar/rules/VerhaarTreeResult.java +57 -0
  1377. data/Toxtree-v2.6.13/src/verhaar/rules/helper/RuleAnySubstructureCounter.java +45 -0
  1378. data/Toxtree-v2.6.13/src/verhaar/rules/helper/RuleElementsCounter.java +44 -0
  1379. data/Toxtree-v2.6.13/src/verhaar/rules/helper/RuleOnlyAllowedSubstructuresCounter.java +44 -0
  1380. data/Toxtree-v2.6.13/src/verhaar/rules/package.html +15 -0
  1381. data/ext/toxtree/extconf.rb +21 -0
  1382. data/lib/toxtree.rb +91 -0
  1383. data/test/toxtree.rb +26 -0
  1384. metadata +1427 -0
@@ -0,0 +1,7 @@
1
+ explanation=In vitro mutagenicity (Ames test) alerts by ISS
2
+ reference1=Benigni, R. & Bossa, C. (2011). Mechanisms of chemical carcinogenicity and mutagenicity: a review with implications for predictive toxicology. Chem. Revs. 111, 2507-2536.
3
+ reference2=Benigni, R., Bossa C., Tcheremenskaia O. (2013) In vitro cell transformation assays for an integrated, alternative assessment of carcinogenicity: a data-based analysis. Mutagenesis 2013;28(1):107-16.
4
+ uri=http://toxtree.sourceforge.net/ames.html
5
+ vendor=Ideaconsult Ltd. & ISS
6
+ vendoruri=http://ideaconsult.net
7
+ trainingdata=https://toxtree.svn.sourceforge.net/svnroot/toxtree/trunk/toxtree/toxtree-plugins/toxtree-ames/src/test/resources/data/iss2_rid.sdf
@@ -0,0 +1,60 @@
1
+ /*
2
+ Copyright Ideaconsult Ltd. (C) 2005-2012
3
+
4
+ Contact: jeliazkova.nina@gmail.com
5
+
6
+ This program is free software; you can redistribute it and/or
7
+ modify it under the terms of the GNU Lesser General Public License
8
+ as published by the Free Software Foundation; either version 2.1
9
+ of the License, or (at your option) any later version.
10
+ All we ask is that proper credit is given for our work, which includes
11
+ - but is not limited to - adding the above copyright notice to the beginning
12
+ of your source code files, and to any copyright notice that you may distribute
13
+ with programs based on this work.
14
+
15
+ This program is distributed in the hope that it will be useful,
16
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ GNU Lesser General Public License for more details.
19
+
20
+ You should have received a copy of the GNU Lesser General Public License
21
+ along with this program; if not, write to the Free Software
22
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
23
+ */
24
+
25
+ package toxtree.plugins.ames.categories;
26
+
27
+ import toxTree.core.IDecisionCategory;
28
+ import toxTree.tree.DefaultCategory;
29
+
30
+ public class AmesMutagenicityCategory extends DefaultCategory {
31
+ /**
32
+ *
33
+ */
34
+ private static final long serialVersionUID = 0L;
35
+ protected int priority;
36
+
37
+ public AmesMutagenicityCategory(String name, int id,int priority) {
38
+ super(name,id);
39
+ setPriority(priority);
40
+ }
41
+
42
+ public AmesMutagenicityCategory(String name, int id) {
43
+ super(name,id);
44
+ setPriority(id);
45
+ }
46
+ @Override
47
+ public int compareTo(IDecisionCategory o) {
48
+ if (o instanceof AmesMutagenicityCategory) {
49
+ return getPriority()-((AmesMutagenicityCategory) o).getPriority();
50
+ } else return super.compareTo(o);
51
+ }
52
+ public int getPriority() {
53
+ return priority;
54
+ }
55
+ public void setPriority(int priority) {
56
+ this.priority = priority;
57
+ }
58
+ }
59
+
60
+
@@ -0,0 +1,23 @@
1
+ package toxtree.plugins.ames.categories;
2
+
3
+ public class CategoryError extends AmesMutagenicityCategory {
4
+ /**
5
+ *
6
+ */
7
+ private static final long serialVersionUID = 6672360935236553890L;
8
+
9
+ public CategoryError() {
10
+ this("Error when applying the decision tree");
11
+ }
12
+
13
+ public CategoryError(String explanation) {
14
+
15
+ super(explanation, 10, 10);
16
+ setExplanation(explanation);
17
+ }
18
+
19
+ @Override
20
+ public CategoryType getCategoryType() {
21
+ return CategoryType.InconclusiveCategory;
22
+ }
23
+ }
@@ -0,0 +1,48 @@
1
+ /*
2
+ Copyright Ideaconsult Ltd. (C) 2005-2012
3
+
4
+ Contact: jeliazkova.nina@gmail.com
5
+
6
+ This program is free software; you can redistribute it and/or
7
+ modify it under the terms of the GNU Lesser General Public License
8
+ as published by the Free Software Foundation; either version 2.1
9
+ of the License, or (at your option) any later version.
10
+ All we ask is that proper credit is given for our work, which includes
11
+ - but is not limited to - adding the above copyright notice to the beginning
12
+ of your source code files, and to any copyright notice that you may distribute
13
+ with programs based on this work.
14
+
15
+ This program is distributed in the hope that it will be useful,
16
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ GNU Lesser General Public License for more details.
19
+
20
+ You should have received a copy of the GNU Lesser General Public License
21
+ along with this program; if not, write to the Free Software
22
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
23
+ */
24
+
25
+ package toxtree.plugins.ames.categories;
26
+
27
+
28
+
29
+ public class CategoryMutagenTA100 extends AmesMutagenicityCategory {
30
+
31
+ /**
32
+ *
33
+ */
34
+ private static final long serialVersionUID = -6248692451136892104L;
35
+
36
+ public CategoryMutagenTA100() {
37
+ super("Potential S. typhimurium TA100 mutagen based on QSAR",3,5);
38
+ setExplanation("Assigned according to the output of <a href=\"#QSAR6\">QSAR6</a> or <a href=\"#QSAR13\">QSAR13</a>");
39
+ }
40
+
41
+ @Override
42
+ public CategoryType getCategoryType() {
43
+ return CategoryType.ToxicCategory;
44
+ }
45
+
46
+ }
47
+
48
+
@@ -0,0 +1,47 @@
1
+ /*
2
+ Copyright Ideaconsult Ltd. (C) 2005-2012
3
+
4
+ Contact: jeliazkova.nina@gmail.com
5
+
6
+ This program is free software; you can redistribute it and/or
7
+ modify it under the terms of the GNU Lesser General Public License
8
+ as published by the Free Software Foundation; either version 2.1
9
+ of the License, or (at your option) any later version.
10
+ All we ask is that proper credit is given for our work, which includes
11
+ - but is not limited to - adding the above copyright notice to the beginning
12
+ of your source code files, and to any copyright notice that you may distribute
13
+ with programs based on this work.
14
+
15
+ This program is distributed in the hope that it will be useful,
16
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ GNU Lesser General Public License for more details.
19
+
20
+ You should have received a copy of the GNU Lesser General Public License
21
+ along with this program; if not, write to the Free Software
22
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
23
+ */
24
+
25
+ package toxtree.plugins.ames.categories;
26
+
27
+
28
+
29
+ public class CategoryNoAlertAmes extends AmesMutagenicityCategory {
30
+
31
+ /**
32
+ *
33
+ */
34
+ private static final long serialVersionUID = 1943386186604548606L;
35
+
36
+ public CategoryNoAlertAmes() {
37
+ super("No alerts for S. typhimurium mutagenicity",2,1);
38
+ setExplanation("Assigned when neither an <a href=\"#Alerts\">alert for genotoxic carcinogenicity</a> nor an <a href=\"#Alerts(nongenotoxic)\"> alert for nongenotoxic carcinogenicity</a> is fired.");
39
+ }
40
+
41
+ @Override
42
+ public CategoryType getCategoryType() {
43
+ return CategoryType.NontoxicCategory;
44
+ }
45
+ }
46
+
47
+
@@ -0,0 +1,47 @@
1
+ /*
2
+ Copyright (C) 2005-2012
3
+
4
+ Contact: jeliazkova.nina@gmail.com
5
+
6
+ This program is free software; you can redistribute it and/or
7
+ modify it under the terms of the GNU Lesser General Public License
8
+ as published by the Free Software Foundation; either version 2.1
9
+ of the License, or (at your option) any later version.
10
+ All we ask is that proper credit is given for our work, which includes
11
+ - but is not limited to - adding the above copyright notice to the beginning
12
+ of your source code files, and to any copyright notice that you may distribute
13
+ with programs based on this work.
14
+
15
+ This program is distributed in the hope that it will be useful,
16
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ GNU Lesser General Public License for more details.
19
+
20
+ You should have received a copy of the GNU Lesser General Public License
21
+ along with this program; if not, write to the Free Software
22
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
23
+ */
24
+
25
+ package toxtree.plugins.ames.categories;
26
+
27
+
28
+
29
+ public class CategoryNonMutagen extends AmesMutagenicityCategory {
30
+ /**
31
+ *
32
+ */
33
+ private static final long serialVersionUID = -2260409185436019402L;
34
+
35
+ public CategoryNonMutagen() {
36
+ super("Unlikely to be a S. typhimurium TA100 mutagen based on QSAR",4,4);
37
+ setExplanation("Assigned according to the output of <a href=\"#QSAR6\">QSAR6</a> or <a href=\"#QSAR13\">QSAR13</a>");
38
+ }
39
+
40
+ @Override
41
+ public CategoryType getCategoryType() {
42
+ return CategoryType.NontoxicCategory;
43
+ }
44
+
45
+ }
46
+
47
+
@@ -0,0 +1,51 @@
1
+ /*
2
+ Copyright Ideaconsult Ltd. (C) 2005-2012
3
+
4
+ Contact: jeliazkova.nina@gmail.com
5
+
6
+ This program is free software; you can redistribute it and/or
7
+ modify it under the terms of the GNU Lesser General Public License
8
+ as published by the Free Software Foundation; either version 2.1
9
+ of the License, or (at your option) any later version.
10
+ All we ask is that proper credit is given for our work, which includes
11
+ - but is not limited to - adding the above copyright notice to the beginning
12
+ of your source code files, and to any copyright notice that you may distribute
13
+ with programs based on this work.
14
+
15
+ This program is distributed in the hope that it will be useful,
16
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ GNU Lesser General Public License for more details.
19
+
20
+ You should have received a copy of the GNU Lesser General Public License
21
+ along with this program; if not, write to the Free Software
22
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
23
+ */
24
+
25
+ package toxtree.plugins.ames.categories;
26
+
27
+
28
+
29
+ public class CategoryPositiveAlertAmes extends AmesMutagenicityCategory {
30
+
31
+ /**
32
+ *
33
+ */
34
+ private static final long serialVersionUID = 1L;
35
+
36
+ public CategoryPositiveAlertAmes() {
37
+ super("Structural Alert for S. typhimurium mutagenicity",1,2);
38
+ setExplanation("Assigned when an <a href=\"#Alerts\">alert for genotoxic carcinogenicity</a> is fired.");
39
+ }
40
+
41
+ @Override
42
+ public CategoryType getCategoryType() {
43
+ return CategoryType.ToxicCategory;
44
+ }
45
+ @Override
46
+ public CategoryType getNegativeCategoryType() {
47
+ return CategoryType.InconclusiveCategory;
48
+ }
49
+ }
50
+
51
+
@@ -0,0 +1,56 @@
1
+ /*
2
+ Copyright Ideaconsult Ltd. (C) 2005-2012
3
+
4
+ Contact: jeliazkova.nina@gmail.com
5
+
6
+ This program is free software; you can redistribute it and/or
7
+ modify it under the terms of the GNU Lesser General Public License
8
+ as published by the Free Software Foundation; either version 2.1
9
+ of the License, or (at your option) any later version.
10
+ All we ask is that proper credit is given for our work, which includes
11
+ - but is not limited to - adding the above copyright notice to the beginning
12
+ of your source code files, and to any copyright notice that you may distribute
13
+ with programs based on this work.
14
+
15
+ This program is distributed in the hope that it will be useful,
16
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ GNU Lesser General Public License for more details.
19
+
20
+ You should have received a copy of the GNU Lesser General Public License
21
+ along with this program; if not, write to the Free Software
22
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
23
+ */
24
+
25
+ package toxtree.plugins.ames.categories;
26
+
27
+
28
+
29
+ public class QSARApplicable extends AmesMutagenicityCategory {
30
+
31
+ /**
32
+ *
33
+ */
34
+ private static final long serialVersionUID = 3498454991194849716L;
35
+
36
+
37
+ public QSARApplicable() {
38
+ super("For a better assessment a QSAR calculation could be applied.",7,7);
39
+ setExplanation("Assigned when one of <a href=\"#QSAR6\">QSAR6</a>, <a href=\"#QSAR8\">QSAR8</a> or <a href=\"#QSAR13\">QSAR13</a> is applicable, but the user chooses not to apply a QSAR");
40
+ }
41
+ public QSARApplicable(int id) {
42
+ this();
43
+ setID(id);
44
+ }
45
+ public QSARApplicable(String name, int id) {
46
+ this();
47
+ }
48
+
49
+ @Override
50
+ public CategoryType getCategoryType() {
51
+ return CategoryType.InconclusiveCategory;
52
+ }
53
+
54
+ }
55
+
56
+
@@ -0,0 +1,719 @@
1
+ /*
2
+ Copyright Ideaconsult Ltd. (C) 2005-2012
3
+
4
+ Contact: jeliazkova.nina@gmail.com
5
+
6
+ This program is free software; you can redistribute it and/or
7
+ modify it under the terms of the GNU Lesser General Public License
8
+ as published by the Free Software Foundation; either version 2.1
9
+ of the License, or (at your option) any later version.
10
+ All we ask is that proper credit is given for our work, which includes
11
+ - but is not limited to - adding the above copyright notice to the beginning
12
+ of your source code files, and to any copyright notice that you may distribute
13
+ with programs based on this work.
14
+
15
+ This program is distributed in the hope that it will be useful,
16
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ GNU Lesser General Public License for more details.
19
+
20
+ You should have received a copy of the GNU Lesser General Public License
21
+ along with this program; if not, write to the Free Software
22
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
23
+ */
24
+
25
+ package toxtree.plugins.ames.descriptors;
26
+
27
+ import java.util.ArrayList;
28
+ import java.util.Enumeration;
29
+ import java.util.Hashtable;
30
+ import java.util.List;
31
+ import java.util.logging.Level;
32
+
33
+ import org.openscience.cdk.CDKConstants;
34
+ import org.openscience.cdk.DefaultChemObjectBuilder;
35
+ import org.openscience.cdk.config.Elements;
36
+ import org.openscience.cdk.exception.CDKException;
37
+ import org.openscience.cdk.graph.ConnectivityChecker;
38
+ import org.openscience.cdk.interfaces.IAtom;
39
+ import org.openscience.cdk.interfaces.IAtomContainer;
40
+ import org.openscience.cdk.interfaces.IAtomContainerSet;
41
+ import org.openscience.cdk.interfaces.IBond;
42
+ import org.openscience.cdk.interfaces.IMolecule;
43
+ import org.openscience.cdk.interfaces.IMoleculeSet;
44
+ import org.openscience.cdk.interfaces.IPseudoAtom;
45
+ import org.openscience.cdk.isomorphism.matchers.IQueryAtom;
46
+ import org.openscience.cdk.isomorphism.matchers.OrderQueryBond;
47
+ import org.openscience.cdk.isomorphism.matchers.QueryAtomContainer;
48
+ import org.openscience.cdk.isomorphism.matchers.smarts.AnyAtom;
49
+ import org.openscience.cdk.isomorphism.matchers.smarts.AnyOrderQueryBond;
50
+ import org.openscience.cdk.isomorphism.matchers.smarts.AromaticQueryBond;
51
+ import org.openscience.cdk.qsar.DescriptorSpecification;
52
+ import org.openscience.cdk.qsar.DescriptorValue;
53
+ import org.openscience.cdk.qsar.result.DoubleArrayResult;
54
+ import org.openscience.cdk.silent.SilentChemObjectBuilder;
55
+
56
+ import toxTree.data.MoleculesFile;
57
+ import toxTree.io.Tools;
58
+ import toxTree.query.FunctionalGroups;
59
+ import toxTree.query.TopologySymbolQueryAtom;
60
+ import ambit2.core.data.MoleculeTools;
61
+ import ambit2.smarts.query.ISmartsPattern;
62
+ import ambit2.smarts.query.SMARTSException;
63
+ import ambit2.smarts.query.SmartsPatternCDK;
64
+
65
+ /**
66
+ * returns "MR","LSTM","B1STM","B5STM" for substituents at postitions 1 to 6 (amine group at 1 position).
67
+ * TODO verify how substituted amine group should be treated (params of amine group + substituent, only substituent, largest substituent, average, etc.)
68
+ * <ol>
69
+ * <li>the functional amino group is always in position 1, additional amino groups are treated as substituents;
70
+ * <li>if more than one amino group is present, the -N with lowest steric hindrance ( 1. primary amines; 2. secondary amines; 3. tertiary amines; in increasing steric hindrance order) is considered to be the functional group;
71
+ * <li>if more than one amino group is present, and all of them have the same steric hindrance on the -N, the one that is considered to be the functional group is that which has a substituent in an adjacent position (ortho-substituent).
72
+ * <li>if two amino groups in ortho position are present and there are other substituents attached to the ring, the amino group that is considered to be the functional group is that which allow to assign the minimum position number to the substituent
73
+ * <li>when the numbering can go in two opposite directions, the substituent position with highest steric hindrance is given the lowest substitution number
74
+ * <li>in case the amino group is attached to more then one aromatic ring,
75
+ * the more extended aromatic system is to be considered as the one bearing the functional amino group;
76
+ * <li>in case the amino group is attached to more than one aromatic ring,
77
+ * with the aromatic systems equally extended, the ring bearing the
78
+ * functional amino group is chosen in such a way that the sterimol is the highest possible."
79
+ *
80
+ * </ol>
81
+ * @author Nina Jeliazkova
82
+ *
83
+ */
84
+ public class AromaticAmineSubstituentsDescriptor extends SubstituentsDescriptor {
85
+ protected static String AromAmine="aromamine";
86
+ protected static String MR="MR";
87
+ protected static String H="H";
88
+ protected static String N="N";
89
+ protected static String R="R";
90
+ protected MoleculesFile lookup;
91
+ protected int[] reverse_numbers = {1,6,5,4,3,2};
92
+ Object[][] fusedrings_patterns;
93
+
94
+ public AromaticAmineSubstituentsDescriptor() {
95
+ super(aromaticAmine(FunctionalGroups.RING_NUMBERING));
96
+ setDescriptorNames(new String[] {MR,"LSTM","B1STM","B5STM"});
97
+ try {
98
+ lookup = new MoleculesFile(Tools.getFileFromResource("substituents.sdf"),DefaultChemObjectBuilder.getInstance());
99
+ fusedrings_patterns = new Object[][] {
100
+ {AromAmine,new Boolean(true),new SmartsPatternCDK("Nc1c(~[*,#1])c(~[*,#1])c(~[*,#1])c(~[*,#1])c1(~[*,#1])")},
101
+ {MR,new Double(0.8),new SmartsPatternCDK("[cR2,cR3](:c)(:c)(:c)")},
102
+ //{MR,new Double(0.56),new SmartsPatternCDK("[cr5;cR2](:c)(:c)(:,-[#6])")},
103
+ {MR,new Double(0.56),new SmartsPatternCDK("[cr5;cR2](:c)(:c)(:,-[#6])")},
104
+ {MR,new Double(0.69),new SmartsPatternCDK("[cr5;cR2](:c)(:c)(:,-[$([#6]=O)])")},
105
+ {MR,new Double(0.54),new SmartsPatternCDK("[cr5;cR2](:c)(:c)(:,-[$([#7][#1])])")},
106
+ {MR,new Double(0.65),new SmartsPatternCDK("[cr6]:[cR2r6]:[nR1r6]")}, //C=1C=CC=2N=CC=CC=2(C=1)")},
107
+
108
+ };
109
+ } catch (Exception x) {
110
+ logger.log(Level.SEVERE,x.getMessage(),x);
111
+ lookup = null;
112
+ }
113
+
114
+ }
115
+ public DescriptorSpecification getSpecification() {
116
+ return new DescriptorSpecification(
117
+ "Molar refractivity and Sterimol descriptors of aromatic amine substituents (at postitions 1 to 6 , where amine group is at 1 position)",
118
+ this.getClass().getName(),
119
+ "$Id: AromaticAmineSubstituentsDescriptor.java 6171 2007-08-06 14:09:00 +0000 (Mon, 06 August 2007) nina $",
120
+ "Toxtree plugin");
121
+ }
122
+ @Override
123
+ public DescriptorValue calculate(IAtomContainer a) {
124
+ try {
125
+ //checking for fused rings and assigning MR
126
+ for (int p = 0; p < fusedrings_patterns.length;p++) {
127
+ int matches = ((ISmartsPattern)fusedrings_patterns[p][2]).match(a);
128
+ List<List<Integer>> list = ((ISmartsPattern)fusedrings_patterns[p][2]).getUniqueMatchingAtoms();
129
+ /*
130
+ System.out.print(matches);
131
+ System.out.print('\t');
132
+ System.out.print(fusedrings_patterns[p][0]);
133
+ System.out.print('=');
134
+ System.out.print(fusedrings_patterns[p][1]);
135
+ System.out.print('\t');
136
+ System.out.println(list.size());
137
+ */
138
+ for (int j=0; j < list.size();j++) {
139
+ List<Integer> l = list.get(j);
140
+ boolean ok = true;
141
+ //This is to make sure that only atoms of aromatic amine (and substituents) will be marked
142
+ for (int k=0; k < l.size();k++) {
143
+ IAtom atom = a.getAtom(l.get(k));
144
+ ok = ok && ((p==0) || (atom.getProperty(AromAmine) != null));
145
+ if (!ok) break;
146
+ }
147
+
148
+ if (ok)
149
+ for (int k=0; k < l.size();k++) {
150
+ IAtom atom = a.getAtom(l.get(k));
151
+ atom.setProperty(fusedrings_patterns[p][0],fusedrings_patterns[p][1]);
152
+ /*
153
+ System.out.print(a.getAtom(l.get(k)).getSymbol());
154
+ System.out.print('[');
155
+ System.out.print(l.get(k));
156
+ System.out.print(']');
157
+ System.out.print('\t');
158
+ */
159
+ }
160
+ }
161
+ //System.out.print('\n');
162
+
163
+ }
164
+ return super.calculate(a);
165
+ } catch (SMARTSException x) {
166
+ return new DescriptorValue(getSpecification(), getParameterNames(),
167
+ getParameters(), null, null ,x);
168
+ }
169
+ }
170
+ @Override
171
+ public DescriptorValue calculate(IAtomContainerSet substituents, String mark) throws CDKException {
172
+ if (lookup == null) throw new CDKException("Substituents list not defined!");
173
+ double values[][] = new double[getDescriptorNames().length][6];
174
+ for (int i=0; i < getDescriptorNames().length;i++)
175
+ for (int j=0; j <6;j++) values[i][j]=Double.NaN;
176
+
177
+ //boolean reverse = reverseNumbers(substituents,mark);
178
+ boolean reverse = false;
179
+ for (int k = 0; k < substituents.getAtomContainerCount(); k++) {
180
+ logger.finer("Substituent "+k);
181
+ IAtomContainer m = substituents.getAtomContainer(k);
182
+ if (m!=null) {
183
+ SubstituentPosition place = null;
184
+ for (int j=0;j <m.getAtomCount();j++) {
185
+ place = SubstituentExtractor.getSubstituentNumber(mark,m,j);
186
+ IMolecule substituent = (IMolecule)m;
187
+
188
+ if (place != null)
189
+ try {
190
+ int p = place.getPosition();
191
+ if (p==1) {
192
+ //amino group
193
+ substituent = getAminoGroupSubstituents(m,j);
194
+ } else {
195
+ //if (reverse) p = reverse_numbers[p-1];
196
+ //if assigned from fused rings check above
197
+ Object mr = m.getAtom(j).getProperty(MR);
198
+ if ((mr != null) && (mr instanceof Double)) {
199
+ values[0][p-1]= ((Number)mr).doubleValue();
200
+ logger.finer("Fused rings at position "+p + " atom "+ j + " MR=" + ((Number)mr).doubleValue());
201
+ continue;
202
+ }
203
+ }
204
+ //logger.debug("Position "+place + " atom "+ j);
205
+ int index = lookup.find(substituent);
206
+
207
+ if (index > -1) {
208
+ IAtomContainer mol = lookup.getAtomContainer(index);
209
+ for (int i=0; i < getDescriptorNames().length;i++) {
210
+ Object d = lookup.getProperty(index,getDescriptorNames()[i]);
211
+ if (d != null) {
212
+ double v = Double.NaN;
213
+ if (d instanceof Number) {
214
+ v = ((Number)d).doubleValue();
215
+ values[i][p-1]= v;
216
+ } else try {
217
+ v = Double.parseDouble(d.toString());
218
+ values[i][p-1]= v;
219
+ } catch (NumberFormatException x) {
220
+ v = Double.NaN;
221
+ }
222
+ logger.finer((mol.getProperty("Group") +" "+mol.getProperty("Position") +" "+getDescriptorNames()[i] + "_" + Integer.toString(p)+ " = " +v));
223
+ }
224
+ }
225
+ }
226
+
227
+
228
+ } catch (Exception x) {
229
+ logger.log(Level.SEVERE,x.getMessage(),x);
230
+ }
231
+
232
+ }
233
+ }
234
+ }
235
+
236
+ /*
237
+ for (int n=0; n < 6; n++) {
238
+ System.out.print(values[0][n]);
239
+ System.out.print('\t');
240
+ }
241
+ System.out.println();
242
+ */
243
+ DoubleArrayResult results = new DoubleArrayResult();
244
+
245
+ String[] d = new String[6*getDescriptorNames().length];
246
+ for (int j=0; j < 6;j++)
247
+ for (int i=0; i < getDescriptorNames().length;i++) {
248
+ //if (count[i]>1) values[i][0] /= count[i];
249
+ d[j*getDescriptorNames().length+i] = getDescriptorNames()[i]+Integer.toString(j+1);
250
+ results.add(values[i][j]);
251
+ }
252
+ return new DescriptorValue(getSpecification(), getParameterNames(),
253
+ getParameters(), results, d );
254
+ }
255
+ protected IMolecule getAminoGroupSubstituents(IAtomContainer ac,int natom) throws CDKException {
256
+ IMolecule aminogroup_subst = MoleculeTools.newMolecule(SilentChemObjectBuilder.getInstance());
257
+ List<IAtom> neighbors = ac.getConnectedAtomsList(ac.getAtom(natom));
258
+
259
+ for (int i=0; i< ac.getAtomCount();i++) {
260
+ IAtom a = ac.getAtom(i);
261
+ if (a instanceof IPseudoAtom) continue;
262
+ if (i==natom) continue;
263
+ aminogroup_subst.addAtom(a);
264
+ }
265
+ IAtom nitroAtom = ac.getAtom(natom);
266
+ for (int j=0; j< ac.getBondCount();j++) {
267
+ IBond b = ac.getBond(j);
268
+ //System.out.println("Examine bond " + b.getAtom(0).getSymbol() + " " + b.getAtom(1).getSymbol());
269
+ boolean addBond = true;
270
+ for (int i=0; i< b.getAtomCount();i++) {
271
+ IAtom a = b.getAtom(i);
272
+ if (a instanceof IPseudoAtom) {
273
+ addBond = false;
274
+ break;
275
+ }
276
+ if (a == nitroAtom) {
277
+ addBond = false;
278
+ IAtom r = MoleculeTools.newPseudoAtom(SilentChemObjectBuilder.getInstance(),R);
279
+ aminogroup_subst.addAtom(r);
280
+ IAtom otherAtom = b.getConnectedAtom(a);
281
+ aminogroup_subst.addBond(
282
+ MoleculeTools.newBond(SilentChemObjectBuilder.getInstance(),
283
+ otherAtom, r, b.getOrder()));
284
+ // System.out.println("Adding bond " + a.getSymbol() + " " + otherAtom.getSymbol());
285
+ break;
286
+ }
287
+ }
288
+ if (addBond) {
289
+ IBond newBond = MoleculeTools.newBond(SilentChemObjectBuilder.getInstance(),
290
+ b.getAtom(0), b.getAtom(1), b.getOrder());
291
+ aminogroup_subst.addBond(newBond);
292
+ }
293
+ }
294
+ IMoleculeSet s = ConnectivityChecker.partitionIntoMolecules(aminogroup_subst);
295
+ IMolecule m = null;
296
+ int size = 0;
297
+ for (int i=0; i < s.getMoleculeCount();i++) {
298
+ IMolecule a = s.getMolecule(i);
299
+ int asize = 0;
300
+
301
+ for (int j=0; j < a.getAtomCount();j++)
302
+ if (!H.equals(a.getAtom(j).getSymbol()))
303
+ asize ++;
304
+
305
+ if (size < asize) {
306
+ size = asize;
307
+ m = a;
308
+ }
309
+ }
310
+ return m;
311
+ }
312
+ public String select(Hashtable<String,IAtomContainerSet> substituents) throws CDKException {
313
+ if (substituents == null)
314
+ throw new CDKException("Substituents null!");
315
+ else {
316
+ Enumeration<String> e = substituents.keys();
317
+
318
+ double[] order = null;
319
+
320
+ String selectedMark = null;
321
+ while (e.hasMoreElements()) {
322
+ String mark = e.nextElement();
323
+ //if (substituents.size() == 1) return mark;
324
+ //otherwise calculate amino group order
325
+ IAtomContainerSet subst = substituents.get(mark);
326
+ double neworder[] = getAminoGroupOrder(subst,mark);
327
+ //System.out.println(" order "+neworder[0]+'-'+neworder[1]+ '-'+ neworder[2]+ mark);
328
+ if (order == null) {
329
+ selectedMark = mark;
330
+ order = neworder;
331
+ } else {
332
+ boolean less = false;
333
+ for (int i=0; i < 3; i++)
334
+ if (neworder[i]<order[i]) {
335
+ less = true;
336
+ break;
337
+ } else if (neworder[i]>order[i]) {
338
+ less = false;
339
+ break;
340
+ }
341
+
342
+ if (less) {
343
+ selectedMark = mark;
344
+ order = neworder;
345
+ }
346
+ }
347
+ }
348
+ //System.out.println("Number of aromatic amines: " + substituents.size() + " selected " + selectedMark);
349
+ if (selectedMark == null)
350
+ throw new CDKException("No substituents!");
351
+ else
352
+ return selectedMark;
353
+ }
354
+
355
+ }
356
+ /*
357
+ public boolean reverseNumbers(IAtomContainerSet substituents,String mark) throws CDKException {
358
+ double[] positions = new double[6];
359
+ for (int i=0; i < 6; i++) positions[i] = 0;
360
+
361
+ for (int k = 0; k < substituents.getAtomContainerCount(); k++) {
362
+ IAtomContainer m = substituents.getAtomContainer(k);
363
+ if (m!=null)
364
+ for (int j=0;j <m.getAtomCount();j++) {
365
+ SubstituentPosition place = SubstituentExtractor.getSubstituentNumber(mark,m,j);
366
+ if (place != null) {
367
+ int p = place.getPosition();
368
+ if (H.equals(m.getAtom(j).getSymbol()))
369
+ positions[p-1] = 0;
370
+ else {
371
+ Object o = m.getAtom(j).getProperty(MR);
372
+ if (m.getAtom(j).getProperty(MR) != null) {//ring
373
+ if (o instanceof Number)
374
+ positions[p-1]=((Number)o).doubleValue();
375
+ else positions[p-1] = 1;
376
+ } else {
377
+ positions[p-1]=0;
378
+ for (int n=0; n< m.getAtomCount();n++)
379
+ if (!H.equals(m.getAtom(n).getSymbol()))
380
+ positions[p-1]++;
381
+ }
382
+ //positions[p-1] = m.getAtomCount();
383
+ }
384
+ System.out.println(k+ " pos " + (p-1) + " atoms " + positions[p-1]);
385
+ }
386
+ }
387
+
388
+ }
389
+ boolean reverse = false;
390
+ for (int i=1; i < 3; i++)
391
+ if (positions[i] > positions[6-i])
392
+ break;
393
+ else if (positions[i] < positions[6-i]) {
394
+ reverse = true;
395
+ break;
396
+ }
397
+ if (reverse)
398
+ System.out.println("Reverse numbering");
399
+ return reverse;
400
+ }
401
+ */
402
+ /**
403
+ * If more than one amino group is present, the -N with lowest steric hindrance ( 1. primary amines; 2. secondary amines; 3. tertiary amines; in increasing steric hindrance order) is considered to be the functional group;
404
+ * <br>
405
+ * If more than one amino group is present, and all of them have the same steric hindrance on the -N, the one that is considered to be the functional group is that which has a substituent in an adjacent position (ortho-substituent).
406
+ * @param substituents
407
+ * @param mark the name of the property under which the substituent number is stored
408
+ * @return number, ordering the amino group as explained above. The number is composed as A + 1/B,
409
+ * where A = 10, 20 or 30 for primary, secondary or tertiary amine.
410
+ * B = 1 if there are no ortho substituents to amine group; B=2 if there is one ortho substituents and
411
+ * B=3 if there are two ortho substituents. The size of ortho substituents is not taken into account.
412
+ * This number effectively orders the amino groups as explained above.
413
+ *
414
+ */
415
+ /*
416
+ protected double getAminoGroupOrder(IAtomContainerSet substituents,String mark) {
417
+
418
+ double order = 0;
419
+ double ortho = 1;
420
+ double amino_ortho = 0;
421
+ for (int k = 0; k < substituents.getAtomContainerCount(); k++) {
422
+ IAtomContainer m = substituents.getAtomContainer(k);
423
+ if (m!=null)
424
+ for (int j=0;j <m.getAtomCount();j++) {
425
+ SubstituentPosition place = SubstituentExtractor.getSubstituentNumber(mark,m,j);
426
+ if (place == null) continue;
427
+ if ((place.getPosition() == 2) || (place.getPosition() == 6)) {
428
+ System.out.println(mark + " ortho " + m.getAtom(j).getSymbol());
429
+ if (!H.equals(m.getAtom(j).getSymbol())) ortho ++;
430
+ if (N.equals(m.getAtom(j).getSymbol())) amino_ortho = place.getPosition();
431
+ } else if (place.getPosition() == 1) {
432
+ //found an amine
433
+ System.out.print(m.getAtom(j).getSymbol());
434
+ List<IAtom> neighbors = m.getConnectedAtomsList(m.getAtom(j));
435
+ for (int i=0; i < neighbors.size(); i++) {
436
+ IAtom n = neighbors.get(i);
437
+ if ((n instanceof IPseudoAtom) || (H.equals(n.getSymbol()))) continue;
438
+ else order = order + 1;
439
+ System.out.print('\t');
440
+ System.out.print(neighbors.get(i).getSymbol());
441
+ }
442
+ System.out.println();
443
+ } else {
444
+ System.out.println(mark + '\t' + place + '\t' + m.getAtom(j).getSymbol());
445
+ }
446
+ }
447
+ }
448
+ System.out.println("Amine Order "+order + " Ortho "+ortho + " Amino group at ortho position "+amino_ortho);
449
+ return order*10 + 1/ortho;
450
+ }
451
+ */
452
+ protected double[] getAminoGroupOrder(IAtomContainerSet substituents,String mark) {
453
+ ISubstituentAction<Double> action = new ISubstituentAction<Double>() {
454
+ public Double processSubstituent(IAtomContainer m,String mark, SubstituentPosition place, int j) {
455
+
456
+ if (place.getPosition() == 1) {
457
+ //found an amine
458
+ //System.out.print(m.getAtom(j).getSymbol());
459
+ List<IAtom> neighbors = m.getConnectedAtomsList(m.getAtom(j));
460
+
461
+ double order = 0;
462
+ for (int i=0; i < neighbors.size(); i++) {
463
+ IAtom n = neighbors.get(i);
464
+ if ((n instanceof IPseudoAtom) || (H.equals(n.getSymbol()))) continue;
465
+ else order = order + 100;
466
+ Object ringsizes = n.getProperty(CDKConstants.RING_SIZES);
467
+ //penalty for an extended aromatic system as a substituent
468
+ if ((ringsizes != null) && (ringsizes instanceof ArrayList) && (n.getFlag(CDKConstants.ISAROMATIC)))
469
+ order += ((ArrayList) ringsizes).size();
470
+
471
+ //System.out.println(mark + " " + ringsizes + " N::"+ m.getAtomCount());
472
+ //System.out.print('\t');
473
+ //System.out.print(neighbors.get(i).getSymbol());
474
+ }
475
+ //System.out.println();
476
+ return order;
477
+ } else
478
+ if (H.equals(m.getAtom(j).getSymbol()))
479
+ return 0.0;
480
+ else {
481
+ Object o = m.getAtom(j).getProperty(MR);
482
+ if (m.getAtom(j).getProperty(MR) != null) {//ring
483
+ if (o instanceof Number)
484
+ return 1.0/((Number)o).doubleValue();
485
+ else return 1.0;
486
+ } else {
487
+ double p = 0;
488
+ for (int n=0; n< m.getAtomCount();n++) {
489
+ if (m.getAtom(n) instanceof IPseudoAtom) continue;
490
+ else if (!H.equals(m.getAtom(n).getSymbol()))
491
+ p += 10;
492
+ if (N.equals(m.getAtom(n).getSymbol()))
493
+ p += 5;
494
+ }
495
+ return p;
496
+ }
497
+ //positions[p-1] = m.getAtomCount();
498
+ }
499
+
500
+
501
+
502
+
503
+ }
504
+ };
505
+ double[] positions = new double[6];
506
+ for (int i=0; i < 6; i++) positions[i] = 0;
507
+
508
+ iterateSubstituents(substituents, mark, action,positions);
509
+
510
+ boolean reverse = false;
511
+ for (int i=1; i < 3; i++)
512
+ if (positions[i] > positions[6-i])
513
+ break;
514
+ else if (positions[i] < positions[6-i]) {
515
+ reverse = true;
516
+ break;
517
+ }
518
+ if (reverse) {
519
+ //System.out.println("Reverse numbering");
520
+ ISubstituentAction<Double> renumberAction = new ISubstituentAction<Double>() {
521
+ public Double processSubstituent(IAtomContainer substituent, String mark, SubstituentPosition place, int atomIndex) {
522
+ if (place.getPosition() > 1) {
523
+ SubstituentPosition newp = new SubstituentPosition(reverse_numbers[place.getPosition()-1],place.isRing());
524
+ SubstituentExtractor.setSubstituentNumber(mark,substituent,atomIndex,newp);
525
+ }
526
+ return 0.0;
527
+ }
528
+ };
529
+ iterateSubstituents(substituents, mark, renumberAction,null);
530
+ }
531
+ //System.out.print("Positions\t");
532
+ /*
533
+ * subrule iv) if two amino groups in ortho position are present and there are other substituents
534
+ * attached to the ring, the amino group that is considered to be the functional group
535
+ * is that which allow to assign the minimum position number to the substituent
536
+ */
537
+ int subrule4 = 0;
538
+ for (int i=0; i < 6; i++) {
539
+ /*
540
+ if (reverse)
541
+ System.out.print(positions[reverse_numbers[i]-1]);
542
+ else
543
+ System.out.print(positions[i]);
544
+ System.out.print('\t');
545
+ */
546
+ if ((i>2) && (positions[i]>0)) subrule4++;
547
+ }
548
+ //System.out.print('\n');
549
+ double ortho = 1 + positions[1] + positions[5];
550
+ //if (positions[1]>0) ortho ++;
551
+ //if (positions[5]>0) ortho ++;
552
+ double corder = positions[0]*1000 + 100.0/(ortho) + 1.0/subrule4;
553
+ //System.out.println(mark + "\tAmine Order "+positions[0] + " Ortho "+(ortho) + " subrule4 "+ subrule4 + " c" + corder);
554
+ double[] order = new double[3];
555
+ order[0] = positions[0];
556
+ order[1] = 1.0/ortho;
557
+ if (subrule4 == 0) order[2] = 0;
558
+ else order[2] = 1.0/subrule4;
559
+
560
+ return order;
561
+
562
+
563
+ }
564
+
565
+ protected void iterateSubstituents(IAtomContainerSet substituents,String mark,ISubstituentAction<Double> action,double[] positions) {
566
+
567
+ for (int k = 0; k < substituents.getAtomContainerCount(); k++) {
568
+ IAtomContainer m = substituents.getAtomContainer(k);
569
+ if (m!=null)
570
+ for (int j=0;j <m.getAtomCount();j++) {
571
+ SubstituentPosition place = SubstituentExtractor.getSubstituentNumber(mark,m,j);
572
+ if (place != null) {
573
+ Double o = action.processSubstituent(m,mark,place,j);
574
+ if (positions != null)
575
+ positions[place.getPosition()-1] = o;
576
+ }
577
+ }
578
+ }
579
+ }
580
+
581
+ public static QueryAtomContainer aromaticAmine(String mark) {
582
+ QueryAtomContainer query = new QueryAtomContainer() {
583
+ /**
584
+ *
585
+ */
586
+ private static final long serialVersionUID = -7083727815979524493L;
587
+
588
+ @Override
589
+ public String toString() {
590
+ return getID();
591
+ }
592
+
593
+ };
594
+ query.setID(FunctionalGroups.AROMATIC_AMINE);
595
+ IQueryAtom[] ring = new IQueryAtom[6];
596
+
597
+ IAtom a = MoleculeTools.newAtom(SilentChemObjectBuilder.getInstance(),Elements.NITROGEN);
598
+ a.setFormalCharge(0);
599
+
600
+ TopologySymbolQueryAtom n = new TopologySymbolQueryAtom(a,false);
601
+ SubstituentExtractor.setSubstituentNumber(mark,n,new SubstituentPosition(1,false));
602
+ n.setID("N");
603
+ query.addAtom(n);
604
+ //ring
605
+ for (int i=0; i < 6; i++) {
606
+ //commented for test only
607
+ ring[i] = new TopologySymbolQueryAtom(
608
+ MoleculeTools.newAtom(SilentChemObjectBuilder.getInstance(),Elements.CARBON),true);
609
+
610
+ //ring[i] = new AnyAtom();ring[i].setSymbol(R);
611
+ ring[i].setID(Integer.toString(i+1));
612
+ SubstituentExtractor.setSubstituentNumber(mark,ring[i],new SubstituentPosition(i+1,true));
613
+ //ring[i].setProperty(SubstituentExtractor._RING,SubstituentExtractor.yes);
614
+ query.addAtom(ring[i]);
615
+ if (i>0) {
616
+ query.addBond(new AromaticQueryBond(ring[i], ring[i-1],CDKConstants.BONDORDER_SINGLE));
617
+ }
618
+ }
619
+ query.addBond(new AromaticQueryBond(ring[0], ring[5],CDKConstants.BONDORDER_SINGLE));
620
+ query.addBond(new OrderQueryBond(ring[0], n, CDKConstants.BONDORDER_SINGLE));
621
+
622
+
623
+ AnyAtom r = new ReallyAnyAtom();
624
+ r.setSymbol(R);r.setID("R1");
625
+
626
+ query.addBond(new OrderQueryBond(r, n, CDKConstants.BONDORDER_SINGLE));
627
+ r = new ReallyAnyAtom();
628
+ r.setSymbol(R);r.setID("R2");
629
+ query.addBond(new OrderQueryBond(r, n, CDKConstants.BONDORDER_SINGLE));
630
+ //substituents
631
+
632
+ for (int i=1; i < 6; i++) {
633
+ AnyAtom any = new ReallyAnyAtom(); any.setSymbol(R);
634
+ SubstituentExtractor.setSubstituentNumber(mark,any,new SubstituentPosition(i+1,false));
635
+ any.setID("Subst"+Integer.toString(i+1));
636
+ query.addAtom(any);
637
+ query.addBond(new AnyOrderQueryBond(ring[i],any,CDKConstants.BONDORDER_SINGLE));
638
+ }
639
+
640
+ return query;
641
+ }
642
+
643
+ /*
644
+ * public static QueryAtomContainer aromaticAmine(String mark) {
645
+ QueryAtomContainer query = new QueryAtomContainer() {
646
+ @Override
647
+ public String toString() {
648
+ return getID();
649
+ }
650
+
651
+ };
652
+ query.setID(FunctionalGroups.AROMATIC_AMINE);
653
+ IQueryAtom[] ring = new IQueryAtom[6];
654
+
655
+ IAtom a = MoleculeTools.newAtom(SilentChemObjectBuilder.getInstance(),Elements.NITROGEN);
656
+ a.setFormalCharge(0);
657
+
658
+ TopologySymbolQueryAtom n = new TopologySymbolQueryAtom(a,false);
659
+ SubstituentExtractor.setSubstituentNumber(mark,n,new SubstituentPosition(1,false));
660
+ n.setID("N");
661
+ query.addAtom(n);
662
+ //ring
663
+ for (int i=0; i < 6; i++) {
664
+ //commented for test only
665
+ ring[i] = new TopologySymbolQueryAtom(
666
+ MoleculeTools.newAtom(SilentChemObjectBuilder.getInstance(),Elements.CARBON),true);
667
+
668
+ //ring[i] = new AnyAtom();ring[i].setSymbol(R);
669
+ ring[i].setID(Integer.toString(i+1));
670
+ SubstituentExtractor.setSubstituentNumber(mark,ring[i],new SubstituentPosition(i+1,true));
671
+ //ring[i].setProperty(SubstituentExtractor._RING,SubstituentExtractor.yes);
672
+ query.addAtom(ring[i]);
673
+ if (i>0) {
674
+ query.addBond(new AromaticQueryBond(ring[i], ring[i-1],CDKConstants.BONDORDER_SINGLE));
675
+ }
676
+ }
677
+ query.addBond(new AromaticQueryBond(ring[0], ring[5],CDKConstants.BONDORDER_SINGLE));
678
+ query.addBond(new OrderQueryBond(ring[0], n, CDKConstants.BONDORDER_SINGLE));
679
+
680
+ AnyAtom r = new AnyAtom();r.setSymbol(R);r.setID("R1");
681
+
682
+ query.addBond(new OrderQueryBond(r, n, CDKConstants.BONDORDER_SINGLE));
683
+ r = new AnyAtom();r.setSymbol(R);;r.setID("R2");
684
+ query.addBond(new OrderQueryBond(r, n, CDKConstants.BONDORDER_SINGLE));
685
+ //substituents
686
+
687
+ for (int i=1; i < 6; i++) {
688
+ AnyAtom any = new AnyAtom(); any.setSymbol(R);
689
+ SubstituentExtractor.setSubstituentNumber(mark,any,new SubstituentPosition(i+1,false));
690
+ any.setID("Subst"+Integer.toString(i+1));
691
+ query.addAtom(any);
692
+ query.addBond(new AnyOrderQueryBond(ring[i],any,CDKConstants.BONDORDER_SINGLE));
693
+ }
694
+ return query;
695
+ }
696
+ */
697
+
698
+ }
699
+
700
+ interface ISubstituentAction<T> {
701
+ T processSubstituent(IAtomContainer substituent,String mark, SubstituentPosition place, int atomIndex);
702
+ }
703
+
704
+ /**
705
+ * want to return true ALWAYS
706
+ * @author nina
707
+ *
708
+ */
709
+ class ReallyAnyAtom extends AnyAtom {
710
+ /**
711
+ *
712
+ */
713
+ private static final long serialVersionUID = 2545315806695658613L;
714
+
715
+ @Override
716
+ public boolean matches(IAtom atom) {
717
+ return true;
718
+ }
719
+ }