chemicalml 0.2.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 (304) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release.yml +7 -1
  3. data/CLAUDE.md +48 -41
  4. data/TODO.align/36-molecular-convention-coverage.md +46 -0
  5. data/TODO.align/37-compchem-convention-coverage.md +55 -0
  6. data/TODO.align/38-dictionary-convention-coverage.md +34 -0
  7. data/TODO.align/39-unit-dictionary-convention-coverage.md +33 -0
  8. data/TODO.align/40-unit-type-dictionary-convention-coverage.md +28 -0
  9. data/TODO.align/41-expand-canonical-model-layer.md +43 -0
  10. data/TODO.align/42-translator-wire-new-models.md +31 -0
  11. data/TODO.align/43-dictionary-model-no-to-h.md +39 -0
  12. data/TODO.align/44-schema3-only-and-schema24-module.md +44 -0
  13. data/TODO.align/45-documentation-and-final-verification.md +23 -0
  14. data/TODO.align/46-lattice-vector-content.md +24 -0
  15. data/TODO.align/47-molecule-crystal-spectra-property-lists.md +23 -0
  16. data/TODO.align/48-model-list-and-module-lists.md +21 -0
  17. data/TODO.align/49-more-chemistry-models.md +34 -0
  18. data/TODO.align/50-validation-report.md +29 -0
  19. data/TODO.align/51-convention-auto-detection.md +30 -0
  20. data/TODO.align/52-schema24-legacy-elements.md +28 -0
  21. data/TODO.align/53-round-trip-integration-specs.md +30 -0
  22. data/TODO.align/54-document-versioned-parser-shim.md +38 -0
  23. data/TODO.align/55-molecule-missing-attributes.md +20 -0
  24. data/TODO.align/56-geometry-models.md +24 -0
  25. data/TODO.align/57-compchem-models.md +26 -0
  26. data/TODO.align/58-remaining-models.md +24 -0
  27. data/TODO.align/59-wire-new-models-translator.md +18 -0
  28. data/TODO.align/60-docs-and-final-verification.md +19 -0
  29. data/lib/chemicalml/cml/base/abundance.rb +6 -0
  30. data/lib/chemicalml/cml/base/action.rb +20 -0
  31. data/lib/chemicalml/cml/base/action_list.rb +18 -0
  32. data/lib/chemicalml/cml/base/alternative.rb +28 -0
  33. data/lib/chemicalml/cml/base/amount.rb +2 -0
  34. data/lib/chemicalml/cml/base/angle.rb +12 -0
  35. data/lib/chemicalml/cml/base/annotation.rb +30 -0
  36. data/lib/chemicalml/cml/base/appinfo.rb +32 -0
  37. data/lib/chemicalml/cml/base/arg.rb +46 -0
  38. data/lib/chemicalml/cml/base/array.rb +22 -0
  39. data/lib/chemicalml/cml/base/array_list.rb +2 -0
  40. data/lib/chemicalml/cml/base/atom.rb +18 -0
  41. data/lib/chemicalml/cml/base/atom_array.rb +38 -0
  42. data/lib/chemicalml/cml/base/atom_parity.rb +8 -0
  43. data/lib/chemicalml/cml/base/atom_set.rb +2 -0
  44. data/lib/chemicalml/cml/base/atom_type.rb +4 -0
  45. data/lib/chemicalml/cml/base/atom_type_list.rb +2 -0
  46. data/lib/chemicalml/cml/base/atomic_basis_function.rb +4 -0
  47. data/lib/chemicalml/cml/base/band.rb +2 -0
  48. data/lib/chemicalml/cml/base/basis_set.rb +4 -0
  49. data/lib/chemicalml/cml/base/bond.rb +6 -0
  50. data/lib/chemicalml/cml/base/bond_array.rb +16 -0
  51. data/lib/chemicalml/cml/base/bond_set.rb +2 -0
  52. data/lib/chemicalml/cml/base/bond_stereo.rb +10 -0
  53. data/lib/chemicalml/cml/base/bond_type.rb +2 -0
  54. data/lib/chemicalml/cml/base/bond_type_list.rb +2 -0
  55. data/lib/chemicalml/cml/base/cell_parameter.rb +4 -0
  56. data/lib/chemicalml/cml/base/complex_object.rb +30 -0
  57. data/lib/chemicalml/cml/base/condition_list.rb +4 -0
  58. data/lib/chemicalml/cml/base/crystal.rb +2 -0
  59. data/lib/chemicalml/cml/base/description.rb +2 -0
  60. data/lib/chemicalml/cml/base/dictionary.rb +6 -0
  61. data/lib/chemicalml/cml/base/dimension.rb +10 -0
  62. data/lib/chemicalml/cml/base/eigen.rb +2 -0
  63. data/lib/chemicalml/cml/base/electron.rb +6 -0
  64. data/lib/chemicalml/cml/base/enumeration.rb +32 -0
  65. data/lib/chemicalml/cml/base/expression.rb +32 -0
  66. data/lib/chemicalml/cml/base/float.rb +40 -0
  67. data/lib/chemicalml/cml/base/float_array.rb +42 -0
  68. data/lib/chemicalml/cml/base/fragment.rb +6 -0
  69. data/lib/chemicalml/cml/base/fragment_list.rb +4 -0
  70. data/lib/chemicalml/cml/base/identifier.rb +8 -0
  71. data/lib/chemicalml/cml/base/integer.rb +40 -0
  72. data/lib/chemicalml/cml/base/integer_array.rb +42 -0
  73. data/lib/chemicalml/cml/base/isotope.rb +2 -0
  74. data/lib/chemicalml/cml/base/isotope_list.rb +2 -0
  75. data/lib/chemicalml/cml/base/join.rb +6 -0
  76. data/lib/chemicalml/cml/base/kpoint.rb +2 -0
  77. data/lib/chemicalml/cml/base/label.rb +2 -0
  78. data/lib/chemicalml/cml/base/lattice.rb +2 -0
  79. data/lib/chemicalml/cml/base/lattice_vector.rb +2 -0
  80. data/lib/chemicalml/cml/base/length.rb +10 -0
  81. data/lib/chemicalml/cml/base/line3.rb +6 -0
  82. data/lib/chemicalml/cml/base/link.rb +20 -0
  83. data/lib/chemicalml/cml/base/list.rb +2 -0
  84. data/lib/chemicalml/cml/base/map.rb +12 -0
  85. data/lib/chemicalml/cml/base/matrix.rb +12 -0
  86. data/lib/chemicalml/cml/base/metadata.rb +4 -0
  87. data/lib/chemicalml/cml/base/metadata_list.rb +6 -0
  88. data/lib/chemicalml/cml/base/molecule.rb +10 -0
  89. data/lib/chemicalml/cml/base/molecule_list.rb +2 -0
  90. data/lib/chemicalml/cml/base/name.rb +2 -0
  91. data/lib/chemicalml/cml/base/object.rb +4 -0
  92. data/lib/chemicalml/cml/base/observation.rb +4 -0
  93. data/lib/chemicalml/cml/base/operator.rb +32 -0
  94. data/lib/chemicalml/cml/base/parameter.rb +10 -0
  95. data/lib/chemicalml/cml/base/parameter_list.rb +6 -0
  96. data/lib/chemicalml/cml/base/particle.rb +6 -0
  97. data/lib/chemicalml/cml/base/peak.rb +30 -0
  98. data/lib/chemicalml/cml/base/peak_group.rb +38 -0
  99. data/lib/chemicalml/cml/base/peak_list.rb +2 -0
  100. data/lib/chemicalml/cml/base/peak_structure.rb +14 -0
  101. data/lib/chemicalml/cml/base/plane3.rb +2 -0
  102. data/lib/chemicalml/cml/base/point3.rb +2 -0
  103. data/lib/chemicalml/cml/base/potential_form.rb +2 -0
  104. data/lib/chemicalml/cml/base/product.rb +16 -0
  105. data/lib/chemicalml/cml/base/product_list.rb +14 -0
  106. data/lib/chemicalml/cml/base/property.rb +6 -0
  107. data/lib/chemicalml/cml/base/property_list.rb +6 -0
  108. data/lib/chemicalml/cml/base/reactant.rb +16 -0
  109. data/lib/chemicalml/cml/base/reactant_list.rb +14 -0
  110. data/lib/chemicalml/cml/base/reaction.rb +16 -0
  111. data/lib/chemicalml/cml/base/reaction_list.rb +12 -0
  112. data/lib/chemicalml/cml/base/reaction_scheme.rb +10 -0
  113. data/lib/chemicalml/cml/base/reaction_step.rb +6 -0
  114. data/lib/chemicalml/cml/base/reaction_step_list.rb +8 -0
  115. data/lib/chemicalml/cml/base/region.rb +8 -0
  116. data/lib/chemicalml/cml/base/related_entry.rb +26 -0
  117. data/lib/chemicalml/cml/base/sample.rb +4 -0
  118. data/lib/chemicalml/cml/base/scalar.rb +18 -0
  119. data/lib/chemicalml/cml/base/spectator.rb +2 -0
  120. data/lib/chemicalml/cml/base/spectrum.rb +12 -0
  121. data/lib/chemicalml/cml/base/spectrum_data.rb +2 -0
  122. data/lib/chemicalml/cml/base/spectrum_list.rb +4 -0
  123. data/lib/chemicalml/cml/base/sphere3.rb +2 -0
  124. data/lib/chemicalml/cml/base/string.rb +32 -0
  125. data/lib/chemicalml/cml/base/string_array.rb +40 -0
  126. data/lib/chemicalml/cml/base/substance.rb +12 -0
  127. data/lib/chemicalml/cml/base/substance_list.rb +6 -0
  128. data/lib/chemicalml/cml/base/symmetry.rb +4 -0
  129. data/lib/chemicalml/cml/base/system.rb +4 -0
  130. data/lib/chemicalml/cml/base/table.rb +10 -0
  131. data/lib/chemicalml/cml/base/table_content.rb +2 -0
  132. data/lib/chemicalml/cml/base/table_header_cell.rb +10 -0
  133. data/lib/chemicalml/cml/base/tcell.rb +34 -0
  134. data/lib/chemicalml/cml/base/torsion.rb +12 -0
  135. data/lib/chemicalml/cml/base/trow.rb +32 -0
  136. data/lib/chemicalml/cml/base/unit.rb +12 -0
  137. data/lib/chemicalml/cml/base/unit_list.rb +12 -0
  138. data/lib/chemicalml/cml/base/unit_type.rb +10 -0
  139. data/lib/chemicalml/cml/base/unit_type_list.rb +10 -0
  140. data/lib/chemicalml/cml/base/vector3.rb +2 -0
  141. data/lib/chemicalml/cml/base/xaxis.rb +6 -0
  142. data/lib/chemicalml/cml/base/yaxis.rb +6 -0
  143. data/lib/chemicalml/cml/base.rb +17 -0
  144. data/lib/chemicalml/cml/elements.rb +39 -4
  145. data/lib/chemicalml/cml/role/alternative.rb +10 -0
  146. data/lib/chemicalml/cml/role/annotation.rb +10 -0
  147. data/lib/chemicalml/cml/role/appinfo.rb +10 -0
  148. data/lib/chemicalml/cml/role/arg.rb +10 -0
  149. data/lib/chemicalml/cml/role/cml_module.rb +2 -3
  150. data/lib/chemicalml/cml/role/complex_object.rb +10 -0
  151. data/lib/chemicalml/cml/role/enumeration.rb +10 -0
  152. data/lib/chemicalml/cml/role/expression.rb +10 -0
  153. data/lib/chemicalml/cml/role/float.rb +10 -0
  154. data/lib/chemicalml/cml/role/float_array.rb +10 -0
  155. data/lib/chemicalml/cml/role/integer.rb +10 -0
  156. data/lib/chemicalml/cml/role/integer_array.rb +10 -0
  157. data/lib/chemicalml/cml/role/operator.rb +10 -0
  158. data/lib/chemicalml/cml/role/related_entry.rb +10 -0
  159. data/lib/chemicalml/cml/role/string.rb +10 -0
  160. data/lib/chemicalml/cml/role/string_array.rb +10 -0
  161. data/lib/chemicalml/cml/role/tcell.rb +10 -0
  162. data/lib/chemicalml/cml/role/trow.rb +10 -0
  163. data/lib/chemicalml/cml/role.rb +17 -0
  164. data/lib/chemicalml/cml/schema24/alternative.rb +14 -0
  165. data/lib/chemicalml/cml/schema24/annotation.rb +15 -0
  166. data/lib/chemicalml/cml/schema24/appinfo.rb +15 -0
  167. data/lib/chemicalml/cml/schema24/arg.rb +14 -0
  168. data/lib/chemicalml/cml/schema24/cml_module.rb +18 -0
  169. data/lib/chemicalml/cml/schema24/complex_object.rb +14 -0
  170. data/lib/chemicalml/cml/schema24/configuration.rb +5 -2
  171. data/lib/chemicalml/cml/schema24/enumeration.rb +16 -0
  172. data/lib/chemicalml/cml/schema24/expression.rb +14 -0
  173. data/lib/chemicalml/cml/schema24/float.rb +14 -0
  174. data/lib/chemicalml/cml/schema24/float_array.rb +14 -0
  175. data/lib/chemicalml/cml/schema24/integer.rb +14 -0
  176. data/lib/chemicalml/cml/schema24/integer_array.rb +14 -0
  177. data/lib/chemicalml/cml/schema24/operator.rb +14 -0
  178. data/lib/chemicalml/cml/schema24/related_entry.rb +14 -0
  179. data/lib/chemicalml/cml/schema24/string.rb +14 -0
  180. data/lib/chemicalml/cml/schema24/string_array.rb +14 -0
  181. data/lib/chemicalml/cml/schema24/tcell.rb +14 -0
  182. data/lib/chemicalml/cml/schema24/trow.rb +14 -0
  183. data/lib/chemicalml/cml/schema24.rb +33 -5
  184. data/lib/chemicalml/cml.rb +1 -3
  185. data/lib/chemicalml/context_configuration.rb +8 -2
  186. data/lib/chemicalml/convention/base.rb +17 -3
  187. data/lib/chemicalml/convention/compchem/constraints/array_rules.rb +44 -0
  188. data/lib/chemicalml/convention/compchem/constraints/calculation_requires_finalization.rb +28 -0
  189. data/lib/chemicalml/convention/compchem/constraints/compchem_module_must_contain_job_list.rb +4 -4
  190. data/lib/chemicalml/convention/compchem/constraints/environment_at_most_one_property_list.rb +26 -0
  191. data/lib/chemicalml/convention/compchem/constraints/environment_must_not_contain_parameter.rb +28 -0
  192. data/lib/chemicalml/convention/compchem/constraints/finalization_at_most_one_molecule.rb +26 -0
  193. data/lib/chemicalml/convention/compchem/constraints/finalization_at_most_one_property_list.rb +26 -0
  194. data/lib/chemicalml/convention/compchem/constraints/finalization_must_not_contain_parameter.rb +27 -0
  195. data/lib/chemicalml/convention/compchem/constraints/initialization_at_most_one_molecule.rb +26 -0
  196. data/lib/chemicalml/convention/compchem/constraints/initialization_at_most_one_parameter_list.rb +26 -0
  197. data/lib/chemicalml/convention/compchem/constraints/initialization_must_not_contain_property.rb +28 -0
  198. data/lib/chemicalml/convention/compchem/constraints/job_list_module_must_have_id.rb +24 -0
  199. data/lib/chemicalml/convention/compchem/constraints/job_module_at_most_one_environment.rb +25 -0
  200. data/lib/chemicalml/convention/compchem/constraints/job_module_at_most_one_finalization.rb +25 -0
  201. data/lib/chemicalml/convention/compchem/constraints/job_module_must_have_id.rb +24 -0
  202. data/lib/chemicalml/convention/compchem/constraints/job_must_contain_initialization.rb +6 -9
  203. data/lib/chemicalml/convention/compchem/constraints/matrix_rules.rb +48 -0
  204. data/lib/chemicalml/convention/compchem/constraints/module_predicates.rb +50 -0
  205. data/lib/chemicalml/convention/compchem/constraints/scalar_units.rb +42 -0
  206. data/lib/chemicalml/convention/compchem/constraints.rb +36 -2
  207. data/lib/chemicalml/convention/compchem.rb +16 -0
  208. data/lib/chemicalml/convention/constraint.rb +31 -18
  209. data/lib/chemicalml/convention/coordinator.rb +89 -0
  210. data/lib/chemicalml/convention/detection.rb +33 -0
  211. data/lib/chemicalml/convention/dictionary/constraints/dictionary_must_have_namespace.rb +28 -0
  212. data/lib/chemicalml/convention/dictionary/constraints/dictionary_namespace_should_end_with_slash_or_hash.rb +32 -0
  213. data/lib/chemicalml/convention/dictionary/constraints/entry_id_must_match_pattern.rb +33 -0
  214. data/lib/chemicalml/convention/dictionary/constraints/entry_ids_unique_within_dictionary.rb +3 -3
  215. data/lib/chemicalml/convention/dictionary/constraints/entry_must_contain_definition.rb +28 -0
  216. data/lib/chemicalml/convention/dictionary/constraints/entry_must_have_id_and_term.rb +5 -5
  217. data/lib/chemicalml/convention/dictionary/constraints/entry_must_have_unit_type.rb +30 -0
  218. data/lib/chemicalml/convention/dictionary/constraints/entry_units_co_constraints.rb +44 -0
  219. data/lib/chemicalml/convention/dictionary/constraints.rb +12 -0
  220. data/lib/chemicalml/convention/dictionary.rb +6 -0
  221. data/lib/chemicalml/convention/molecular/constraints/atom_array_must_be_child_of_molecule_or_formula.rb +40 -0
  222. data/lib/chemicalml/convention/molecular/constraints/atom_array_must_contain_atoms.rb +3 -3
  223. data/lib/chemicalml/convention/molecular/constraints/atom_coordinates_must_be_paired.rb +5 -5
  224. data/lib/chemicalml/convention/molecular/constraints/atom_id_must_match_pattern.rb +4 -4
  225. data/lib/chemicalml/convention/molecular/constraints/atom_ids_unique_within_molecule.rb +2 -2
  226. data/lib/chemicalml/convention/molecular/constraints/atom_must_have_element_type.rb +3 -3
  227. data/lib/chemicalml/convention/molecular/constraints/atom_must_have_id.rb +3 -3
  228. data/lib/chemicalml/convention/molecular/constraints/bond_array_must_be_child_of_molecule.rb +36 -0
  229. data/lib/chemicalml/convention/molecular/constraints/bond_ids_unique_within_molecule.rb +43 -0
  230. data/lib/chemicalml/convention/molecular/constraints/bond_must_have_atom_refs2.rb +3 -3
  231. data/lib/chemicalml/convention/molecular/constraints/bond_must_have_order.rb +3 -3
  232. data/lib/chemicalml/convention/molecular/constraints/bond_must_reference_atoms_in_same_molecule.rb +3 -3
  233. data/lib/chemicalml/convention/molecular/constraints/bond_order_other_must_have_dict_ref.rb +33 -0
  234. data/lib/chemicalml/convention/molecular/constraints/bond_order_should_not_be_numeric.rb +2 -2
  235. data/lib/chemicalml/convention/molecular/constraints/bond_stereo_cis_trans_must_have_atom_refs4.rb +45 -0
  236. data/lib/chemicalml/convention/molecular/constraints/bond_stereo_other_must_have_dict_ref.rb +32 -0
  237. data/lib/chemicalml/convention/molecular/constraints/bond_stereo_wedge_hash_must_have_atom_refs2.rb +45 -0
  238. data/lib/chemicalml/convention/molecular/constraints/molecule_atom_array_mutually_exclusive_with_children.rb +32 -0
  239. data/lib/chemicalml/convention/molecular/constraints/molecule_bond_array_mutually_exclusive_with_children.rb +31 -0
  240. data/lib/chemicalml/convention/molecular/constraints/molecule_count_must_not_appear_on_top_level.rb +34 -0
  241. data/lib/chemicalml/convention/molecular/constraints/molecule_must_have_id.rb +3 -3
  242. data/lib/chemicalml/convention/molecular/constraints/property_must_have_dict_ref.rb +3 -3
  243. data/lib/chemicalml/convention/molecular/constraints/scalar_must_have_data_type.rb +3 -3
  244. data/lib/chemicalml/convention/molecular/constraints.rb +20 -0
  245. data/lib/chemicalml/convention/molecular.rb +10 -0
  246. data/lib/chemicalml/convention/registry.rb +17 -0
  247. data/lib/chemicalml/convention/unit_dictionary/constraints/unit_list_must_contain_at_least_one_unit.rb +28 -0
  248. data/lib/chemicalml/convention/unit_dictionary/constraints/unit_list_must_have_namespace.rb +36 -0
  249. data/lib/chemicalml/convention/unit_dictionary/constraints/unit_must_contain_definition.rb +27 -0
  250. data/lib/chemicalml/convention/unit_dictionary/constraints/unit_must_have_id.rb +27 -0
  251. data/lib/chemicalml/convention/unit_dictionary/constraints/unit_must_have_symbol_and_unit_type.rb +3 -3
  252. data/lib/chemicalml/convention/unit_dictionary/constraints.rb +9 -1
  253. data/lib/chemicalml/convention/unit_dictionary.rb +4 -0
  254. data/lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_id_must_match_pattern.rb +31 -0
  255. data/lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_list_must_contain_at_least_one_unit_type.rb +27 -0
  256. data/lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_list_must_have_namespace.rb +35 -0
  257. data/lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_must_contain_definition.rb +27 -0
  258. data/lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_must_have_id_and_name.rb +5 -5
  259. data/lib/chemicalml/convention/unit_type_dictionary/constraints.rb +9 -1
  260. data/lib/chemicalml/convention/unit_type_dictionary.rb +4 -0
  261. data/lib/chemicalml/convention/validation_report.rb +63 -0
  262. data/lib/chemicalml/convention.rb +11 -0
  263. data/lib/chemicalml/dictionary/entry.rb +6 -6
  264. data/lib/chemicalml/dictionary/enum.rb +1 -1
  265. data/lib/chemicalml/dictionary/link.rb +3 -3
  266. data/lib/chemicalml/dictionary/loader.rb +19 -19
  267. data/lib/chemicalml/dictionary/model.rb +5 -5
  268. data/lib/chemicalml/dictionary/registry.rb +9 -9
  269. data/lib/chemicalml/version.rb +1 -1
  270. data/lib/chemicalml/versioned_parser.rb +18 -0
  271. data/lib/chemicalml.rb +1 -2
  272. metadata +123 -34
  273. data/lib/chemicalml/cml/child_mappings.rb +0 -168
  274. data/lib/chemicalml/cml/translator/value_translations.rb +0 -270
  275. data/lib/chemicalml/cml/translator.rb +0 -484
  276. data/lib/chemicalml/model/atom.rb +0 -64
  277. data/lib/chemicalml/model/atom_parity.rb +0 -21
  278. data/lib/chemicalml/model/bond.rb +0 -39
  279. data/lib/chemicalml/model/bond_stereo.rb +0 -29
  280. data/lib/chemicalml/model/cml_array.rb +0 -27
  281. data/lib/chemicalml/model/cml_module.rb +0 -45
  282. data/lib/chemicalml/model/document.rb +0 -29
  283. data/lib/chemicalml/model/formula.rb +0 -34
  284. data/lib/chemicalml/model/identifier.rb +0 -21
  285. data/lib/chemicalml/model/label.rb +0 -21
  286. data/lib/chemicalml/model/matrix.rb +0 -29
  287. data/lib/chemicalml/model/metadata.rb +0 -23
  288. data/lib/chemicalml/model/metadata_list.rb +0 -25
  289. data/lib/chemicalml/model/molecule.rb +0 -45
  290. data/lib/chemicalml/model/name.rb +0 -21
  291. data/lib/chemicalml/model/node.rb +0 -45
  292. data/lib/chemicalml/model/parameter.rb +0 -27
  293. data/lib/chemicalml/model/parameter_list.rb +0 -25
  294. data/lib/chemicalml/model/product.rb +0 -21
  295. data/lib/chemicalml/model/product_list.rb +0 -21
  296. data/lib/chemicalml/model/property.rb +0 -28
  297. data/lib/chemicalml/model/property_list.rb +0 -25
  298. data/lib/chemicalml/model/reactant.rb +0 -21
  299. data/lib/chemicalml/model/reactant_list.rb +0 -21
  300. data/lib/chemicalml/model/reaction.rb +0 -41
  301. data/lib/chemicalml/model/reaction_list.rb +0 -23
  302. data/lib/chemicalml/model/scalar.rb +0 -25
  303. data/lib/chemicalml/model/substance.rb +0 -25
  304. data/lib/chemicalml/model.rb +0 -40
