chemicalml 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (740) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/docs.yml +63 -0
  3. data/.github/workflows/links.yml +99 -0
  4. data/.github/workflows/opal.yml +34 -0
  5. data/.github/workflows/performance.yml +25 -0
  6. data/.github/workflows/rake.yml +19 -0
  7. data/.github/workflows/release.yml +34 -0
  8. data/CHANGELOG.md +52 -12
  9. data/CLAUDE.md +48 -41
  10. data/Gemfile +2 -1
  11. data/Rakefile +9 -4
  12. data/TODO.align/18-wire-class-registry.md +46 -0
  13. data/TODO.align/19-schema-aware-translator.md +33 -0
  14. data/TODO.align/20-missing-translator-rules.md +44 -0
  15. data/TODO.align/21-encapsulate-translator.md +33 -0
  16. data/TODO.align/22-dry-role-modules.md +32 -0
  17. data/TODO.align/23-final-spec-lint.md +25 -0
  18. data/TODO.align/24-autoload-wire-classes.md +84 -0
  19. data/TODO.align/25-value-container-schema-awareness.md +44 -0
  20. data/TODO.align/26-remove-dead-code.md +16 -0
  21. data/TODO.align/27-final-spec-lint.md +26 -0
  22. data/TODO.align/28-stereo-model.md +40 -0
  23. data/TODO.align/29-stereo-wire-children.md +30 -0
  24. data/TODO.align/30-stereo-translator.md +32 -0
  25. data/TODO.align/31-final-spec-lint.md +20 -0
  26. data/TODO.align/32-polymorphic-translator.md +43 -0
  27. data/TODO.align/33-polymorphic-parse.md +43 -0
  28. data/TODO.align/34-polymorphic-specs.md +16 -0
  29. data/TODO.align/35-final-spec-lint.md +10 -0
  30. data/TODO.align/36-molecular-convention-coverage.md +46 -0
  31. data/TODO.align/37-compchem-convention-coverage.md +55 -0
  32. data/TODO.align/38-dictionary-convention-coverage.md +34 -0
  33. data/TODO.align/39-unit-dictionary-convention-coverage.md +33 -0
  34. data/TODO.align/40-unit-type-dictionary-convention-coverage.md +28 -0
  35. data/TODO.align/41-expand-canonical-model-layer.md +43 -0
  36. data/TODO.align/42-translator-wire-new-models.md +31 -0
  37. data/TODO.align/43-dictionary-model-no-to-h.md +39 -0
  38. data/TODO.align/44-schema3-only-and-schema24-module.md +44 -0
  39. data/TODO.align/45-documentation-and-final-verification.md +23 -0
  40. data/TODO.align/46-lattice-vector-content.md +24 -0
  41. data/TODO.align/47-molecule-crystal-spectra-property-lists.md +23 -0
  42. data/TODO.align/48-model-list-and-module-lists.md +21 -0
  43. data/TODO.align/49-more-chemistry-models.md +34 -0
  44. data/TODO.align/50-validation-report.md +29 -0
  45. data/TODO.align/51-convention-auto-detection.md +30 -0
  46. data/TODO.align/52-schema24-legacy-elements.md +28 -0
  47. data/TODO.align/53-round-trip-integration-specs.md +30 -0
  48. data/TODO.align/54-document-versioned-parser-shim.md +38 -0
  49. data/TODO.align/55-molecule-missing-attributes.md +20 -0
  50. data/TODO.align/56-geometry-models.md +24 -0
  51. data/TODO.align/57-compchem-models.md +26 -0
  52. data/TODO.align/58-remaining-models.md +24 -0
  53. data/TODO.align/59-wire-new-models-translator.md +18 -0
  54. data/TODO.align/60-docs-and-final-verification.md +19 -0
  55. data/TODO.align/README.round10.md +30 -0
  56. data/TODO.align/README.round11.md +50 -0
  57. data/TODO.align/README.round12.md +73 -0
  58. data/TODO.align/README.round13.md +59 -0
  59. data/TODO.align/README.round14.md +48 -0
  60. data/TODO.align/README.round15.md +86 -0
  61. data/TODO.align/README.round16.md +46 -0
  62. data/TODO.align/README.round3.md +27 -0
  63. data/TODO.align/README.round4.md +18 -0
  64. data/TODO.align/README.round5.md +20 -0
  65. data/TODO.align/README.round6.md +27 -0
  66. data/TODO.align/README.round7.md +43 -0
  67. data/TODO.align/README.round8.md +24 -0
  68. data/TODO.align/README.round9.md +50 -0
  69. data/data/dictionaries/_index.yaml +9 -1
  70. data/data/dictionaries/cif.yaml +155 -0
  71. data/data/dictionaries/cml.yaml +172 -0
  72. data/data/dictionaries/cml_formula.yaml +63 -0
  73. data/data/dictionaries/cml_name.yaml +84 -0
  74. data/data/dictionaries/unit_non_si.yaml +30 -0
  75. data/data/dictionaries/unit_type.yaml +12 -0
  76. data/lib/chemicalml/cml/aliases.rb +20 -0
  77. data/lib/chemicalml/cml/base/abundance.rb +34 -0
  78. data/lib/chemicalml/cml/base/action.rb +50 -0
  79. data/lib/chemicalml/cml/base/action_list.rb +51 -0
  80. data/lib/chemicalml/cml/base/alternative.rb +28 -0
  81. data/lib/chemicalml/cml/base/amount.rb +30 -0
  82. data/lib/chemicalml/cml/base/angle.rb +44 -0
  83. data/lib/chemicalml/cml/base/annotation.rb +30 -0
  84. data/lib/chemicalml/cml/base/any_cml.rb +28 -0
  85. data/lib/chemicalml/cml/base/appinfo.rb +32 -0
  86. data/lib/chemicalml/cml/base/arg.rb +46 -0
  87. data/lib/chemicalml/cml/base/array.rb +23 -1
  88. data/lib/chemicalml/cml/base/array_list.rb +30 -0
  89. data/lib/chemicalml/cml/base/atom.rb +37 -1
  90. data/lib/chemicalml/cml/base/atom_array.rb +39 -1
  91. data/lib/chemicalml/cml/base/atom_parity.rb +9 -1
  92. data/lib/chemicalml/cml/base/atom_set.rb +30 -0
  93. data/lib/chemicalml/cml/base/atom_type.rb +36 -0
  94. data/lib/chemicalml/cml/base/atom_type_list.rb +33 -0
  95. data/lib/chemicalml/cml/base/atomic_basis_function.rb +44 -0
  96. data/lib/chemicalml/cml/base/band.rb +34 -0
  97. data/lib/chemicalml/cml/base/band_list.rb +31 -0
  98. data/lib/chemicalml/cml/base/basis_set.rb +35 -0
  99. data/lib/chemicalml/cml/base/bond.rb +11 -1
  100. data/lib/chemicalml/cml/base/bond_array.rb +17 -1
  101. data/lib/chemicalml/cml/base/bond_set.rb +30 -0
  102. data/lib/chemicalml/cml/base/bond_stereo.rb +11 -1
  103. data/lib/chemicalml/cml/base/bond_type.rb +34 -0
  104. data/lib/chemicalml/cml/base/bond_type_list.rb +33 -0
  105. data/lib/chemicalml/cml/base/cell_parameter.rb +38 -0
  106. data/lib/chemicalml/cml/base/cml_module.rb +1 -1
  107. data/lib/chemicalml/cml/base/complex_object.rb +30 -0
  108. data/lib/chemicalml/cml/base/condition_list.rb +37 -0
  109. data/lib/chemicalml/cml/base/crystal.rb +37 -0
  110. data/lib/chemicalml/cml/base/definition.rb +30 -0
  111. data/lib/chemicalml/cml/base/description.rb +32 -0
  112. data/lib/chemicalml/cml/base/dictionary.rb +7 -1
  113. data/lib/chemicalml/cml/base/dictionary_entry.rb +1 -1
  114. data/lib/chemicalml/cml/base/dimension.rb +42 -0
  115. data/lib/chemicalml/cml/base/document.rb +9 -1
  116. data/lib/chemicalml/cml/base/documentation.rb +30 -0
  117. data/lib/chemicalml/cml/base/eigen.rb +36 -0
  118. data/lib/chemicalml/cml/base/electron.rb +42 -0
  119. data/lib/chemicalml/cml/base/enumeration.rb +32 -0
  120. data/lib/chemicalml/cml/base/expression.rb +32 -0
  121. data/lib/chemicalml/cml/base/float.rb +40 -0
  122. data/lib/chemicalml/cml/base/float_array.rb +42 -0
  123. data/lib/chemicalml/cml/base/formula.rb +1 -1
  124. data/lib/chemicalml/cml/base/fragment.rb +41 -0
  125. data/lib/chemicalml/cml/base/fragment_list.rb +35 -0
  126. data/lib/chemicalml/cml/base/gradient.rb +32 -0
  127. data/lib/chemicalml/cml/base/identifier.rb +9 -1
  128. data/lib/chemicalml/cml/base/integer.rb +40 -0
  129. data/lib/chemicalml/cml/base/integer_array.rb +42 -0
  130. data/lib/chemicalml/cml/base/isotope.rb +36 -0
  131. data/lib/chemicalml/cml/base/isotope_list.rb +33 -0
  132. data/lib/chemicalml/cml/base/join.rb +36 -0
  133. data/lib/chemicalml/cml/base/kpoint.rb +34 -0
  134. data/lib/chemicalml/cml/base/kpoint_list.rb +31 -0
  135. data/lib/chemicalml/cml/base/label.rb +3 -1
  136. data/lib/chemicalml/cml/base/lattice.rb +37 -0
  137. data/lib/chemicalml/cml/base/lattice_vector.rb +32 -0
  138. data/lib/chemicalml/cml/base/length.rb +42 -0
  139. data/lib/chemicalml/cml/base/line3.rb +36 -0
  140. data/lib/chemicalml/cml/base/link.rb +58 -0
  141. data/lib/chemicalml/cml/base/list.rb +3 -1
  142. data/lib/chemicalml/cml/base/map.rb +40 -0
  143. data/lib/chemicalml/cml/base/matrix.rb +13 -1
  144. data/lib/chemicalml/cml/base/mechanism.rb +31 -0
  145. data/lib/chemicalml/cml/base/mechanism_component.rb +30 -0
  146. data/lib/chemicalml/cml/base/metadata.rb +5 -1
  147. data/lib/chemicalml/cml/base/metadata_list.rb +7 -1
  148. data/lib/chemicalml/cml/base/molecule.rb +27 -1
  149. data/lib/chemicalml/cml/base/molecule_list.rb +33 -0
  150. data/lib/chemicalml/cml/base/name.rb +3 -1
  151. data/lib/chemicalml/cml/base/object.rb +34 -0
  152. data/lib/chemicalml/cml/base/observation.rb +32 -0
  153. data/lib/chemicalml/cml/base/operator.rb +32 -0
  154. data/lib/chemicalml/cml/base/parameter.rb +11 -1
  155. data/lib/chemicalml/cml/base/parameter_list.rb +7 -1
  156. data/lib/chemicalml/cml/base/particle.rb +36 -0
  157. data/lib/chemicalml/cml/base/peak.rb +70 -0
  158. data/lib/chemicalml/cml/base/peak_group.rb +69 -0
  159. data/lib/chemicalml/cml/base/peak_list.rb +35 -0
  160. data/lib/chemicalml/cml/base/peak_structure.rb +44 -0
  161. data/lib/chemicalml/cml/base/plane3.rb +32 -0
  162. data/lib/chemicalml/cml/base/point3.rb +32 -0
  163. data/lib/chemicalml/cml/base/potential.rb +30 -0
  164. data/lib/chemicalml/cml/base/potential_form.rb +32 -0
  165. data/lib/chemicalml/cml/base/potential_list.rb +31 -0
  166. data/lib/chemicalml/cml/base/product.rb +17 -1
  167. data/lib/chemicalml/cml/base/product_list.rb +15 -1
  168. data/lib/chemicalml/cml/base/property.rb +7 -1
  169. data/lib/chemicalml/cml/base/property_list.rb +7 -1
  170. data/lib/chemicalml/cml/base/reactant.rb +17 -1
  171. data/lib/chemicalml/cml/base/reactant_list.rb +15 -1
  172. data/lib/chemicalml/cml/base/reaction.rb +25 -1
  173. data/lib/chemicalml/cml/base/reaction_list.rb +13 -1
  174. data/lib/chemicalml/cml/base/reaction_scheme.rb +43 -0
  175. data/lib/chemicalml/cml/base/reaction_step.rb +41 -0
  176. data/lib/chemicalml/cml/base/reaction_step_list.rb +39 -0
  177. data/lib/chemicalml/cml/base/reactive_centre.rb +30 -0
  178. data/lib/chemicalml/cml/base/region.rb +36 -0
  179. data/lib/chemicalml/cml/base/related_entry.rb +26 -0
  180. data/lib/chemicalml/cml/base/sample.rb +32 -0
  181. data/lib/chemicalml/cml/base/scalar.rb +19 -1
  182. data/lib/chemicalml/cml/base/spectator.rb +30 -0
  183. data/lib/chemicalml/cml/base/spectator_list.rb +31 -0
  184. data/lib/chemicalml/cml/base/spectrum.rb +53 -0
  185. data/lib/chemicalml/cml/base/spectrum_data.rb +35 -0
  186. data/lib/chemicalml/cml/base/spectrum_list.rb +35 -0
  187. data/lib/chemicalml/cml/base/sphere3.rb +32 -0
  188. data/lib/chemicalml/cml/base/stmml.rb +28 -0
  189. data/lib/chemicalml/cml/base/string.rb +32 -0
  190. data/lib/chemicalml/cml/base/string_array.rb +40 -0
  191. data/lib/chemicalml/cml/base/substance.rb +13 -1
  192. data/lib/chemicalml/cml/base/substance_list.rb +37 -0
  193. data/lib/chemicalml/cml/base/symmetry.rb +36 -0
  194. data/lib/chemicalml/cml/base/system.rb +37 -0
  195. data/lib/chemicalml/cml/base/table.rb +43 -0
  196. data/lib/chemicalml/cml/base/table_cell.rb +30 -0
  197. data/lib/chemicalml/cml/base/table_content.rb +35 -0
  198. data/lib/chemicalml/cml/base/table_header.rb +31 -0
  199. data/lib/chemicalml/cml/base/table_header_cell.rb +40 -0
  200. data/lib/chemicalml/cml/base/table_row.rb +31 -0
  201. data/lib/chemicalml/cml/base/table_row_list.rb +31 -0
  202. data/lib/chemicalml/cml/base/tcell.rb +34 -0
  203. data/lib/chemicalml/cml/base/torsion.rb +44 -0
  204. data/lib/chemicalml/cml/base/transform3.rb +30 -0
  205. data/lib/chemicalml/cml/base/transition_state.rb +28 -0
  206. data/lib/chemicalml/cml/base/trow.rb +32 -0
  207. data/lib/chemicalml/cml/base/unit.rb +13 -1
  208. data/lib/chemicalml/cml/base/unit_list.rb +13 -1
  209. data/lib/chemicalml/cml/base/unit_type.rb +11 -1
  210. data/lib/chemicalml/cml/base/unit_type_list.rb +11 -1
  211. data/lib/chemicalml/cml/base/vector3.rb +32 -0
  212. data/lib/chemicalml/cml/base/xaxis.rb +38 -0
  213. data/lib/chemicalml/cml/base/yaxis.rb +38 -0
  214. data/lib/chemicalml/cml/base/z_matrix.rb +30 -0
  215. data/lib/chemicalml/cml/base.rb +102 -0
  216. data/lib/chemicalml/cml/elements.rb +166 -43
  217. data/lib/chemicalml/cml/role/abundance.rb +12 -0
  218. data/lib/chemicalml/cml/role/action.rb +12 -0
  219. data/lib/chemicalml/cml/role/action_list.rb +12 -0
  220. data/lib/chemicalml/cml/role/alternative.rb +10 -0
  221. data/lib/chemicalml/cml/role/amount.rb +12 -0
  222. data/lib/chemicalml/cml/role/angle.rb +12 -0
  223. data/lib/chemicalml/cml/role/annotation.rb +10 -0
  224. data/lib/chemicalml/cml/role/any_cml.rb +12 -0
  225. data/lib/chemicalml/cml/role/appinfo.rb +10 -0
  226. data/lib/chemicalml/cml/role/arg.rb +10 -0
  227. data/lib/chemicalml/cml/role/array_list.rb +12 -0
  228. data/lib/chemicalml/cml/role/atom_set.rb +12 -0
  229. data/lib/chemicalml/cml/role/atom_type.rb +12 -0
  230. data/lib/chemicalml/cml/role/atom_type_list.rb +12 -0
  231. data/lib/chemicalml/cml/role/atomic_basis_function.rb +12 -0
  232. data/lib/chemicalml/cml/role/band.rb +12 -0
  233. data/lib/chemicalml/cml/role/band_list.rb +12 -0
  234. data/lib/chemicalml/cml/role/basis_set.rb +12 -0
  235. data/lib/chemicalml/cml/role/bond_set.rb +12 -0
  236. data/lib/chemicalml/cml/role/bond_type.rb +12 -0
  237. data/lib/chemicalml/cml/role/bond_type_list.rb +12 -0
  238. data/lib/chemicalml/cml/role/cell_parameter.rb +12 -0
  239. data/lib/chemicalml/cml/role/cml_module.rb +2 -3
  240. data/lib/chemicalml/cml/role/complex_object.rb +10 -0
  241. data/lib/chemicalml/cml/role/condition_list.rb +12 -0
  242. data/lib/chemicalml/cml/role/crystal.rb +12 -0
  243. data/lib/chemicalml/cml/role/definition.rb +12 -0
  244. data/lib/chemicalml/cml/role/description.rb +12 -0
  245. data/lib/chemicalml/cml/role/dimension.rb +12 -0
  246. data/lib/chemicalml/cml/role/documentation.rb +12 -0
  247. data/lib/chemicalml/cml/role/eigen.rb +12 -0
  248. data/lib/chemicalml/cml/role/electron.rb +12 -0
  249. data/lib/chemicalml/cml/role/enumeration.rb +10 -0
  250. data/lib/chemicalml/cml/role/expression.rb +10 -0
  251. data/lib/chemicalml/cml/role/float.rb +10 -0
  252. data/lib/chemicalml/cml/role/float_array.rb +10 -0
  253. data/lib/chemicalml/cml/role/fragment.rb +12 -0
  254. data/lib/chemicalml/cml/role/fragment_list.rb +12 -0
  255. data/lib/chemicalml/cml/role/gradient.rb +12 -0
  256. data/lib/chemicalml/cml/role/integer.rb +10 -0
  257. data/lib/chemicalml/cml/role/integer_array.rb +10 -0
  258. data/lib/chemicalml/cml/role/isotope.rb +12 -0
  259. data/lib/chemicalml/cml/role/isotope_list.rb +12 -0
  260. data/lib/chemicalml/cml/role/join.rb +12 -0
  261. data/lib/chemicalml/cml/role/kpoint.rb +12 -0
  262. data/lib/chemicalml/cml/role/kpoint_list.rb +12 -0
  263. data/lib/chemicalml/cml/role/lattice.rb +12 -0
  264. data/lib/chemicalml/cml/role/lattice_vector.rb +12 -0
  265. data/lib/chemicalml/cml/role/length.rb +12 -0
  266. data/lib/chemicalml/cml/role/line3.rb +12 -0
  267. data/lib/chemicalml/cml/role/link.rb +12 -0
  268. data/lib/chemicalml/cml/role/map.rb +12 -0
  269. data/lib/chemicalml/cml/role/mechanism.rb +12 -0
  270. data/lib/chemicalml/cml/role/mechanism_component.rb +12 -0
  271. data/lib/chemicalml/cml/role/molecule_list.rb +12 -0
  272. data/lib/chemicalml/cml/role/object.rb +12 -0
  273. data/lib/chemicalml/cml/role/observation.rb +12 -0
  274. data/lib/chemicalml/cml/role/operator.rb +10 -0
  275. data/lib/chemicalml/cml/role/particle.rb +12 -0
  276. data/lib/chemicalml/cml/role/peak.rb +12 -0
  277. data/lib/chemicalml/cml/role/peak_group.rb +12 -0
  278. data/lib/chemicalml/cml/role/peak_list.rb +12 -0
  279. data/lib/chemicalml/cml/role/peak_structure.rb +12 -0
  280. data/lib/chemicalml/cml/role/plane3.rb +12 -0
  281. data/lib/chemicalml/cml/role/point3.rb +12 -0
  282. data/lib/chemicalml/cml/role/potential.rb +12 -0
  283. data/lib/chemicalml/cml/role/potential_form.rb +12 -0
  284. data/lib/chemicalml/cml/role/potential_list.rb +12 -0
  285. data/lib/chemicalml/cml/role/reaction_scheme.rb +12 -0
  286. data/lib/chemicalml/cml/role/reaction_step.rb +12 -0
  287. data/lib/chemicalml/cml/role/reaction_step_list.rb +12 -0
  288. data/lib/chemicalml/cml/role/reactive_centre.rb +12 -0
  289. data/lib/chemicalml/cml/role/region.rb +12 -0
  290. data/lib/chemicalml/cml/role/related_entry.rb +10 -0
  291. data/lib/chemicalml/cml/role/sample.rb +12 -0
  292. data/lib/chemicalml/cml/role/spectator.rb +12 -0
  293. data/lib/chemicalml/cml/role/spectator_list.rb +12 -0
  294. data/lib/chemicalml/cml/role/spectrum.rb +12 -0
  295. data/lib/chemicalml/cml/role/spectrum_data.rb +12 -0
  296. data/lib/chemicalml/cml/role/spectrum_list.rb +12 -0
  297. data/lib/chemicalml/cml/role/sphere3.rb +12 -0
  298. data/lib/chemicalml/cml/role/stmml.rb +12 -0
  299. data/lib/chemicalml/cml/role/string.rb +10 -0
  300. data/lib/chemicalml/cml/role/string_array.rb +10 -0
  301. data/lib/chemicalml/cml/role/substance_list.rb +12 -0
  302. data/lib/chemicalml/cml/role/symmetry.rb +12 -0
  303. data/lib/chemicalml/cml/role/system.rb +12 -0
  304. data/lib/chemicalml/cml/role/table.rb +12 -0
  305. data/lib/chemicalml/cml/role/table_cell.rb +12 -0
  306. data/lib/chemicalml/cml/role/table_content.rb +12 -0
  307. data/lib/chemicalml/cml/role/table_header.rb +12 -0
  308. data/lib/chemicalml/cml/role/table_header_cell.rb +12 -0
  309. data/lib/chemicalml/cml/role/table_row.rb +12 -0
  310. data/lib/chemicalml/cml/role/table_row_list.rb +12 -0
  311. data/lib/chemicalml/cml/role/tcell.rb +10 -0
  312. data/lib/chemicalml/cml/role/torsion.rb +12 -0
  313. data/lib/chemicalml/cml/role/transform3.rb +12 -0
  314. data/lib/chemicalml/cml/role/transition_state.rb +12 -0
  315. data/lib/chemicalml/cml/role/trow.rb +10 -0
  316. data/lib/chemicalml/cml/role/vector3.rb +12 -0
  317. data/lib/chemicalml/cml/role/xaxis.rb +12 -0
  318. data/lib/chemicalml/cml/role/yaxis.rb +12 -0
  319. data/lib/chemicalml/cml/role/z_matrix.rb +12 -0
  320. data/lib/chemicalml/cml/role.rb +103 -1
  321. data/lib/chemicalml/cml/schema24/abundance.rb +13 -0
  322. data/lib/chemicalml/cml/schema24/action.rb +13 -0
  323. data/lib/chemicalml/cml/schema24/action_list.rb +13 -0
  324. data/lib/chemicalml/cml/schema24/alternative.rb +14 -0
  325. data/lib/chemicalml/cml/schema24/amount.rb +13 -0
  326. data/lib/chemicalml/cml/schema24/angle.rb +13 -0
  327. data/lib/chemicalml/cml/schema24/annotation.rb +15 -0
  328. data/lib/chemicalml/cml/schema24/any_cml.rb +13 -0
  329. data/lib/chemicalml/cml/schema24/appinfo.rb +15 -0
  330. data/lib/chemicalml/cml/schema24/arg.rb +14 -0
  331. data/lib/chemicalml/cml/schema24/array.rb +15 -0
  332. data/lib/chemicalml/cml/schema24/array_list.rb +13 -0
  333. data/lib/chemicalml/cml/schema24/atom.rb +15 -0
  334. data/lib/chemicalml/cml/schema24/atom_array.rb +15 -0
  335. data/lib/chemicalml/cml/schema24/atom_parity.rb +15 -0
  336. data/lib/chemicalml/cml/schema24/atom_set.rb +13 -0
  337. data/lib/chemicalml/cml/schema24/atom_type.rb +13 -0
  338. data/lib/chemicalml/cml/schema24/atom_type_list.rb +13 -0
  339. data/lib/chemicalml/cml/schema24/atomic_basis_function.rb +13 -0
  340. data/lib/chemicalml/cml/schema24/band.rb +13 -0
  341. data/lib/chemicalml/cml/schema24/band_list.rb +13 -0
  342. data/lib/chemicalml/cml/schema24/basis_set.rb +13 -0
  343. data/lib/chemicalml/cml/schema24/bond.rb +15 -0
  344. data/lib/chemicalml/cml/schema24/bond_array.rb +15 -0
  345. data/lib/chemicalml/cml/schema24/bond_set.rb +13 -0
  346. data/lib/chemicalml/cml/schema24/bond_stereo.rb +15 -0
  347. data/lib/chemicalml/cml/schema24/bond_type.rb +13 -0
  348. data/lib/chemicalml/cml/schema24/bond_type_list.rb +13 -0
  349. data/lib/chemicalml/cml/schema24/cell_parameter.rb +13 -0
  350. data/lib/chemicalml/cml/schema24/cml_module.rb +18 -0
  351. data/lib/chemicalml/cml/schema24/complex_object.rb +14 -0
  352. data/lib/chemicalml/cml/schema24/condition_list.rb +13 -0
  353. data/lib/chemicalml/cml/schema24/configuration.rb +5 -2
  354. data/lib/chemicalml/cml/schema24/context.rb +18 -0
  355. data/lib/chemicalml/cml/schema24/crystal.rb +13 -0
  356. data/lib/chemicalml/cml/schema24/definition.rb +13 -0
  357. data/lib/chemicalml/cml/schema24/description.rb +13 -0
  358. data/lib/chemicalml/cml/schema24/dictionary.rb +15 -0
  359. data/lib/chemicalml/cml/schema24/dictionary_entry.rb +15 -0
  360. data/lib/chemicalml/cml/schema24/dimension.rb +13 -0
  361. data/lib/chemicalml/cml/schema24/document.rb +15 -0
  362. data/lib/chemicalml/cml/schema24/documentation.rb +13 -0
  363. data/lib/chemicalml/cml/schema24/eigen.rb +13 -0
  364. data/lib/chemicalml/cml/schema24/electron.rb +13 -0
  365. data/lib/chemicalml/cml/schema24/enumeration.rb +16 -0
  366. data/lib/chemicalml/cml/schema24/expression.rb +14 -0
  367. data/lib/chemicalml/cml/schema24/float.rb +14 -0
  368. data/lib/chemicalml/cml/schema24/float_array.rb +14 -0
  369. data/lib/chemicalml/cml/schema24/formula.rb +15 -0
  370. data/lib/chemicalml/cml/schema24/fragment.rb +13 -0
  371. data/lib/chemicalml/cml/schema24/fragment_list.rb +13 -0
  372. data/lib/chemicalml/cml/schema24/gradient.rb +13 -0
  373. data/lib/chemicalml/cml/schema24/identifier.rb +15 -0
  374. data/lib/chemicalml/cml/schema24/integer.rb +14 -0
  375. data/lib/chemicalml/cml/schema24/integer_array.rb +14 -0
  376. data/lib/chemicalml/cml/schema24/isotope.rb +13 -0
  377. data/lib/chemicalml/cml/schema24/isotope_list.rb +13 -0
  378. data/lib/chemicalml/cml/schema24/join.rb +13 -0
  379. data/lib/chemicalml/cml/schema24/kpoint.rb +13 -0
  380. data/lib/chemicalml/cml/schema24/kpoint_list.rb +13 -0
  381. data/lib/chemicalml/cml/schema24/label.rb +15 -0
  382. data/lib/chemicalml/cml/schema24/lattice.rb +13 -0
  383. data/lib/chemicalml/cml/schema24/lattice_vector.rb +13 -0
  384. data/lib/chemicalml/cml/schema24/length.rb +13 -0
  385. data/lib/chemicalml/cml/schema24/line3.rb +13 -0
  386. data/lib/chemicalml/cml/schema24/link.rb +13 -0
  387. data/lib/chemicalml/cml/schema24/list.rb +15 -0
  388. data/lib/chemicalml/cml/schema24/map.rb +13 -0
  389. data/lib/chemicalml/cml/schema24/matrix.rb +15 -0
  390. data/lib/chemicalml/cml/schema24/mechanism.rb +13 -0
  391. data/lib/chemicalml/cml/schema24/mechanism_component.rb +13 -0
  392. data/lib/chemicalml/cml/schema24/metadata.rb +15 -0
  393. data/lib/chemicalml/cml/schema24/metadata_list.rb +15 -0
  394. data/lib/chemicalml/cml/schema24/molecule.rb +15 -0
  395. data/lib/chemicalml/cml/schema24/molecule_list.rb +13 -0
  396. data/lib/chemicalml/cml/schema24/name.rb +15 -0
  397. data/lib/chemicalml/cml/schema24/object.rb +13 -0
  398. data/lib/chemicalml/cml/schema24/observation.rb +13 -0
  399. data/lib/chemicalml/cml/schema24/operator.rb +14 -0
  400. data/lib/chemicalml/cml/schema24/parameter.rb +15 -0
  401. data/lib/chemicalml/cml/schema24/parameter_list.rb +15 -0
  402. data/lib/chemicalml/cml/schema24/particle.rb +13 -0
  403. data/lib/chemicalml/cml/schema24/peak.rb +13 -0
  404. data/lib/chemicalml/cml/schema24/peak_group.rb +13 -0
  405. data/lib/chemicalml/cml/schema24/peak_list.rb +13 -0
  406. data/lib/chemicalml/cml/schema24/peak_structure.rb +13 -0
  407. data/lib/chemicalml/cml/schema24/plane3.rb +13 -0
  408. data/lib/chemicalml/cml/schema24/point3.rb +13 -0
  409. data/lib/chemicalml/cml/schema24/potential.rb +13 -0
  410. data/lib/chemicalml/cml/schema24/potential_form.rb +13 -0
  411. data/lib/chemicalml/cml/schema24/potential_list.rb +13 -0
  412. data/lib/chemicalml/cml/schema24/product.rb +15 -0
  413. data/lib/chemicalml/cml/schema24/product_list.rb +15 -0
  414. data/lib/chemicalml/cml/schema24/property.rb +15 -0
  415. data/lib/chemicalml/cml/schema24/property_list.rb +15 -0
  416. data/lib/chemicalml/cml/schema24/reactant.rb +15 -0
  417. data/lib/chemicalml/cml/schema24/reactant_list.rb +15 -0
  418. data/lib/chemicalml/cml/schema24/reaction.rb +15 -0
  419. data/lib/chemicalml/cml/schema24/reaction_list.rb +15 -0
  420. data/lib/chemicalml/cml/schema24/reaction_scheme.rb +13 -0
  421. data/lib/chemicalml/cml/schema24/reaction_step.rb +13 -0
  422. data/lib/chemicalml/cml/schema24/reaction_step_list.rb +13 -0
  423. data/lib/chemicalml/cml/schema24/reactive_centre.rb +13 -0
  424. data/lib/chemicalml/cml/schema24/region.rb +13 -0
  425. data/lib/chemicalml/cml/schema24/related_entry.rb +14 -0
  426. data/lib/chemicalml/cml/schema24/sample.rb +13 -0
  427. data/lib/chemicalml/cml/schema24/scalar.rb +15 -0
  428. data/lib/chemicalml/cml/schema24/spectator.rb +13 -0
  429. data/lib/chemicalml/cml/schema24/spectator_list.rb +13 -0
  430. data/lib/chemicalml/cml/schema24/spectrum.rb +13 -0
  431. data/lib/chemicalml/cml/schema24/spectrum_data.rb +13 -0
  432. data/lib/chemicalml/cml/schema24/spectrum_list.rb +13 -0
  433. data/lib/chemicalml/cml/schema24/sphere3.rb +13 -0
  434. data/lib/chemicalml/cml/schema24/stmml.rb +13 -0
  435. data/lib/chemicalml/cml/schema24/string.rb +14 -0
  436. data/lib/chemicalml/cml/schema24/string_array.rb +14 -0
  437. data/lib/chemicalml/cml/schema24/substance.rb +15 -0
  438. data/lib/chemicalml/cml/schema24/substance_list.rb +13 -0
  439. data/lib/chemicalml/cml/schema24/symmetry.rb +13 -0
  440. data/lib/chemicalml/cml/schema24/system.rb +13 -0
  441. data/lib/chemicalml/cml/schema24/table.rb +13 -0
  442. data/lib/chemicalml/cml/schema24/table_cell.rb +13 -0
  443. data/lib/chemicalml/cml/schema24/table_content.rb +13 -0
  444. data/lib/chemicalml/cml/schema24/table_header.rb +13 -0
  445. data/lib/chemicalml/cml/schema24/table_header_cell.rb +13 -0
  446. data/lib/chemicalml/cml/schema24/table_row.rb +13 -0
  447. data/lib/chemicalml/cml/schema24/table_row_list.rb +13 -0
  448. data/lib/chemicalml/cml/schema24/tcell.rb +14 -0
  449. data/lib/chemicalml/cml/schema24/torsion.rb +13 -0
  450. data/lib/chemicalml/cml/schema24/transform3.rb +13 -0
  451. data/lib/chemicalml/cml/schema24/transition_state.rb +13 -0
  452. data/lib/chemicalml/cml/schema24/trow.rb +14 -0
  453. data/lib/chemicalml/cml/schema24/unit.rb +15 -0
  454. data/lib/chemicalml/cml/schema24/unit_list.rb +15 -0
  455. data/lib/chemicalml/cml/schema24/unit_type.rb +15 -0
  456. data/lib/chemicalml/cml/schema24/unit_type_list.rb +15 -0
  457. data/lib/chemicalml/cml/schema24/vector3.rb +13 -0
  458. data/lib/chemicalml/cml/schema24/xaxis.rb +13 -0
  459. data/lib/chemicalml/cml/schema24/yaxis.rb +13 -0
  460. data/lib/chemicalml/cml/schema24/z_matrix.rb +13 -0
  461. data/lib/chemicalml/cml/schema24.rb +159 -19
  462. data/lib/chemicalml/cml/schema3/abundance.rb +13 -0
  463. data/lib/chemicalml/cml/schema3/action.rb +13 -0
  464. data/lib/chemicalml/cml/schema3/action_list.rb +13 -0
  465. data/lib/chemicalml/cml/schema3/amount.rb +13 -0
  466. data/lib/chemicalml/cml/schema3/angle.rb +13 -0
  467. data/lib/chemicalml/cml/schema3/any_cml.rb +13 -0
  468. data/lib/chemicalml/cml/schema3/array.rb +15 -0
  469. data/lib/chemicalml/cml/schema3/array_list.rb +13 -0
  470. data/lib/chemicalml/cml/schema3/atom.rb +15 -0
  471. data/lib/chemicalml/cml/schema3/atom_array.rb +15 -0
  472. data/lib/chemicalml/cml/schema3/atom_parity.rb +15 -0
  473. data/lib/chemicalml/cml/schema3/atom_set.rb +13 -0
  474. data/lib/chemicalml/cml/schema3/atom_type.rb +13 -0
  475. data/lib/chemicalml/cml/schema3/atom_type_list.rb +13 -0
  476. data/lib/chemicalml/cml/schema3/atomic_basis_function.rb +13 -0
  477. data/lib/chemicalml/cml/schema3/band.rb +13 -0
  478. data/lib/chemicalml/cml/schema3/band_list.rb +13 -0
  479. data/lib/chemicalml/cml/schema3/basis_set.rb +13 -0
  480. data/lib/chemicalml/cml/schema3/bond.rb +15 -0
  481. data/lib/chemicalml/cml/schema3/bond_array.rb +15 -0
  482. data/lib/chemicalml/cml/schema3/bond_set.rb +13 -0
  483. data/lib/chemicalml/cml/schema3/bond_stereo.rb +15 -0
  484. data/lib/chemicalml/cml/schema3/bond_type.rb +13 -0
  485. data/lib/chemicalml/cml/schema3/bond_type_list.rb +13 -0
  486. data/lib/chemicalml/cml/schema3/cell_parameter.rb +13 -0
  487. data/lib/chemicalml/cml/schema3/cml_module.rb +15 -0
  488. data/lib/chemicalml/cml/schema3/condition_list.rb +13 -0
  489. data/lib/chemicalml/cml/schema3/context.rb +18 -0
  490. data/lib/chemicalml/cml/schema3/crystal.rb +13 -0
  491. data/lib/chemicalml/cml/schema3/definition.rb +13 -0
  492. data/lib/chemicalml/cml/schema3/description.rb +13 -0
  493. data/lib/chemicalml/cml/schema3/dictionary.rb +15 -0
  494. data/lib/chemicalml/cml/schema3/dictionary_entry.rb +15 -0
  495. data/lib/chemicalml/cml/schema3/dimension.rb +13 -0
  496. data/lib/chemicalml/cml/schema3/document.rb +15 -0
  497. data/lib/chemicalml/cml/schema3/documentation.rb +13 -0
  498. data/lib/chemicalml/cml/schema3/eigen.rb +13 -0
  499. data/lib/chemicalml/cml/schema3/electron.rb +13 -0
  500. data/lib/chemicalml/cml/schema3/formula.rb +15 -0
  501. data/lib/chemicalml/cml/schema3/fragment.rb +13 -0
  502. data/lib/chemicalml/cml/schema3/fragment_list.rb +13 -0
  503. data/lib/chemicalml/cml/schema3/gradient.rb +13 -0
  504. data/lib/chemicalml/cml/schema3/identifier.rb +15 -0
  505. data/lib/chemicalml/cml/schema3/isotope.rb +13 -0
  506. data/lib/chemicalml/cml/schema3/isotope_list.rb +13 -0
  507. data/lib/chemicalml/cml/schema3/join.rb +13 -0
  508. data/lib/chemicalml/cml/schema3/kpoint.rb +13 -0
  509. data/lib/chemicalml/cml/schema3/kpoint_list.rb +13 -0
  510. data/lib/chemicalml/cml/schema3/label.rb +15 -0
  511. data/lib/chemicalml/cml/schema3/lattice.rb +13 -0
  512. data/lib/chemicalml/cml/schema3/lattice_vector.rb +13 -0
  513. data/lib/chemicalml/cml/schema3/length.rb +13 -0
  514. data/lib/chemicalml/cml/schema3/line3.rb +13 -0
  515. data/lib/chemicalml/cml/schema3/link.rb +13 -0
  516. data/lib/chemicalml/cml/schema3/list.rb +15 -0
  517. data/lib/chemicalml/cml/schema3/map.rb +13 -0
  518. data/lib/chemicalml/cml/schema3/matrix.rb +15 -0
  519. data/lib/chemicalml/cml/schema3/mechanism.rb +13 -0
  520. data/lib/chemicalml/cml/schema3/mechanism_component.rb +13 -0
  521. data/lib/chemicalml/cml/schema3/metadata.rb +15 -0
  522. data/lib/chemicalml/cml/schema3/metadata_list.rb +15 -0
  523. data/lib/chemicalml/cml/schema3/molecule.rb +15 -0
  524. data/lib/chemicalml/cml/schema3/molecule_list.rb +13 -0
  525. data/lib/chemicalml/cml/schema3/name.rb +15 -0
  526. data/lib/chemicalml/cml/schema3/object.rb +13 -0
  527. data/lib/chemicalml/cml/schema3/observation.rb +13 -0
  528. data/lib/chemicalml/cml/schema3/parameter.rb +15 -0
  529. data/lib/chemicalml/cml/schema3/parameter_list.rb +15 -0
  530. data/lib/chemicalml/cml/schema3/particle.rb +13 -0
  531. data/lib/chemicalml/cml/schema3/peak.rb +13 -0
  532. data/lib/chemicalml/cml/schema3/peak_group.rb +13 -0
  533. data/lib/chemicalml/cml/schema3/peak_list.rb +13 -0
  534. data/lib/chemicalml/cml/schema3/peak_structure.rb +13 -0
  535. data/lib/chemicalml/cml/schema3/plane3.rb +13 -0
  536. data/lib/chemicalml/cml/schema3/point3.rb +13 -0
  537. data/lib/chemicalml/cml/schema3/potential.rb +13 -0
  538. data/lib/chemicalml/cml/schema3/potential_form.rb +13 -0
  539. data/lib/chemicalml/cml/schema3/potential_list.rb +13 -0
  540. data/lib/chemicalml/cml/schema3/product.rb +15 -0
  541. data/lib/chemicalml/cml/schema3/product_list.rb +15 -0
  542. data/lib/chemicalml/cml/schema3/property.rb +15 -0
  543. data/lib/chemicalml/cml/schema3/property_list.rb +15 -0
  544. data/lib/chemicalml/cml/schema3/reactant.rb +15 -0
  545. data/lib/chemicalml/cml/schema3/reactant_list.rb +15 -0
  546. data/lib/chemicalml/cml/schema3/reaction.rb +15 -0
  547. data/lib/chemicalml/cml/schema3/reaction_list.rb +15 -0
  548. data/lib/chemicalml/cml/schema3/reaction_scheme.rb +13 -0
  549. data/lib/chemicalml/cml/schema3/reaction_step.rb +13 -0
  550. data/lib/chemicalml/cml/schema3/reaction_step_list.rb +13 -0
  551. data/lib/chemicalml/cml/schema3/reactive_centre.rb +13 -0
  552. data/lib/chemicalml/cml/schema3/region.rb +13 -0
  553. data/lib/chemicalml/cml/schema3/sample.rb +13 -0
  554. data/lib/chemicalml/cml/schema3/scalar.rb +15 -0
  555. data/lib/chemicalml/cml/schema3/spectator.rb +13 -0
  556. data/lib/chemicalml/cml/schema3/spectator_list.rb +13 -0
  557. data/lib/chemicalml/cml/schema3/spectrum.rb +13 -0
  558. data/lib/chemicalml/cml/schema3/spectrum_data.rb +13 -0
  559. data/lib/chemicalml/cml/schema3/spectrum_list.rb +13 -0
  560. data/lib/chemicalml/cml/schema3/sphere3.rb +13 -0
  561. data/lib/chemicalml/cml/schema3/stmml.rb +13 -0
  562. data/lib/chemicalml/cml/schema3/substance.rb +15 -0
  563. data/lib/chemicalml/cml/schema3/substance_list.rb +13 -0
  564. data/lib/chemicalml/cml/schema3/symmetry.rb +13 -0
  565. data/lib/chemicalml/cml/schema3/system.rb +13 -0
  566. data/lib/chemicalml/cml/schema3/table.rb +13 -0
  567. data/lib/chemicalml/cml/schema3/table_cell.rb +13 -0
  568. data/lib/chemicalml/cml/schema3/table_content.rb +13 -0
  569. data/lib/chemicalml/cml/schema3/table_header.rb +13 -0
  570. data/lib/chemicalml/cml/schema3/table_header_cell.rb +13 -0
  571. data/lib/chemicalml/cml/schema3/table_row.rb +13 -0
  572. data/lib/chemicalml/cml/schema3/table_row_list.rb +13 -0
  573. data/lib/chemicalml/cml/schema3/torsion.rb +13 -0
  574. data/lib/chemicalml/cml/schema3/transform3.rb +13 -0
  575. data/lib/chemicalml/cml/schema3/transition_state.rb +13 -0
  576. data/lib/chemicalml/cml/schema3/unit.rb +15 -0
  577. data/lib/chemicalml/cml/schema3/unit_list.rb +15 -0
  578. data/lib/chemicalml/cml/schema3/unit_type.rb +15 -0
  579. data/lib/chemicalml/cml/schema3/unit_type_list.rb +15 -0
  580. data/lib/chemicalml/cml/schema3/vector3.rb +13 -0
  581. data/lib/chemicalml/cml/schema3/xaxis.rb +13 -0
  582. data/lib/chemicalml/cml/schema3/yaxis.rb +13 -0
  583. data/lib/chemicalml/cml/schema3/z_matrix.rb +13 -0
  584. data/lib/chemicalml/cml/schema3.rb +132 -17
  585. data/lib/chemicalml/cml/wire_class_registry.rb +42 -0
  586. data/lib/chemicalml/cml.rb +136 -44
  587. data/lib/chemicalml/context_configuration.rb +8 -2
  588. data/lib/chemicalml/convention/base.rb +17 -3
  589. data/lib/chemicalml/convention/compchem/constraints/array_rules.rb +44 -0
  590. data/lib/chemicalml/convention/compchem/constraints/calculation_requires_finalization.rb +28 -0
  591. data/lib/chemicalml/convention/compchem/constraints/compchem_module_must_contain_job_list.rb +4 -4
  592. data/lib/chemicalml/convention/compchem/constraints/environment_at_most_one_property_list.rb +26 -0
  593. data/lib/chemicalml/convention/compchem/constraints/environment_must_not_contain_parameter.rb +28 -0
  594. data/lib/chemicalml/convention/compchem/constraints/finalization_at_most_one_molecule.rb +26 -0
  595. data/lib/chemicalml/convention/compchem/constraints/finalization_at_most_one_property_list.rb +26 -0
  596. data/lib/chemicalml/convention/compchem/constraints/finalization_must_not_contain_parameter.rb +27 -0
  597. data/lib/chemicalml/convention/compchem/constraints/initialization_at_most_one_molecule.rb +26 -0
  598. data/lib/chemicalml/convention/compchem/constraints/initialization_at_most_one_parameter_list.rb +26 -0
  599. data/lib/chemicalml/convention/compchem/constraints/initialization_must_not_contain_property.rb +28 -0
  600. data/lib/chemicalml/convention/compchem/constraints/job_list_module_must_have_id.rb +24 -0
  601. data/lib/chemicalml/convention/compchem/constraints/job_module_at_most_one_environment.rb +25 -0
  602. data/lib/chemicalml/convention/compchem/constraints/job_module_at_most_one_finalization.rb +25 -0
  603. data/lib/chemicalml/convention/compchem/constraints/job_module_must_have_id.rb +24 -0
  604. data/lib/chemicalml/convention/compchem/constraints/job_must_contain_initialization.rb +6 -9
  605. data/lib/chemicalml/convention/compchem/constraints/matrix_rules.rb +48 -0
  606. data/lib/chemicalml/convention/compchem/constraints/module_predicates.rb +50 -0
  607. data/lib/chemicalml/convention/compchem/constraints/scalar_units.rb +42 -0
  608. data/lib/chemicalml/convention/compchem/constraints.rb +36 -2
  609. data/lib/chemicalml/convention/compchem.rb +16 -0
  610. data/lib/chemicalml/convention/constraint.rb +31 -18
  611. data/lib/chemicalml/convention/coordinator.rb +89 -0
  612. data/lib/chemicalml/convention/detection.rb +33 -0
  613. data/lib/chemicalml/convention/dictionary/constraints/dictionary_must_have_namespace.rb +28 -0
  614. data/lib/chemicalml/convention/dictionary/constraints/dictionary_namespace_should_end_with_slash_or_hash.rb +32 -0
  615. data/lib/chemicalml/convention/dictionary/constraints/entry_id_must_match_pattern.rb +33 -0
  616. data/lib/chemicalml/convention/dictionary/constraints/entry_ids_unique_within_dictionary.rb +3 -3
  617. data/lib/chemicalml/convention/dictionary/constraints/entry_must_contain_definition.rb +28 -0
  618. data/lib/chemicalml/convention/dictionary/constraints/entry_must_have_id_and_term.rb +5 -5
  619. data/lib/chemicalml/convention/dictionary/constraints/entry_must_have_unit_type.rb +30 -0
  620. data/lib/chemicalml/convention/dictionary/constraints/entry_units_co_constraints.rb +44 -0
  621. data/lib/chemicalml/convention/dictionary/constraints.rb +12 -0
  622. data/lib/chemicalml/convention/dictionary.rb +6 -0
  623. data/lib/chemicalml/convention/molecular/constraints/atom_array_must_be_child_of_molecule_or_formula.rb +40 -0
  624. data/lib/chemicalml/convention/molecular/constraints/atom_array_must_contain_atoms.rb +3 -3
  625. data/lib/chemicalml/convention/molecular/constraints/atom_coordinates_must_be_paired.rb +32 -0
  626. data/lib/chemicalml/convention/molecular/constraints/atom_id_must_match_pattern.rb +26 -0
  627. data/lib/chemicalml/convention/molecular/constraints/atom_ids_unique_within_molecule.rb +2 -2
  628. data/lib/chemicalml/convention/molecular/constraints/atom_must_have_element_type.rb +20 -0
  629. data/lib/chemicalml/convention/molecular/constraints/atom_must_have_id.rb +20 -0
  630. data/lib/chemicalml/convention/molecular/constraints/bond_array_must_be_child_of_molecule.rb +36 -0
  631. data/lib/chemicalml/convention/molecular/constraints/bond_ids_unique_within_molecule.rb +43 -0
  632. data/lib/chemicalml/convention/molecular/constraints/bond_must_have_atom_refs2.rb +20 -0
  633. data/lib/chemicalml/convention/molecular/constraints/bond_must_have_order.rb +20 -0
  634. data/lib/chemicalml/convention/molecular/constraints/bond_must_reference_atoms_in_same_molecule.rb +3 -3
  635. data/lib/chemicalml/convention/molecular/constraints/bond_order_other_must_have_dict_ref.rb +33 -0
  636. data/lib/chemicalml/convention/molecular/constraints/bond_order_should_not_be_numeric.rb +27 -0
  637. data/lib/chemicalml/convention/molecular/constraints/bond_stereo_cis_trans_must_have_atom_refs4.rb +45 -0
  638. data/lib/chemicalml/convention/molecular/constraints/bond_stereo_other_must_have_dict_ref.rb +32 -0
  639. data/lib/chemicalml/convention/molecular/constraints/bond_stereo_wedge_hash_must_have_atom_refs2.rb +45 -0
  640. data/lib/chemicalml/convention/molecular/constraints/molecule_atom_array_mutually_exclusive_with_children.rb +32 -0
  641. data/lib/chemicalml/convention/molecular/constraints/molecule_bond_array_mutually_exclusive_with_children.rb +31 -0
  642. data/lib/chemicalml/convention/molecular/constraints/molecule_count_must_not_appear_on_top_level.rb +34 -0
  643. data/lib/chemicalml/convention/molecular/constraints/molecule_must_have_id.rb +20 -0
  644. data/lib/chemicalml/convention/molecular/constraints/property_must_have_dict_ref.rb +20 -0
  645. data/lib/chemicalml/convention/molecular/constraints/scalar_must_have_data_type.rb +20 -0
  646. data/lib/chemicalml/convention/molecular/constraints.rb +40 -3
  647. data/lib/chemicalml/convention/molecular.rb +20 -0
  648. data/lib/chemicalml/convention/registry.rb +17 -0
  649. data/lib/chemicalml/convention/unit_dictionary/constraints/unit_list_must_contain_at_least_one_unit.rb +28 -0
  650. data/lib/chemicalml/convention/unit_dictionary/constraints/unit_list_must_have_namespace.rb +36 -0
  651. data/lib/chemicalml/convention/unit_dictionary/constraints/unit_must_contain_definition.rb +27 -0
  652. data/lib/chemicalml/convention/unit_dictionary/constraints/unit_must_have_id.rb +27 -0
  653. data/lib/chemicalml/convention/unit_dictionary/constraints/unit_must_have_symbol_and_unit_type.rb +3 -3
  654. data/lib/chemicalml/convention/unit_dictionary/constraints.rb +9 -1
  655. data/lib/chemicalml/convention/unit_dictionary.rb +4 -0
  656. data/lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_id_must_match_pattern.rb +31 -0
  657. data/lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_list_must_contain_at_least_one_unit_type.rb +27 -0
  658. data/lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_list_must_have_namespace.rb +35 -0
  659. data/lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_must_contain_definition.rb +27 -0
  660. data/lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_must_have_id_and_name.rb +5 -5
  661. data/lib/chemicalml/convention/unit_type_dictionary/constraints.rb +9 -1
  662. data/lib/chemicalml/convention/unit_type_dictionary.rb +4 -0
  663. data/lib/chemicalml/convention/validation_report.rb +63 -0
  664. data/lib/chemicalml/convention.rb +11 -0
  665. data/lib/chemicalml/dictionary/entry.rb +6 -6
  666. data/lib/chemicalml/dictionary/enum.rb +1 -1
  667. data/lib/chemicalml/dictionary/link.rb +3 -3
  668. data/lib/chemicalml/dictionary/loader.rb +19 -19
  669. data/lib/chemicalml/dictionary/model.rb +5 -5
  670. data/lib/chemicalml/dictionary/registry.rb +9 -9
  671. data/lib/chemicalml/version.rb +1 -1
  672. data/lib/chemicalml/versioned_parser.rb +71 -12
  673. data/lib/chemicalml.rb +4 -3
  674. metadata +594 -69
  675. data/lib/chemicalml/cml/array.rb +0 -10
  676. data/lib/chemicalml/cml/atom.rb +0 -10
  677. data/lib/chemicalml/cml/atom_array.rb +0 -10
  678. data/lib/chemicalml/cml/atom_parity.rb +0 -10
  679. data/lib/chemicalml/cml/bond.rb +0 -10
  680. data/lib/chemicalml/cml/bond_array.rb +0 -10
  681. data/lib/chemicalml/cml/bond_stereo.rb +0 -10
  682. data/lib/chemicalml/cml/cml_module.rb +0 -10
  683. data/lib/chemicalml/cml/dictionary.rb +0 -10
  684. data/lib/chemicalml/cml/dictionary_entry.rb +0 -10
  685. data/lib/chemicalml/cml/document.rb +0 -10
  686. data/lib/chemicalml/cml/formula.rb +0 -10
  687. data/lib/chemicalml/cml/identifier.rb +0 -10
  688. data/lib/chemicalml/cml/label.rb +0 -10
  689. data/lib/chemicalml/cml/list.rb +0 -10
  690. data/lib/chemicalml/cml/matrix.rb +0 -10
  691. data/lib/chemicalml/cml/metadata.rb +0 -10
  692. data/lib/chemicalml/cml/metadata_list.rb +0 -10
  693. data/lib/chemicalml/cml/molecule.rb +0 -10
  694. data/lib/chemicalml/cml/name.rb +0 -10
  695. data/lib/chemicalml/cml/parameter.rb +0 -10
  696. data/lib/chemicalml/cml/parameter_list.rb +0 -10
  697. data/lib/chemicalml/cml/product.rb +0 -10
  698. data/lib/chemicalml/cml/product_list.rb +0 -10
  699. data/lib/chemicalml/cml/property.rb +0 -10
  700. data/lib/chemicalml/cml/property_list.rb +0 -10
  701. data/lib/chemicalml/cml/reactant.rb +0 -10
  702. data/lib/chemicalml/cml/reactant_list.rb +0 -10
  703. data/lib/chemicalml/cml/reaction.rb +0 -10
  704. data/lib/chemicalml/cml/reaction_list.rb +0 -10
  705. data/lib/chemicalml/cml/scalar.rb +0 -10
  706. data/lib/chemicalml/cml/substance.rb +0 -10
  707. data/lib/chemicalml/cml/translator/value_translations.rb +0 -265
  708. data/lib/chemicalml/cml/translator.rb +0 -233
  709. data/lib/chemicalml/cml/unit.rb +0 -10
  710. data/lib/chemicalml/cml/unit_list.rb +0 -10
  711. data/lib/chemicalml/cml/unit_type.rb +0 -10
  712. data/lib/chemicalml/cml/unit_type_list.rb +0 -10
  713. data/lib/chemicalml/cml/wire_class_macro.rb +0 -45
  714. data/lib/chemicalml/model/atom.rb +0 -40
  715. data/lib/chemicalml/model/bond.rb +0 -33
  716. data/lib/chemicalml/model/cml_array.rb +0 -27
  717. data/lib/chemicalml/model/cml_module.rb +0 -45
  718. data/lib/chemicalml/model/document.rb +0 -29
  719. data/lib/chemicalml/model/formula.rb +0 -34
  720. data/lib/chemicalml/model/identifier.rb +0 -21
  721. data/lib/chemicalml/model/label.rb +0 -21
  722. data/lib/chemicalml/model/matrix.rb +0 -29
  723. data/lib/chemicalml/model/metadata.rb +0 -23
  724. data/lib/chemicalml/model/metadata_list.rb +0 -25
  725. data/lib/chemicalml/model/molecule.rb +0 -38
  726. data/lib/chemicalml/model/name.rb +0 -21
  727. data/lib/chemicalml/model/node.rb +0 -45
  728. data/lib/chemicalml/model/parameter.rb +0 -27
  729. data/lib/chemicalml/model/parameter_list.rb +0 -25
  730. data/lib/chemicalml/model/product.rb +0 -21
  731. data/lib/chemicalml/model/product_list.rb +0 -21
  732. data/lib/chemicalml/model/property.rb +0 -28
  733. data/lib/chemicalml/model/property_list.rb +0 -25
  734. data/lib/chemicalml/model/reactant.rb +0 -21
  735. data/lib/chemicalml/model/reactant_list.rb +0 -21
  736. data/lib/chemicalml/model/reaction.rb +0 -41
  737. data/lib/chemicalml/model/reaction_list.rb +0 -23
  738. data/lib/chemicalml/model/scalar.rb +0 -25
  739. data/lib/chemicalml/model/substance.rb +0 -25
  740. data/lib/chemicalml/model.rb +0 -38