@@ -11,12 +11,20 @@ module Chemicalml
11
11
  attribute :convention, :string
12
12
  attribute :dict_ref, :string
13
13
 
14
+ attribute :version, :string
15
+ attribute :title, :string
16
+ attribute :id, :string
17
+ attribute :tautomeric, :string
14
18
  xml do
15
19
  namespace Chemicalml::Cml::Namespace
16
20
  root "identifier"
17
21
  map_attribute "value", to: :value
18
22
  map_attribute "convention", to: :convention
19
23
  map_attribute "dictRef", to: :dict_ref
24
+ map_attribute "version", to: :version
25
+ map_attribute "title", to: :title
26
+ map_attribute "id", to: :id
27
+ map_attribute "tautomeric", to: :tautomeric
20
28
  end
21
29
  end
22
30
  end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module Integer
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::Integer
10
+ attribute :builtin, :string
11
+ attribute :convention, :string
12
+ attribute :dict_ref, :string
13
+ attribute :id, :string
14
+ attribute :title, :string
15
+ attribute :min, :string
16
+ attribute :max, :string
17
+ attribute :units, :string
18
+ attribute :units_ref, :string
19
+ attribute :content, :string
20
+
21
+ xml do
22
+ namespace Chemicalml::Cml::Namespace
23
+ root "integer"
24
+ map_attribute "builtin", to: :builtin
25
+ map_attribute "convention", to: :convention
26
+ map_attribute "dictRef", to: :dict_ref
27
+ map_attribute "id", to: :id
28
+ map_attribute "title", to: :title
29
+ map_attribute "min", to: :min
30
+ map_attribute "max", to: :max
31
+ map_attribute "units", to: :units
32
+ map_attribute "unitsRef", to: :units_ref
33
+ map_content to: :content
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module IntegerArray
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::IntegerArray
10
+ attribute :builtin, :string
11
+ attribute :convention, :string
12
+ attribute :dict_ref, :string
13
+ attribute :id, :string
14
+ attribute :title, :string
15
+ attribute :min, :string
16
+ attribute :max, :string
17
+ attribute :size, :string
18
+ attribute :units, :string
19
+ attribute :units_ref, :string
20
+ attribute :content, :string
21
+
22
+ xml do
23
+ namespace Chemicalml::Cml::Namespace
24
+ root "integerArray"
25
+ map_attribute "builtin", to: :builtin
26
+ map_attribute "convention", to: :convention
27
+ map_attribute "dictRef", to: :dict_ref
28
+ map_attribute "id", to: :id
29
+ map_attribute "title", to: :title
30
+ map_attribute "min", to: :min
31
+ map_attribute "max", to: :max
32
+ map_attribute "size", to: :size
33
+ map_attribute "units", to: :units
34
+ map_attribute "unitsRef", to: :units_ref
35
+ map_content to: :content
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -15,6 +15,7 @@ module Chemicalml
15
15
  attribute :elementType, :string
16
16
  attribute :spinMultiplicity, :string
17
17
 
18
+ attribute :ref, :string
18
19
  xml do
19
20
  namespace Chemicalml::Cml::Namespace
20
21
  root "isotope"
@@ -25,6 +26,7 @@ module Chemicalml
25
26
  map_attribute "number", to: :number
26
27
  map_attribute "elementType", to: :elementType
27
28
  map_attribute "spinMultiplicity", to: :spinMultiplicity
29
+ map_attribute "ref", to: :ref
28
30
  end
29
31
  end
30
32
  end
@@ -14,6 +14,7 @@ module Chemicalml
14
14
 
15
15
  attribute :isotopes, :isotope, collection: true
16
16
 
17
+ attribute :ref, :string
17
18
  xml do
18
19
  namespace Chemicalml::Cml::Namespace
19
20
  map_element "isotope", to: :isotopes
@@ -22,6 +23,7 @@ module Chemicalml
22
23
  map_attribute "title", to: :title
23
24
  map_attribute "dictRef", to: :dict_ref
24
25
  map_attribute "convention", to: :convention
26
+ map_attribute "ref", to: :ref
25
27
  end
26
28
  end
27
29
  end
@@ -13,6 +13,9 @@ module Chemicalml
13
13
  attribute :convention, :string