@@ -0,0 +1,155 @@
1
+ # CIF Core Definitions Dictionary
2
+ #
3
+ # Source: http://www.xml-cml.org/dictionary/cif/
4
+ # License: CC-BY-3.0 (http://creativecommons.org/licenses/by/3.0/)
5
+ #
6
+ # Derived from the Crystallographic Information File (CIF) core
7
+ # dictionary. Covers crystallographic concepts referenced from CML
8
+ # crystal elements and properties.
9
+
10
+ ---
11
+ namespace: http://www.xml-cml.org/dictionary/cif/
12
+ prefix: cif
13
+ title: CIF Core Definitions
14
+ description: |
15
+ Crystallographic concepts from the CIF core dictionary, mapped
16
+ to CML dictionary entries. Used with the CML <crystal> element
17
+ and crystallographic properties.
18
+
19
+ entries:
20
+ - id: cell_length_a
21
+ term: Unit Cell Length a
22
+ definition: The length of the unit cell a axis.
23
+ data_type: xsd:double
24
+ unit_type: unitType:length
25
+ units: unit:angstrom
26
+
27
+ - id: cell_length_b
28
+ term: Unit Cell Length b
29
+ definition: The length of the unit cell b axis.
30
+ data_type: xsd:double
31
+ unit_type: unitType:length
32
+ units: unit:angstrom
33
+
34
+ - id: cell_length_c
35
+ term: Unit Cell Length c
36
+ definition: The length of the unit cell c axis.
37
+ data_type: xsd:double
38
+ unit_type: unitType:length
39
+ units: unit:angstrom
40
+
41
+ - id: cell_angle_alpha
42
+ term: Unit Cell Angle Alpha
43
+ definition: The inter-axial angle between the b and c cell axes.
44
+ data_type: xsd:double
45
+ unit_type: unitType:angle
46
+ units: unit:degree
47
+
48
+ - id: cell_angle_beta
49
+ term: Unit Cell Angle Beta
50
+ definition: The inter-axial angle between the a and c cell axes.
51
+ data_type: xsd:double
52
+ unit_type: unitType:angle
53
+ units: unit:degree
54
+
55
+ - id: cell_angle_gamma
56
+ term: Unit Cell Angle Gamma
57
+ definition: The inter-axial angle between the a and b cell axes.
58
+ data_type: xsd:double
59
+ unit_type: unitType:angle
60
+ units: unit:degree
61
+
62
+ - id: cell_volume
63
+ term: Unit Cell Volume
64
+ definition: The volume of the crystallographic unit cell.
65
+ data_type: xsd:double
66
+ unit_type: unitType:volume
67
+ units: unit:angstrom3
68
+
69
+ - id: cell_formula_units
70
+ term: Formula Units Per Cell (Z)
71
+ definition: The number of formula units in the unit cell.
72
+ data_type: xsd:integer
73
+ unit_type: unitType:dimensionless
74
+
75
+ - id: crystal_system
76
+ term: Crystal System
77
+ definition: One of the seven crystal systems (triclinic, monoclinic, orthorhombic, tetragonal, trigonal, hexagonal, cubic).
78
+ data_type: xsd:string
79
+ unit_type: unitType:none
80
+ units: unit:none
81
+ enum:
82
+ kind: closed
83
+ values:
84
+ - triclinic
85
+ - monoclinic
86
+ - orthorhombic
87
+ - tetragonal
88
+ - trigonal
89
+ - hexagonal
90
+ - cubic
91
+
92
+ - id: space_group_name
93
+ term: Space Group Name
94
+ definition: The Hermann-Mauguin symbol for the crystal space group.
95
+ data_type: xsd:string
96
+ unit_type: unitType:none
97
+ units: unit:none
98
+
99
+ - id: space_group_number
100
+ term: Space Group Number
101
+ definition: The International Tables space group number (1-230).
102
+ data_type: xsd:integer
103
+ unit_type: unitType:dimensionless
104
+
105
+ - id: symmetry_equiv_pos
106
+ term: Symmetry Equivalent Position
107
+ definition: A symmetry-equivalent atomic position in fractional coordinates.
108
+ data_type: xsd:string
109
+ unit_type: unitType:none
110
+ units: unit:none
111
+
112
+ - id: atom_site_fract_x
113
+ term: Atom Fractional X
114
+ definition: The x coordinate of an atom in fractional cell units.
115
+ data_type: xsd:double
116
+ unit_type: unitType:dimensionless
117
+
118
+ - id: atom_site_fract_y
119
+ term: Atom Fractional Y
120
+ definition: The y coordinate of an atom in fractional cell units.
121
+ data_type: xsd:double
122
+ unit_type: unitType:dimensionless
123
+
124
+ - id: atom_site_fract_z
125
+ term: Atom Fractional Z
126
+ definition: The z coordinate of an atom in fractional cell units.
127
+ data_type: xsd:double
128
+ unit_type: unitType:dimensionless
129
+
130
+ - id: atom_site_occupancy
131
+ term: Atom Site Occupancy
132
+ definition: The fractional occupancy of an atomic site.
133
+ data_type: xsd:double
134
+ unit_type: unitType:dimensionless
135
+
136
+ - id: atom_site_B_iso
137
+ term: Atom Isotropic B Factor
138
+ definition: The isotropic atomic displacement parameter (B factor).
139
+ data_type: xsd:double
140
+ unit_type: unitType:area
141
+ units: unit:angstrom2
142
+
143
+ - id: diffrn_radiation_wavelength
144
+ term: Radiation Wavelength
145
+ definition: The wavelength of the radiation used in diffraction.
146
+ data_type: xsd:double
147
+ unit_type: unitType:length
148
+ units: unit:angstrom
149
+
150
+ - id: refln_d_resolution
151
+ term: Resolution (d-spacing)
152
+ definition: The highest-resolution d-spacing in the diffraction data.
153
+ data_type: xsd:double
154
+ unit_type: unitType:length
155
+ units: unit:angstrom
@@ -0,0 +1,172 @@
1
+ # CML Fundamental Chemistry Concepts Dictionary
2
+ #
3
+ # Source: http://www.xml-cml.org/dictionary/cml/
4
+ # License: CC-BY-3.0 (http://creativecommons.org/licenses/by/3.0/)
5
+
6
+ ---
7
+ namespace: http://www.xml-cml.org/dictionary/cml/
8
+ prefix: cml
9
+ title: Fundamental Chemistry Concepts
10
+ description: |
11
+ Common chemistry concepts referenced from CML attributes and
12
+ properties. These cover molar mass, boiling/melting points,
13
+ density, and other fundamental physical properties.
14
+
15
+ entries:
16
+ - id: molmass
17
+ term: Molar Mass
18
+ definition: The mass of one mole of a substance.
19
+ data_type: xsd:double
20
+ unit_type: unitType:mass
21
+ units: unit:g
22
+
23
+ - id: bp
24
+ term: Boiling Point
25
+ definition: The temperature at which a substance boils at standard pressure.
26
+ data_type: xsd:double
27
+ unit_type: unitType:temperature
28
+ units: unit:K
29
+
30
+ - id: mp
31
+ term: Melting Point
32
+ definition: The temperature at which a substance melts at standard pressure.
33
+ data_type: xsd:double
34
+ unit_type: unitType:temperature
35
+ units: unit:K
36
+
37
+ - id: density
38
+ term: Density
39
+ definition: Mass per unit volume of a substance.
40
+ data_type: xsd:double
41
+ unit_type: unitType:density
42
+ units: unit:g_cm3
43
+
44
+ - id: refractiveIndex
45
+ term: Refractive Index
46
+ definition: The ratio of the speed of light in a vacuum to that in the substance.
47
+ data_type: xsd:double
48
+ unit_type: unitType:dimensionless
49
+
50
+ - id: solubility
51
+ term: Solubility
52
+ definition: The maximum amount of solute that dissolves in a solvent at a given temperature.
53
+ data_type: xsd:string
54
+ unit_type: unitType:none
55
+ units: unit:none
56
+
57
+ - id: vaporPressure
58
+ term: Vapor Pressure
59
+ definition: The pressure exerted by a vapor in equilibrium with its condensed phases.
60
+ data_type: xsd:double
61
+ unit_type: unitType:pressure
62
+ units: unit:Pa
63
+
64
+ - id: flashPoint
65
+ term: Flash Point
66
+ definition: The lowest temperature at which a liquid gives off enough vapor to ignite.
67
+ data_type: xsd:double
68
+ unit_type: unitType:temperature
69
+ units: unit:K
70
+
71
+ - id: autoignitionTemp
72
+ term: Autoignition Temperature
73
+ definition: The lowest temperature at which a substance spontaneously ignites.
74
+ data_type: xsd:double
75
+ unit_type: unitType:temperature
76
+ units: unit:K
77
+
78
+ - id: pH
79
+ term: pH
80
+ definition: The negative logarithm of the hydrogen ion concentration.
81
+ data_type: xsd:double
82
+ unit_type: unitType:dimensionless
83
+
84
+ - id: viscosity
85
+ term: Viscosity
86
+ definition: A measure of a fluid's resistance to flow.
87
+ data_type: xsd:double
88
+ unit_type: unitType:viscosity
89
+ units: unit:Pa_s
90
+
91
+ - id: surfaceTension
92
+ term: Surface Tension
93
+ definition: The force per unit length acting along the surface of a liquid.
94
+ data_type: xsd:double
95
+ unit_type: unitType:surfaceTension
96
+ units: unit:N_m
97
+
98
+ - id: dipoleMoment
99
+ term: Dipole Moment
100
+ definition: The electric dipole moment of a molecule.
101
+ data_type: xsd:double
102
+ unit_type: unitType:dipoleMoment
103
+ units: unit:D
104
+
105
+ - id: polarizability
106
+ term: Polarizability
107
+ definition: The tendency of a charge distribution to be distorted by an external electric field.
108
+ data_type: xsd:double
109
+ unit_type: unitType:polarizability
110
+ units: unit:A3
111
+
112
+ - id: heatOfFormation
113
+ term: Heat of Formation
114
+ definition: The enthalpy change when one mole of a compound is formed from its elements.
115
+ data_type: xsd:double
116
+ unit_type: unitType:energy
117
+ units: unit:kJ_mol
118
+
119
+ - id: entropy
120
+ term: Entropy
121
+ definition: A measure of the disorder or randomness in a system.
122
+ data_type: xsd:double
123
+ unit_type: unitType:entropy
124
+ units: unit:J_molK
125
+
126
+ - id: freeEnergy
127
+ term: Gibbs Free Energy
128
+ definition: The thermodynamic potential that measures the maximum reversible work.
129
+ data_type: xsd:double
130
+ unit_type: unitType:energy
131
+ units: unit:kJ_mol
132
+
133
+ - id: ionizationEnergy
134
+ term: Ionization Energy
135
+ definition: The energy required to remove an electron from a gaseous atom or ion.
136
+ data_type: xsd:double
137
+ unit_type: unitType:energy
138
+ units: unit:eV
139
+
140
+ - id: electronAffinity
141
+ term: Electron Affinity
142
+ definition: The energy change when an electron is added to a neutral atom.
143
+ data_type: xsd:double
144
+ unit_type: unitType:energy
145
+ units: unit:eV
146
+
147
+ - id: electronegativity
148
+ term: Electronegativity
149
+ definition: A measure of the tendency of an atom to attract bonding electrons.
150
+ data_type: xsd:double
151
+ unit_type: unitType:dimensionless
152
+
153
+ - id: bondEnergy
154
+ term: Bond Energy
155
+ definition: The energy required to break one mole of a specific bond in a substance.
156
+ data_type: xsd:double
157
+ unit_type: unitType:energy
158
+ units: unit:kJ_mol
159
+
160
+ - id: bondLength
161
+ term: Bond Length
162
+ definition: The average distance between nuclei of two bonded atoms.
163
+ data_type: xsd:double
164
+ unit_type: unitType:length
165
+ units: unit:angstrom
166
+
167
+ - id: bondAngle
168
+ term: Bond Angle
169
+ definition: The angle formed between two adjacent bonds at a common atom.
170
+ data_type: xsd:double
171
+ unit_type: unitType:angle
172
+ units: unit:degree
@@ -0,0 +1,63 @@
1
+ # CML Chemical Formula Conventions Dictionary
2
+ #
3
+ # Source: http://www.xml-cml.org/dictionary/cml/formula/
4
+ # License: CC-BY-3.0 (http://creativecommons.org/licenses/by/3.0/)
5
+
6
+ ---
7
+ namespace: http://www.xml-cml.org/dictionary/cml/formula/
8
+ prefix: cmlFormula
9
+ title: Chemical Formula Conventions
10
+ description: |
11
+ Conventions for identifying the formula representation used in
12
+ CML <formula> elements. The dictRef or convention attribute
13
+ on a <formula> points to one of these entries.
14
+
15
+ entries:
16
+ - id: empirical
17
+ term: Empirical Formula
18
+ definition: The simplest whole-number ratio of atoms in a compound.
19
+ data_type: xsd:string
20
+ unit_type: unitType:none
21
+ units: unit:none
22
+
23
+ - id: molecular
24
+ term: Molecular Formula
25
+ definition: The actual number of atoms of each element in a molecule.
26
+ data_type: xsd:string
27
+ unit_type: unitType:none
28
+ units: unit:none
29
+
30
+ - id: structural
31
+ term: Structural Formula
32
+ definition: A formula showing the arrangement of atoms in a molecule.
33
+ data_type: xsd:string
34
+ unit_type: unitType:none
35
+ units: unit:none
36
+
37
+ - id: condensed
38
+ term: Condensed Formula
39
+ definition: A formula written on a single line showing element groups.
40
+ data_type: xsd:string
41
+ unit_type: unitType:none
42
+ units: unit:none
43
+
44
+ - id: hill
45
+ term: Hill System Formula
46
+ definition: A formula following the Hill system ordering convention.
47
+ data_type: xsd:string
48
+ unit_type: unitType:none
49
+ units: unit:none
50
+
51
+ - id: smiles
52
+ term: SMILES Formula
53
+ definition: A formula expressed in SMILES line notation.
54
+ data_type: xsd:string
55
+ unit_type: unitType:none
56
+ units: unit:none
57
+
58
+ - id: latex
59
+ term: LaTeX Formula
60
+ definition: A formula expressed using LaTeX markup.
61
+ data_type: xsd:string
62
+ unit_type: unitType:none
63
+ units: unit:none
@@ -0,0 +1,84 @@
1
+ # CML Chemical Naming Conventions Dictionary
2
+ #
3
+ # Source: http://www.xml-cml.org/dictionary/cml/name/
4
+ # License: CC-BY-3.0 (http://creativecommons.org/licenses/by/3.0/)
5
+
6
+ ---
7
+ namespace: http://www.xml-cml.org/dictionary/cml/name/
8
+ prefix: cmlName
9
+ title: Chemical Naming Conventions
10
+ description: |
11
+ Conventions for identifying the naming scheme used in CML <name>
12
+ elements. The dictRef on a <name> points to one of these entries
13
+ to indicate the naming convention.
14
+
15
+ entries:
16
+ - id: iupac
17
+ term: IUPAC Name
18
+ definition: Systematic name following IUPAC nomenclature rules.
19
+ data_type: xsd:string
20
+ unit_type: unitType:none
21
+ units: unit:none
22
+
23
+ - id: trivial
24
+ term: Trivial Name
25
+ definition: A common or trade name not following systematic nomenclature.
26
+ data_type: xsd:string
27
+ unit_type: unitType:none
28
+ units: unit:none
29
+
30
+ - id: cas
31
+ term: CAS Registry Number
32
+ definition: A unique identifier assigned by the Chemical Abstracts Service.
33
+ data_type: xsd:string
34
+ unit_type: unitType:none
35
+ units: unit:none
36
+
37
+ - id: inchi
38
+ term: InChI
39
+ definition: International Chemical Identifier — a textual identifier for chemical substances.
40
+ data_type: xsd:string
41
+ unit_type: unitType:none
42
+ units: unit:none
43
+
44
+ - id: inchikey
45
+ term: InChIKey
46
+ definition: A hashed version of the InChI for compact storage and searching.
47
+ data_type: xsd:string
48
+ unit_type: unitType:none
49
+ units: unit:none
50
+
51
+ - id: smiles
52
+ term: SMILES
53
+ definition: Simplified Molecular-Input Line-Entry System — a line notation for molecular structures.
54
+ data_type: xsd:string
55
+ unit_type: unitType:none
56
+ units: unit:none
57
+
58
+ - id: pubchem
59
+ term: PubChem CID
60
+ definition: PubChem Compound Identifier.
61
+ data_type: xsd:string
62
+ unit_type: unitType:none
63
+ units: unit:none
64
+
65
+ - id: chemspider
66
+ term: ChemSpider ID
67
+ definition: ChemSpider database identifier.
68
+ data_type: xsd:string
69
+ unit_type: unitType:none
70
+ units: unit:none
71
+
72
+ - id: drugbank
73
+ term: DrugBank ID
74
+ definition: DrugBank database identifier.
75
+ data_type: xsd:string
76
+ unit_type: unitType:none
77
+ units: unit:none
78
+
79
+ - id: chebi
80
+ term: ChEBI ID
81
+ definition: Chemical Entities of Biological Interest database identifier.
82
+ data_type: xsd:string
83
+ unit_type: unitType:none
84
+ units: unit:none
@@ -48,6 +48,36 @@ entries:
48
48
  - id: bar