14
14
  attribute :atomRefs2, :string
15
15
 
16
+ attribute :ref, :string
17
+ attribute :molecule_refs2, :string
18
+ attribute :order, :string
16
19
  xml do
17
20
  namespace Chemicalml::Cml::Namespace
18
21
  root "join"
@@ -21,6 +24,9 @@ module Chemicalml
21
24
  map_attribute "dictRef", to: :dict_ref
22
25
  map_attribute "convention", to: :convention
23
26
  map_attribute "atomRefs2", to: :atomRefs2
27
+ map_attribute "ref", to: :ref
28
+ map_attribute "moleculeRefs2", to: :molecule_refs2
29
+ map_attribute "order", to: :order
24
30
  end
25
31
  end
26
32
  end
@@ -14,6 +14,7 @@ module Chemicalml
14
14
  attribute :weight, :string
15
15
  attribute :content, :string
16
16
 
17
+ attribute :label, :string
17
18
  xml do
18
19
  namespace Chemicalml::Cml::Namespace
19
20
  root "kpoint"
@@ -23,6 +24,7 @@ module Chemicalml
23
24
  map_attribute "convention", to: :convention
24
25
  map_attribute "weight", to: :weight
25
26
  map_content to: :content
27
+ map_attribute "label", to: :label
26
28
  end