49
49
  term: bar
50
50
  definition: A unit of pressure equal to 1e5 pascal.
51
+ - id: g_cm3
52
+ term: grams per cubic centimeter
53
+ definition: A unit of density equal to 1 g/cm³.
54
+ - id: Pa_s
55
+ term: pascal-second
56
+ definition: The SI derived unit of dynamic viscosity.
57
+ - id: N_m
58
+ term: newton per meter
59
+ definition: A unit of surface tension.
60
+ - id: D
61
+ term: debye
62
+ definition: A unit of electric dipole moment, equal to ~3.33564e-30 C·m.
63
+ - id: A3
64
+ term: cubic angstrom
65
+ definition: A unit of volume equal to 1e-30 m³.
66
+ - id: kJ_mol
67
+ term: kilojoule per mole
68
+ definition: A unit of molar energy equal to 1000 J/mol.
69
+ - id: J_molK
70
+ term: joule per mole-kelvin
71
+ definition: A unit of molar entropy or molar heat capacity.
72
+ - id: eV
73
+ term: electronvolt
74
+ definition: A unit of energy equal to ~1.602e-19 J.
75
+ - id: angstrom2
76
+ term: square angstrom
77
+ definition: A unit of area equal to 1e-20 m².
78
+ - id: angstrom3
79
+ term: cubic angstrom
80
+ definition: A unit of volume equal to 1e-30 m³.
51
81
  - id: atmosphere