27
29
  end
28
30
  end
@@ -12,6 +12,7 @@ module Chemicalml
12
12
  attribute :dict_ref, :string
13
13
  attribute :convention, :string
14
14
 
15
+ attribute :object_class, :string
15
16
  xml do
16
17
  namespace Chemicalml::Cml::Namespace
17
18
  root "label"
@@ -19,6 +20,7 @@ module Chemicalml
19
20
  map_attribute "value", to: :value
20
21
  map_attribute "dictRef", to: :dict_ref
21
22
  map_attribute "convention", to: :convention
23
+ map_attribute "objectClass", to: :object_class
22
24
  end
23
25
  end
24
26
  end
@@ -16,6 +16,7 @@ module Chemicalml
16
16
 
17
17
  attribute :lattice_vectors, :latticeVector, collection: true
18
18
 
19
+ attribute :space_type, :string
19
20
  xml do
20
21
  namespace Chemicalml::Cml::Namespace
21
22
  map_element "latticeVector", to: :lattice_vectors
@@ -26,6 +27,7 @@ module Chemicalml
26
27
  map_attribute "convention", to: :convention
27
28
  map_attribute "latticeType", to: :latticeType
28
29
  map_attribute "units", to: :units
30
+ map_attribute "spaceType", to: :space_type
29
31
  end
30
32
  end
31
33
  end
@@ -13,6 +13,7 @@ module Chemicalml
13
13
  attribute :convention, :string
14
14
  attribute :units, :string
15
15
 
16
+ attribute :periodic, :string
16
17
  xml do
17
18
  namespace Chemicalml::Cml::Namespace
18
19
  root "latticeVector"
@@ -21,6 +22,7 @@ module Chemicalml
21
22
  map_attribute "dictRef", to: :dict_ref
22
23
  map_attribute "convention", to: :convention
23
24
  map_attribute "units", to: :units
25
+ map_attribute "periodic", to: :periodic
24
26
  end
25
27
  end
26
28
  end
@@ -14,6 +14,11 @@ module Chemicalml
14
14
  attribute :atomRefs2, :string
15
15
  attribute :units, :string
16
16
 
17
+ attribute :error_value, :string
18
+ attribute :error_basis, :string
19
+ attribute :min, :string
20
+ attribute :max, :string
21
+ attribute :ref, :string
17
22
  xml do
18
23
  namespace Chemicalml::Cml::Namespace
19
24
  root "length"
@@ -23,6 +28,11 @@ module Chemicalml
23
28
  map_attribute "convention", to: :convention
24
29
  map_attribute "atomRefs2", to: :atomRefs2
25
30
  map_attribute "units", to: :units
31
+ map_attribute "errorValue", to: :error_value
32
+ map_attribute "errorBasis", to: :error_basis
33
+ map_attribute "min", to: :min
34
+ map_attribute "max", to: :max
35
+ map_attribute "ref", to: :ref
26
36
  end
27
37
  end
28
38
  end
@@ -13,6 +13,9 @@ module Chemicalml
13
13
  attribute :convention, :string
14
14
  attribute :content, :string
15
15
 
16
+ attribute :units, :string
17
+ attribute :point3, :string
18
+ attribute :vector3, :string
16
19
  xml do
17
20
  namespace Chemicalml::Cml::Namespace
18
21
  root "line3"
@@ -21,6 +24,9 @@ module Chemicalml
21
24
  map_attribute "dictRef", to: :dict_ref
22
25
  map_attribute "convention", to: :convention
23
26
  map_content to: :content
27
+ map_attribute "units", to: :units
28
+ map_attribute "point3", to: :point3
29
+ map_attribute "vector3", to: :vector3
24
30
  end
25
31
  end
26
32
  end
@@ -17,6 +17,16 @@ module Chemicalml
17
17
  attribute :type, :string
18
18
  attribute :role, :string
19
19
 
20
+ attribute :from, :string
21
+ attribute :to, :string
22
+ attribute :ref, :string
23
+ attribute :from_type, :string
24
+ attribute :to_type, :string
25
+ attribute :from_set, :string
26
+ attribute :to_set, :string
27
+ attribute :from_context, :string
28
+ attribute :to_context, :string
29
+ attribute :link_type, :string
20
30
  xml do
21
31
  namespace Chemicalml::Cml::Namespace
22
32
  root "link"
@@ -29,6 +39,16 @@ module Chemicalml
29
39
  map_attribute "title", to: :title
30
40
  map_attribute "type", to: :type
31
41
  map_attribute "role", to: :role
42
+ map_attribute "from", to: :from
43
+ map_attribute "to", to: :to
44
+ map_attribute "ref", to: :ref
45
+ map_attribute "fromType", to: :from_type
46
+ map_attribute "toType", to: :to_type
47
+ map_attribute "fromSet", to: :from_set
48
+ map_attribute "toSet", to: :to_set
49
+ map_attribute "fromContext", to: :from_context
50
+ map_attribute "toContext", to: :to_context
51
+ map_attribute "linkType", to: :link_type
32
52
  end
33
53
  end
34
54
  end
@@ -16,6 +16,7 @@ module Chemicalml
16
16
  attribute :matrices, :matrix, collection: true
17
17
  attribute :lists, :list, collection: true
18
18
 
19
+ attribute :type, :string
19
20
  xml do
20
21
  namespace Chemicalml::Cml::Namespace
21
22
  root "list"
@@ -27,6 +28,7 @@ module Chemicalml
27
28
  map_element "array", to: :arrays
28
29
  map_element "matrix", to: :matrices
29
30
  map_element "list", to: :lists
31
+ map_attribute "type", to: :type
30
32
  end
31
33
  end
32
34
  end
@@ -12,6 +12,12 @@ module Chemicalml
12
12
  attribute :dict_ref, :string
13
13
  attribute :convention, :string