52
82
  term: atmosphere
53
83
  definition: A unit of pressure equal to ~101 325 pascal.
@@ -87,6 +87,18 @@ entries:
87
87
  - id: inductance
88
88
  term: Inductance
89
89
  definition: A measure of the property of an electric conductor to oppose changes in current.
90
+ - id: density
91
+ term: Density
92
+ definition: Mass per unit volume.
93
+ - id: viscosity
94
+ term: Viscosity
95
+ definition: A fluid resistance to gradual deformation by shear stress or tensile stress.
96
+ - id: surfaceTension
97
+ term: Surface Tension
98
+ definition: The force per unit length acting along the surface of a liquid.
99
+ - id: entropy
100
+ term: Entropy
101
+ definition: A thermodynamic quantity representing the unavailability of a system thermal energy.
90
102
  - id: frequency
91
103
  term: Frequency
92
104
  definition: A measure of the number of occurrences of a repeating event per unit time.
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generates all backward-compatible `Chemicalml::Cml::*` aliases
4
+ # pointing at the corresponding `Schema3::*` classes.
5
+ #
6
+ # All 36 aliases are generated in a single file (loaded lazily when
7
+ # the first alias is referenced) rather than 36 individual files.
8
+ # This is DRY without violating the autoload rule: the file loads
9
+ # lazily via autoload, and const_set here ALIASES existing classes
10
+ # (Schema3::Foo already exists) rather than creating new ones.
11
+
12
+ module Chemicalml
13
+ module Cml
14
+ Elements::ALL.each_key do |class_name|
15
+ next if const_defined?(class_name, false)
16
+
17
+ const_set(class_name, Schema3.const_get(class_name))
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module Abundance
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::Abundance
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+
15
+ attribute :min, :string
16
+ attribute :max, :string
17
+ attribute :units, :string
18
+ xml do
19
+ namespace Chemicalml::Cml::Namespace
20
+ root "abundance"
21
+ map_attribute "id", to: :id
22
+ map_attribute "title", to: :title
23
+ map_attribute "dictRef", to: :dict_ref
24
+ map_attribute "convention", to: :convention
25
+ map_attribute "min", to: :min
26
+ map_attribute "max", to: :max
27
+ map_attribute "units", to: :units
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module Action
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::Action
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+ attribute :order, :string
15
+
16
+ attribute :units, :string
17
+ attribute :start, :string
18
+ attribute :start_condition, :string
19
+ attribute :duration, :string
20
+ attribute :end, :string
21
+ attribute :end_condition, :string
22
+ attribute :type, :string
23
+ attribute :action_order, :string
24
+ attribute :count, :string
25
+ attribute :ref, :string
26
+ xml do
27
+ namespace Chemicalml::Cml::Namespace
28
+ root "action"
29
+ map_attribute "id", to: :id
30
+ map_attribute "title", to: :title
31
+ map_attribute "dictRef", to: :dict_ref
32
+ map_attribute "convention", to: :convention
33
+ map_attribute "order", to: :order
34
+ map_attribute "units", to: :units
35
+ map_attribute "start", to: :start
36
+ map_attribute "startCondition", to: :start_condition
37
+ map_attribute "duration", to: :duration
38
+ map_attribute "end", to: :end
39
+ map_attribute "endCondition", to: :end_condition
40
+ map_attribute "type", to: :type
41
+ map_attribute "actionOrder", to: :action_order
42
+ map_attribute "count", to: :count
43
+ map_attribute "ref", to: :ref
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module ActionList
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::ActionList
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+ attribute :order, :string
15
+
16
+ attribute :actions, :action, collection: true
17
+
18
+ attribute :start, :string
19
+ attribute :start_condition, :string
20
+ attribute :duration, :string
21
+ attribute :end, :string
22
+ attribute :end_condition, :string
23
+ attribute :units, :string
24
+ attribute :count, :string
25
+ attribute :type, :string
26
+ attribute :action_order, :string
27
+ xml do
28
+ namespace Chemicalml::Cml::Namespace
29
+ map_element "action", to: :actions
30
+ root "actionList"
31
+ map_attribute "id", to: :id
32
+ map_attribute "title", to: :title
33
+ map_attribute "dictRef", to: :dict_ref
34
+ map_attribute "convention", to: :convention
35
+ map_attribute "order", to: :order
36
+ map_attribute "start", to: :start
37
+ map_attribute "startCondition", to: :start_condition
38
+ map_attribute "duration", to: :duration
39
+ map_attribute "end", to: :end
40
+ map_attribute "endCondition", to: :end_condition
41
+ map_attribute "units", to: :units
42
+ map_attribute "count", to: :count
43
+ map_attribute "type", to: :type
44
+ map_attribute "actionOrder", to: :action_order
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end