14
14
 
15
+ attribute :ref, :string
16
+ attribute :from_type, :string
17
+ attribute :to_type, :string
18
+ attribute :from_context, :string
19
+ attribute :to_context, :string
20
+ attribute :role, :string
15
21
  xml do
16
22
  namespace Chemicalml::Cml::Namespace
17
23
  root "map"
@@ -19,6 +25,12 @@ module Chemicalml
19
25
  map_attribute "title", to: :title
20
26
  map_attribute "dictRef", to: :dict_ref
21
27
  map_attribute "convention", to: :convention
28
+ map_attribute "ref", to: :ref
29
+ map_attribute "fromType", to: :from_type
30
+ map_attribute "toType", to: :to_type
31
+ map_attribute "fromContext", to: :from_context
32
+ map_attribute "toContext", to: :to_context
33
+ map_attribute "role", to: :role
22
34
  end
23
35
  end
24
36
  end
@@ -17,6 +17,12 @@ module Chemicalml
17
17
  attribute :delimiter, :string
18
18
  attribute :content, :string
19
19
 
20
+ attribute :convention, :string
21
+ attribute :matrix_type, :string
22
+ attribute :error_value_array, :string
23
+ attribute :error_basis, :string
24
+ attribute :min_value_array, :string
25
+ attribute :max_value_array, :string
20
26
  xml do
21
27
  namespace Chemicalml::Cml::Namespace
22
28
  root "matrix"
@@ -29,6 +35,12 @@ module Chemicalml
29
35
  map_attribute "columns", to: :columns
30
36
  map_attribute "delimiter", to: :delimiter
31
37
  map_content to: :content
38
+ map_attribute "convention", to: :convention
39
+ map_attribute "matrixType", to: :matrix_type
40
+ map_attribute "errorValueArray", to: :error_value_array
41
+ map_attribute "errorBasis", to: :error_basis
42
+ map_attribute "minValueArray", to: :min_value_array
43
+ map_attribute "maxValueArray", to: :max_value_array
32
44
  end
33
45
  end
34
46
  end
@@ -13,6 +13,8 @@ module Chemicalml
13
13
  attribute :convention, :string
14
14
  attribute :title, :string
15
15
 
16
+ attribute :dict_ref, :string
17
+ attribute :metadata_type, :string
16
18
  xml do
17
19
  namespace Chemicalml::Cml::Namespace
18
20
  root "metadata"
@@ -21,6 +23,8 @@ module Chemicalml
21
23
  map_attribute "content", to: :content
22
24
  map_attribute "convention", to: :convention
23
25
  map_attribute "title", to: :title
26
+ map_attribute "dictRef", to: :dict_ref
27
+ map_attribute "metadataType", to: :metadata_type
24
28
  end
25
29
  end
26
30
  end
@@ -12,6 +12,9 @@ module Chemicalml
12
12
  attribute :dict_ref, :string
13
13
  attribute :metadata, :metadata, collection: true
14
14
 
15
+ attribute :convention, :string
16
+ attribute :name, :string
17
+ attribute :role, :string
15
18
  xml do
16
19
  namespace Chemicalml::Cml::Namespace
17
20
  root "metadataList"
@@ -19,6 +22,9 @@ module Chemicalml
19
22
  map_attribute "title", to: :title
20
23
  map_attribute "dictRef", to: :dict_ref
21
24
  map_element "metadata", to: :metadata
25
+ map_attribute "convention", to: :convention
26
+ map_attribute "name", to: :name
27
+ map_attribute "role", to: :role
22
28
  end
23
29
  end
24
30
  end
@@ -28,6 +28,11 @@ module Chemicalml
28
28
  attribute :spectra, :spectrum
29
29
  attribute :property_lists, :propertyList, collection: true
30
30
 
31
+ attribute :ref, :string
32
+ attribute :idgen, :string
33
+ attribute :process, :string
34
+ attribute :symmetry_oriented, :string
35
+ attribute :role, :string
31
36
  xml do
32
37
  namespace Chemicalml::Cml::Namespace
33
38
  root "molecule"
@@ -47,6 +52,11 @@ module Chemicalml
47
52
  map_element "atomArray", to: :atom_array
48
53
  map_element "bondArray", to: :bond_array
49
54
  map_element "molecule", to: :molecules
55
+ map_attribute "ref", to: :ref
56
+ map_attribute "idgen", to: :idgen
57
+ map_attribute "process", to: :process
58
+ map_attribute "symmetryOriented", to: :symmetry_oriented
59
+ map_attribute "role", to: :role
50
60
  end
51
61
  end
52
62
  end
@@ -14,6 +14,7 @@ module Chemicalml
14
14
 
15
15
  attribute :molecules, :molecule, collection: true
16
16
 
17
+ attribute :ref, :string
17
18
  xml do
18
19
  namespace Chemicalml::Cml::Namespace
19
20
  map_element "molecule", to: :molecules
@@ -22,6 +23,7 @@ module Chemicalml
22
23
  map_attribute "title", to: :title
23
24
  map_attribute "dictRef", to: :dict_ref
24
25
  map_attribute "convention", to: :convention
26
+ map_attribute "ref", to: :ref
25
27
  end
26
28
  end
27
29
  end
@@ -11,12 +11,14 @@ module Chemicalml
11
11
  attribute :convention, :string
12
12
  attribute :dict_ref, :string
13
13
 
14
+ attribute :id, :string
14
15
  xml do
15
16
  namespace Chemicalml::Cml::Namespace
16
17
  root "name"
17
18
  map_content to: :content
18
19
  map_attribute "convention", to: :convention
19
20
  map_attribute "dictRef", to: :dict_ref
21
+ map_attribute "id", to: :id
20
22
  end
21
23
  end
22
24
  end
@@ -13,6 +13,8 @@ module Chemicalml
13
13
  attribute :convention, :string
14
14
  attribute :type, :string
15
15
 
16
+ attribute :name, :string
17
+ attribute :count, :string
16
18
  xml do
17
19
  namespace Chemicalml::Cml::Namespace
18
20
  root "object"
@@ -21,6 +23,8 @@ module Chemicalml
21
23
  map_attribute "dictRef", to: :dict_ref
22
24
  map_attribute "convention", to: :convention
23
25
  map_attribute "type", to: :type
26
+ map_attribute "name", to: :name
27
+ map_attribute "count", to: :count
24
28
  end
25
29
  end
26
30
  end
@@ -12,6 +12,8 @@ module Chemicalml
12
12
  attribute :dict_ref, :string
13
13
  attribute :convention, :string
14
14
 
15
+ attribute :type, :string
16
+ attribute :count, :string
15
17
  xml do
16
18
  namespace Chemicalml::Cml::Namespace
17
19
  root "observation"
@@ -19,6 +21,8 @@ module Chemicalml
19
21
  map_attribute "title", to: :title
20
22
  map_attribute "dictRef", to: :dict_ref
21
23
  map_attribute "convention", to: :convention
24
+ map_attribute "type", to: :type
25
+ map_attribute "count", to: :count
22
26
  end
23
27
  end
24
28
  end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module Operator
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::Operator
10
+ attribute :title, :string
11
+ attribute :id, :string
12
+ attribute :convention, :string
13
+ attribute :dict_ref, :string
14
+ attribute :type, :string
15
+ attribute :content, :string
16
+
17
+ xml do
18
+ namespace Chemicalml::Cml::Namespace
19
+ root "operator"
20
+ map_attribute "title", to: :title
21
+ map_attribute "id", to: :id
22
+ map_attribute "convention", to: :convention
23
+ map_attribute "dictRef", to: :dict_ref
24
+ map_attribute "type", to: :type
25
+ map_content to: :content
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -15,6 +15,11 @@ module Chemicalml
15
15
  attribute :array, :array
16
16
  attribute :matrix, :matrix
17
17
 
18
+ attribute :ref, :string
19
+ attribute :value, :string
20
+ attribute :constraint, :string
21
+ attribute :name, :string
22
+ attribute :role, :string
18
23
  xml do
19
24
  namespace Chemicalml::Cml::Namespace
20
25
  root "parameter"
@@ -25,6 +30,11 @@ module Chemicalml
25
30
  map_element "scalar", to: :scalar
26
31
  map_element "array", to: :array
27
32
  map_element "matrix", to: :matrix
33
+ map_attribute "ref", to: :ref
34
+ map_attribute "value", to: :value
35
+ map_attribute "constraint", to: :constraint
36
+ map_attribute "name", to: :name
37
+ map_attribute "role", to: :role
28
38
  end
29
39
  end
30
40
  end
@@ -12,6 +12,9 @@ module Chemicalml
12
12
  attribute :dict_ref, :string
13
13
  attribute :parameters, :parameter, collection: true
14
14
 
15
+ attribute :convention, :string
16
+ attribute :ref, :string
17
+ attribute :role, :string
15
18
  xml do
16
19
  namespace Chemicalml::Cml::Namespace
17
20
  root "parameterList"
@@ -19,6 +22,9 @@ module Chemicalml
19
22
  map_attribute "title", to: :title
20
23
  map_attribute "dictRef", to: :dict_ref
21
24
  map_element "parameter", to: :parameters
25
+ map_attribute "convention", to: :convention
26
+ map_attribute "ref", to: :ref
27
+ map_attribute "role", to: :role
22
28
  end
23
29
  end
24
30
  end
@@ -13,6 +13,9 @@ module Chemicalml
13
13
  attribute :convention, :string
14
14
  attribute :type, :string
15
15
 
16
+ attribute :x3, :string
17
+ attribute :y3, :string
18
+ attribute :z3, :string
16
19
  xml do
17
20
  namespace Chemicalml::Cml::Namespace
18
21
  root "particle"
@@ -21,6 +24,9 @@ module Chemicalml
21
24
  map_attribute "dictRef", to: :dict_ref
22
25
  map_attribute "convention", to: :convention
23
26
  map_attribute "type", to: :type
27
+ map_attribute "x3", to: :x3
28
+ map_attribute "y3", to: :y3
29
+ map_attribute "z3", to: :z3
24
30
  end
25
31
  end
26
32
  end
@@ -18,6 +18,21 @@ module Chemicalml
18
18
  attribute :yUnits, :string
19
19
  attribute :yMultiplicity, :string
20
20
 
21
+ attribute :ref, :string
22
+ attribute :peak_height, :string
23
+ attribute :peak_multiplicity, :string
24
+ attribute :peak_shape, :string
25
+ attribute :integral, :string
26
+ attribute :peak_units, :string
27
+ attribute :x_min, :string
28
+ attribute :x_max, :string
29
+ attribute :x_width, :string
30
+ attribute :y_min, :string
31
+ attribute :y_max, :string
32
+ attribute :y_width, :string
33
+ attribute :atom_refs, :string
34
+ attribute :bond_refs, :string
35
+ attribute :molecule_refs, :string
21
36
  xml do
22
37
  namespace Chemicalml::Cml::Namespace
23
38
  root "peak"
@@ -31,6 +46,21 @@ module Chemicalml
31
46
  map_attribute "yValue", to: :yValue
32
47
  map_attribute "yUnits", to: :yUnits
33
48
  map_attribute "yMultiplicity", to: :yMultiplicity
49
+ map_attribute "ref", to: :ref
50
+ map_attribute "peakHeight", to: :peak_height
51
+ map_attribute "peakMultiplicity", to: :peak_multiplicity
52
+ map_attribute "peakShape", to: :peak_shape
53
+ map_attribute "integral", to: :integral
54
+ map_attribute "peakUnits", to: :peak_units
55
+ map_attribute "xMin", to: :x_min
56
+ map_attribute "xMax", to: :x_max
57
+ map_attribute "xWidth", to: :x_width
58
+ map_attribute "yMin", to: :y_min
59
+ map_attribute "yMax", to: :y_max
60
+ map_attribute "yWidth", to: :y_width
61
+ map_attribute "atomRefs", to: :atom_refs
62
+ map_attribute "bondRefs", to: :bond_refs
63
+ map_attribute "moleculeRefs", to: :molecule_refs
34
64
  end
35
65
  end
36
66
  end