chemicalml 0.1.0 → 0.2.0

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 (568) 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 +28 -0
  8. data/CHANGELOG.md +52 -12
  9. data/Gemfile +2 -1
  10. data/Rakefile +9 -4
  11. data/TODO.align/18-wire-class-registry.md +46 -0
  12. data/TODO.align/19-schema-aware-translator.md +33 -0
  13. data/TODO.align/20-missing-translator-rules.md +44 -0
  14. data/TODO.align/21-encapsulate-translator.md +33 -0
  15. data/TODO.align/22-dry-role-modules.md +32 -0
  16. data/TODO.align/23-final-spec-lint.md +25 -0
  17. data/TODO.align/24-autoload-wire-classes.md +84 -0
  18. data/TODO.align/25-value-container-schema-awareness.md +44 -0
  19. data/TODO.align/26-remove-dead-code.md +16 -0
  20. data/TODO.align/27-final-spec-lint.md +26 -0
  21. data/TODO.align/28-stereo-model.md +40 -0
  22. data/TODO.align/29-stereo-wire-children.md +30 -0
  23. data/TODO.align/30-stereo-translator.md +32 -0
  24. data/TODO.align/31-final-spec-lint.md +20 -0
  25. data/TODO.align/32-polymorphic-translator.md +43 -0
  26. data/TODO.align/33-polymorphic-parse.md +43 -0
  27. data/TODO.align/34-polymorphic-specs.md +16 -0
  28. data/TODO.align/35-final-spec-lint.md +10 -0
  29. data/TODO.align/README.round10.md +30 -0
  30. data/TODO.align/README.round11.md +50 -0
  31. data/TODO.align/README.round12.md +73 -0
  32. data/TODO.align/README.round13.md +59 -0
  33. data/TODO.align/README.round14.md +48 -0
  34. data/TODO.align/README.round15.md +86 -0
  35. data/TODO.align/README.round16.md +46 -0
  36. data/TODO.align/README.round3.md +27 -0
  37. data/TODO.align/README.round4.md +18 -0
  38. data/TODO.align/README.round5.md +20 -0
  39. data/TODO.align/README.round6.md +27 -0
  40. data/TODO.align/README.round7.md +43 -0
  41. data/TODO.align/README.round8.md +24 -0
  42. data/TODO.align/README.round9.md +50 -0
  43. data/data/dictionaries/_index.yaml +9 -1
  44. data/data/dictionaries/cif.yaml +155 -0
  45. data/data/dictionaries/cml.yaml +172 -0
  46. data/data/dictionaries/cml_formula.yaml +63 -0
  47. data/data/dictionaries/cml_name.yaml +84 -0
  48. data/data/dictionaries/unit_non_si.yaml +30 -0
  49. data/data/dictionaries/unit_type.yaml +12 -0
  50. data/lib/chemicalml/cml/aliases.rb +20 -0
  51. data/lib/chemicalml/cml/base/abundance.rb +28 -0
  52. data/lib/chemicalml/cml/base/action.rb +30 -0
  53. data/lib/chemicalml/cml/base/action_list.rb +33 -0
  54. data/lib/chemicalml/cml/base/amount.rb +28 -0
  55. data/lib/chemicalml/cml/base/angle.rb +32 -0
  56. data/lib/chemicalml/cml/base/any_cml.rb +28 -0
  57. data/lib/chemicalml/cml/base/array.rb +1 -1
  58. data/lib/chemicalml/cml/base/array_list.rb +28 -0
  59. data/lib/chemicalml/cml/base/atom.rb +19 -1
  60. data/lib/chemicalml/cml/base/atom_array.rb +1 -1
  61. data/lib/chemicalml/cml/base/atom_parity.rb +1 -1
  62. data/lib/chemicalml/cml/base/atom_set.rb +28 -0
  63. data/lib/chemicalml/cml/base/atom_type.rb +32 -0
  64. data/lib/chemicalml/cml/base/atom_type_list.rb +31 -0
  65. data/lib/chemicalml/cml/base/atomic_basis_function.rb +40 -0
  66. data/lib/chemicalml/cml/base/band.rb +32 -0
  67. data/lib/chemicalml/cml/base/band_list.rb +31 -0
  68. data/lib/chemicalml/cml/base/basis_set.rb +31 -0
  69. data/lib/chemicalml/cml/base/bond.rb +5 -1
  70. data/lib/chemicalml/cml/base/bond_array.rb +1 -1
  71. data/lib/chemicalml/cml/base/bond_set.rb +28 -0
  72. data/lib/chemicalml/cml/base/bond_stereo.rb +1 -1
  73. data/lib/chemicalml/cml/base/bond_type.rb +32 -0
  74. data/lib/chemicalml/cml/base/bond_type_list.rb +31 -0
  75. data/lib/chemicalml/cml/base/cell_parameter.rb +34 -0
  76. data/lib/chemicalml/cml/base/cml_module.rb +1 -1
  77. data/lib/chemicalml/cml/base/condition_list.rb +33 -0
  78. data/lib/chemicalml/cml/base/crystal.rb +35 -0
  79. data/lib/chemicalml/cml/base/definition.rb +30 -0
  80. data/lib/chemicalml/cml/base/description.rb +30 -0
  81. data/lib/chemicalml/cml/base/dictionary.rb +1 -1
  82. data/lib/chemicalml/cml/base/dictionary_entry.rb +1 -1
  83. data/lib/chemicalml/cml/base/dimension.rb +32 -0
  84. data/lib/chemicalml/cml/base/document.rb +9 -1
  85. data/lib/chemicalml/cml/base/documentation.rb +30 -0
  86. data/lib/chemicalml/cml/base/eigen.rb +34 -0
  87. data/lib/chemicalml/cml/base/electron.rb +36 -0
  88. data/lib/chemicalml/cml/base/formula.rb +1 -1
  89. data/lib/chemicalml/cml/base/fragment.rb +35 -0
  90. data/lib/chemicalml/cml/base/fragment_list.rb +31 -0
  91. data/lib/chemicalml/cml/base/gradient.rb +32 -0
  92. data/lib/chemicalml/cml/base/identifier.rb +1 -1
  93. data/lib/chemicalml/cml/base/isotope.rb +34 -0
  94. data/lib/chemicalml/cml/base/isotope_list.rb +31 -0
  95. data/lib/chemicalml/cml/base/join.rb +30 -0
  96. data/lib/chemicalml/cml/base/kpoint.rb +32 -0
  97. data/lib/chemicalml/cml/base/kpoint_list.rb +31 -0
  98. data/lib/chemicalml/cml/base/label.rb +1 -1
  99. data/lib/chemicalml/cml/base/lattice.rb +35 -0
  100. data/lib/chemicalml/cml/base/lattice_vector.rb +30 -0
  101. data/lib/chemicalml/cml/base/length.rb +32 -0
  102. data/lib/chemicalml/cml/base/line3.rb +30 -0
  103. data/lib/chemicalml/cml/base/link.rb +38 -0
  104. data/lib/chemicalml/cml/base/list.rb +1 -1
  105. data/lib/chemicalml/cml/base/map.rb +28 -0
  106. data/lib/chemicalml/cml/base/matrix.rb +1 -1
  107. data/lib/chemicalml/cml/base/mechanism.rb +31 -0
  108. data/lib/chemicalml/cml/base/mechanism_component.rb +30 -0
  109. data/lib/chemicalml/cml/base/metadata.rb +1 -1
  110. data/lib/chemicalml/cml/base/metadata_list.rb +1 -1
  111. data/lib/chemicalml/cml/base/molecule.rb +17 -1
  112. data/lib/chemicalml/cml/base/molecule_list.rb +31 -0
  113. data/lib/chemicalml/cml/base/name.rb +1 -1
  114. data/lib/chemicalml/cml/base/object.rb +30 -0
  115. data/lib/chemicalml/cml/base/observation.rb +28 -0
  116. data/lib/chemicalml/cml/base/parameter.rb +1 -1
  117. data/lib/chemicalml/cml/base/parameter_list.rb +1 -1
  118. data/lib/chemicalml/cml/base/particle.rb +30 -0
  119. data/lib/chemicalml/cml/base/peak.rb +40 -0
  120. data/lib/chemicalml/cml/base/peak_group.rb +31 -0
  121. data/lib/chemicalml/cml/base/peak_list.rb +33 -0
  122. data/lib/chemicalml/cml/base/peak_structure.rb +30 -0
  123. data/lib/chemicalml/cml/base/plane3.rb +30 -0
  124. data/lib/chemicalml/cml/base/point3.rb +30 -0
  125. data/lib/chemicalml/cml/base/potential.rb +30 -0
  126. data/lib/chemicalml/cml/base/potential_form.rb +30 -0
  127. data/lib/chemicalml/cml/base/potential_list.rb +31 -0
  128. data/lib/chemicalml/cml/base/product.rb +1 -1
  129. data/lib/chemicalml/cml/base/product_list.rb +1 -1
  130. data/lib/chemicalml/cml/base/property.rb +1 -1
  131. data/lib/chemicalml/cml/base/property_list.rb +1 -1
  132. data/lib/chemicalml/cml/base/reactant.rb +1 -1
  133. data/lib/chemicalml/cml/base/reactant_list.rb +1 -1
  134. data/lib/chemicalml/cml/base/reaction.rb +9 -1
  135. data/lib/chemicalml/cml/base/reaction_list.rb +1 -1
  136. data/lib/chemicalml/cml/base/reaction_scheme.rb +33 -0
  137. data/lib/chemicalml/cml/base/reaction_step.rb +35 -0
  138. data/lib/chemicalml/cml/base/reaction_step_list.rb +31 -0
  139. data/lib/chemicalml/cml/base/reactive_centre.rb +30 -0
  140. data/lib/chemicalml/cml/base/region.rb +28 -0
  141. data/lib/chemicalml/cml/base/sample.rb +28 -0
  142. data/lib/chemicalml/cml/base/scalar.rb +1 -1
  143. data/lib/chemicalml/cml/base/spectator.rb +28 -0
  144. data/lib/chemicalml/cml/base/spectator_list.rb +31 -0
  145. data/lib/chemicalml/cml/base/spectrum.rb +41 -0
  146. data/lib/chemicalml/cml/base/spectrum_data.rb +33 -0
  147. data/lib/chemicalml/cml/base/spectrum_list.rb +31 -0
  148. data/lib/chemicalml/cml/base/sphere3.rb +30 -0
  149. data/lib/chemicalml/cml/base/stmml.rb +28 -0
  150. data/lib/chemicalml/cml/base/substance.rb +1 -1
  151. data/lib/chemicalml/cml/base/substance_list.rb +31 -0
  152. data/lib/chemicalml/cml/base/symmetry.rb +32 -0
  153. data/lib/chemicalml/cml/base/system.rb +33 -0
  154. data/lib/chemicalml/cml/base/table.rb +33 -0
  155. data/lib/chemicalml/cml/base/table_cell.rb +30 -0
  156. data/lib/chemicalml/cml/base/table_content.rb +33 -0
  157. data/lib/chemicalml/cml/base/table_header.rb +31 -0
  158. data/lib/chemicalml/cml/base/table_header_cell.rb +30 -0
  159. data/lib/chemicalml/cml/base/table_row.rb +31 -0
  160. data/lib/chemicalml/cml/base/table_row_list.rb +31 -0
  161. data/lib/chemicalml/cml/base/torsion.rb +32 -0
  162. data/lib/chemicalml/cml/base/transform3.rb +30 -0
  163. data/lib/chemicalml/cml/base/transition_state.rb +28 -0
  164. data/lib/chemicalml/cml/base/unit.rb +1 -1
  165. data/lib/chemicalml/cml/base/unit_list.rb +1 -1
  166. data/lib/chemicalml/cml/base/unit_type.rb +1 -1
  167. data/lib/chemicalml/cml/base/unit_type_list.rb +1 -1
  168. data/lib/chemicalml/cml/base/vector3.rb +30 -0
  169. data/lib/chemicalml/cml/base/xaxis.rb +32 -0
  170. data/lib/chemicalml/cml/base/yaxis.rb +32 -0
  171. data/lib/chemicalml/cml/base/z_matrix.rb +30 -0
  172. data/lib/chemicalml/cml/base.rb +85 -0
  173. data/lib/chemicalml/cml/child_mappings.rb +168 -0
  174. data/lib/chemicalml/cml/elements.rb +130 -42
  175. data/lib/chemicalml/cml/role/abundance.rb +12 -0
  176. data/lib/chemicalml/cml/role/action.rb +12 -0
  177. data/lib/chemicalml/cml/role/action_list.rb +12 -0
  178. data/lib/chemicalml/cml/role/amount.rb +12 -0
  179. data/lib/chemicalml/cml/role/angle.rb +12 -0
  180. data/lib/chemicalml/cml/role/any_cml.rb +12 -0
  181. data/lib/chemicalml/cml/role/array_list.rb +12 -0
  182. data/lib/chemicalml/cml/role/atom_set.rb +12 -0
  183. data/lib/chemicalml/cml/role/atom_type.rb +12 -0
  184. data/lib/chemicalml/cml/role/atom_type_list.rb +12 -0
  185. data/lib/chemicalml/cml/role/atomic_basis_function.rb +12 -0
  186. data/lib/chemicalml/cml/role/band.rb +12 -0
  187. data/lib/chemicalml/cml/role/band_list.rb +12 -0
  188. data/lib/chemicalml/cml/role/basis_set.rb +12 -0
  189. data/lib/chemicalml/cml/role/bond_set.rb +12 -0
  190. data/lib/chemicalml/cml/role/bond_type.rb +12 -0
  191. data/lib/chemicalml/cml/role/bond_type_list.rb +12 -0
  192. data/lib/chemicalml/cml/role/cell_parameter.rb +12 -0
  193. data/lib/chemicalml/cml/role/condition_list.rb +12 -0
  194. data/lib/chemicalml/cml/role/crystal.rb +12 -0
  195. data/lib/chemicalml/cml/role/definition.rb +12 -0
  196. data/lib/chemicalml/cml/role/description.rb +12 -0
  197. data/lib/chemicalml/cml/role/dimension.rb +12 -0
  198. data/lib/chemicalml/cml/role/documentation.rb +12 -0
  199. data/lib/chemicalml/cml/role/eigen.rb +12 -0
  200. data/lib/chemicalml/cml/role/electron.rb +12 -0
  201. data/lib/chemicalml/cml/role/fragment.rb +12 -0
  202. data/lib/chemicalml/cml/role/fragment_list.rb +12 -0
  203. data/lib/chemicalml/cml/role/gradient.rb +12 -0
  204. data/lib/chemicalml/cml/role/isotope.rb +12 -0
  205. data/lib/chemicalml/cml/role/isotope_list.rb +12 -0
  206. data/lib/chemicalml/cml/role/join.rb +12 -0
  207. data/lib/chemicalml/cml/role/kpoint.rb +12 -0
  208. data/lib/chemicalml/cml/role/kpoint_list.rb +12 -0
  209. data/lib/chemicalml/cml/role/lattice.rb +12 -0
  210. data/lib/chemicalml/cml/role/lattice_vector.rb +12 -0
  211. data/lib/chemicalml/cml/role/length.rb +12 -0
  212. data/lib/chemicalml/cml/role/line3.rb +12 -0
  213. data/lib/chemicalml/cml/role/link.rb +12 -0
  214. data/lib/chemicalml/cml/role/map.rb +12 -0
  215. data/lib/chemicalml/cml/role/mechanism.rb +12 -0
  216. data/lib/chemicalml/cml/role/mechanism_component.rb +12 -0
  217. data/lib/chemicalml/cml/role/molecule_list.rb +12 -0
  218. data/lib/chemicalml/cml/role/object.rb +12 -0
  219. data/lib/chemicalml/cml/role/observation.rb +12 -0
  220. data/lib/chemicalml/cml/role/particle.rb +12 -0
  221. data/lib/chemicalml/cml/role/peak.rb +12 -0
  222. data/lib/chemicalml/cml/role/peak_group.rb +12 -0
  223. data/lib/chemicalml/cml/role/peak_list.rb +12 -0
  224. data/lib/chemicalml/cml/role/peak_structure.rb +12 -0
  225. data/lib/chemicalml/cml/role/plane3.rb +12 -0
  226. data/lib/chemicalml/cml/role/point3.rb +12 -0
  227. data/lib/chemicalml/cml/role/potential.rb +12 -0
  228. data/lib/chemicalml/cml/role/potential_form.rb +12 -0
  229. data/lib/chemicalml/cml/role/potential_list.rb +12 -0
  230. data/lib/chemicalml/cml/role/reaction_scheme.rb +12 -0
  231. data/lib/chemicalml/cml/role/reaction_step.rb +12 -0
  232. data/lib/chemicalml/cml/role/reaction_step_list.rb +12 -0
  233. data/lib/chemicalml/cml/role/reactive_centre.rb +12 -0
  234. data/lib/chemicalml/cml/role/region.rb +12 -0
  235. data/lib/chemicalml/cml/role/sample.rb +12 -0
  236. data/lib/chemicalml/cml/role/spectator.rb +12 -0
  237. data/lib/chemicalml/cml/role/spectator_list.rb +12 -0
  238. data/lib/chemicalml/cml/role/spectrum.rb +12 -0
  239. data/lib/chemicalml/cml/role/spectrum_data.rb +12 -0
  240. data/lib/chemicalml/cml/role/spectrum_list.rb +12 -0
  241. data/lib/chemicalml/cml/role/sphere3.rb +12 -0
  242. data/lib/chemicalml/cml/role/stmml.rb +12 -0
  243. data/lib/chemicalml/cml/role/substance_list.rb +12 -0
  244. data/lib/chemicalml/cml/role/symmetry.rb +12 -0
  245. data/lib/chemicalml/cml/role/system.rb +12 -0
  246. data/lib/chemicalml/cml/role/table.rb +12 -0
  247. data/lib/chemicalml/cml/role/table_cell.rb +12 -0
  248. data/lib/chemicalml/cml/role/table_content.rb +12 -0
  249. data/lib/chemicalml/cml/role/table_header.rb +12 -0
  250. data/lib/chemicalml/cml/role/table_header_cell.rb +12 -0
  251. data/lib/chemicalml/cml/role/table_row.rb +12 -0
  252. data/lib/chemicalml/cml/role/table_row_list.rb +12 -0
  253. data/lib/chemicalml/cml/role/torsion.rb +12 -0
  254. data/lib/chemicalml/cml/role/transform3.rb +12 -0
  255. data/lib/chemicalml/cml/role/transition_state.rb +12 -0
  256. data/lib/chemicalml/cml/role/vector3.rb +12 -0
  257. data/lib/chemicalml/cml/role/xaxis.rb +12 -0
  258. data/lib/chemicalml/cml/role/yaxis.rb +12 -0
  259. data/lib/chemicalml/cml/role/z_matrix.rb +12 -0
  260. data/lib/chemicalml/cml/role.rb +86 -1
  261. data/lib/chemicalml/cml/schema24/abundance.rb +13 -0
  262. data/lib/chemicalml/cml/schema24/action.rb +13 -0
  263. data/lib/chemicalml/cml/schema24/action_list.rb +13 -0
  264. data/lib/chemicalml/cml/schema24/amount.rb +13 -0
  265. data/lib/chemicalml/cml/schema24/angle.rb +13 -0
  266. data/lib/chemicalml/cml/schema24/any_cml.rb +13 -0
  267. data/lib/chemicalml/cml/schema24/array.rb +15 -0
  268. data/lib/chemicalml/cml/schema24/array_list.rb +13 -0
  269. data/lib/chemicalml/cml/schema24/atom.rb +15 -0
  270. data/lib/chemicalml/cml/schema24/atom_array.rb +15 -0
  271. data/lib/chemicalml/cml/schema24/atom_parity.rb +15 -0
  272. data/lib/chemicalml/cml/schema24/atom_set.rb +13 -0
  273. data/lib/chemicalml/cml/schema24/atom_type.rb +13 -0
  274. data/lib/chemicalml/cml/schema24/atom_type_list.rb +13 -0
  275. data/lib/chemicalml/cml/schema24/atomic_basis_function.rb +13 -0
  276. data/lib/chemicalml/cml/schema24/band.rb +13 -0
  277. data/lib/chemicalml/cml/schema24/band_list.rb +13 -0
  278. data/lib/chemicalml/cml/schema24/basis_set.rb +13 -0
  279. data/lib/chemicalml/cml/schema24/bond.rb +15 -0
  280. data/lib/chemicalml/cml/schema24/bond_array.rb +15 -0
  281. data/lib/chemicalml/cml/schema24/bond_set.rb +13 -0
  282. data/lib/chemicalml/cml/schema24/bond_stereo.rb +15 -0
  283. data/lib/chemicalml/cml/schema24/bond_type.rb +13 -0
  284. data/lib/chemicalml/cml/schema24/bond_type_list.rb +13 -0
  285. data/lib/chemicalml/cml/schema24/cell_parameter.rb +13 -0
  286. data/lib/chemicalml/cml/schema24/condition_list.rb +13 -0
  287. data/lib/chemicalml/cml/schema24/context.rb +18 -0
  288. data/lib/chemicalml/cml/schema24/crystal.rb +13 -0
  289. data/lib/chemicalml/cml/schema24/definition.rb +13 -0
  290. data/lib/chemicalml/cml/schema24/description.rb +13 -0
  291. data/lib/chemicalml/cml/schema24/dictionary.rb +15 -0
  292. data/lib/chemicalml/cml/schema24/dictionary_entry.rb +15 -0
  293. data/lib/chemicalml/cml/schema24/dimension.rb +13 -0
  294. data/lib/chemicalml/cml/schema24/document.rb +15 -0
  295. data/lib/chemicalml/cml/schema24/documentation.rb +13 -0
  296. data/lib/chemicalml/cml/schema24/eigen.rb +13 -0
  297. data/lib/chemicalml/cml/schema24/electron.rb +13 -0
  298. data/lib/chemicalml/cml/schema24/formula.rb +15 -0
  299. data/lib/chemicalml/cml/schema24/fragment.rb +13 -0
  300. data/lib/chemicalml/cml/schema24/fragment_list.rb +13 -0
  301. data/lib/chemicalml/cml/schema24/gradient.rb +13 -0
  302. data/lib/chemicalml/cml/schema24/identifier.rb +15 -0
  303. data/lib/chemicalml/cml/schema24/isotope.rb +13 -0
  304. data/lib/chemicalml/cml/schema24/isotope_list.rb +13 -0
  305. data/lib/chemicalml/cml/schema24/join.rb +13 -0
  306. data/lib/chemicalml/cml/schema24/kpoint.rb +13 -0
  307. data/lib/chemicalml/cml/schema24/kpoint_list.rb +13 -0
  308. data/lib/chemicalml/cml/schema24/label.rb +15 -0
  309. data/lib/chemicalml/cml/schema24/lattice.rb +13 -0
  310. data/lib/chemicalml/cml/schema24/lattice_vector.rb +13 -0
  311. data/lib/chemicalml/cml/schema24/length.rb +13 -0
  312. data/lib/chemicalml/cml/schema24/line3.rb +13 -0
  313. data/lib/chemicalml/cml/schema24/link.rb +13 -0
  314. data/lib/chemicalml/cml/schema24/list.rb +15 -0
  315. data/lib/chemicalml/cml/schema24/map.rb +13 -0
  316. data/lib/chemicalml/cml/schema24/matrix.rb +15 -0
  317. data/lib/chemicalml/cml/schema24/mechanism.rb +13 -0
  318. data/lib/chemicalml/cml/schema24/mechanism_component.rb +13 -0
  319. data/lib/chemicalml/cml/schema24/metadata.rb +15 -0
  320. data/lib/chemicalml/cml/schema24/metadata_list.rb +15 -0
  321. data/lib/chemicalml/cml/schema24/molecule.rb +15 -0
  322. data/lib/chemicalml/cml/schema24/molecule_list.rb +13 -0
  323. data/lib/chemicalml/cml/schema24/name.rb +15 -0
  324. data/lib/chemicalml/cml/schema24/object.rb +13 -0
  325. data/lib/chemicalml/cml/schema24/observation.rb +13 -0
  326. data/lib/chemicalml/cml/schema24/parameter.rb +15 -0
  327. data/lib/chemicalml/cml/schema24/parameter_list.rb +15 -0
  328. data/lib/chemicalml/cml/schema24/particle.rb +13 -0
  329. data/lib/chemicalml/cml/schema24/peak.rb +13 -0
  330. data/lib/chemicalml/cml/schema24/peak_group.rb +13 -0
  331. data/lib/chemicalml/cml/schema24/peak_list.rb +13 -0
  332. data/lib/chemicalml/cml/schema24/peak_structure.rb +13 -0
  333. data/lib/chemicalml/cml/schema24/plane3.rb +13 -0
  334. data/lib/chemicalml/cml/schema24/point3.rb +13 -0
  335. data/lib/chemicalml/cml/schema24/potential.rb +13 -0
  336. data/lib/chemicalml/cml/schema24/potential_form.rb +13 -0
  337. data/lib/chemicalml/cml/schema24/potential_list.rb +13 -0
  338. data/lib/chemicalml/cml/schema24/product.rb +15 -0
  339. data/lib/chemicalml/cml/schema24/product_list.rb +15 -0
  340. data/lib/chemicalml/cml/schema24/property.rb +15 -0
  341. data/lib/chemicalml/cml/schema24/property_list.rb +15 -0
  342. data/lib/chemicalml/cml/schema24/reactant.rb +15 -0
  343. data/lib/chemicalml/cml/schema24/reactant_list.rb +15 -0
  344. data/lib/chemicalml/cml/schema24/reaction.rb +15 -0
  345. data/lib/chemicalml/cml/schema24/reaction_list.rb +15 -0
  346. data/lib/chemicalml/cml/schema24/reaction_scheme.rb +13 -0
  347. data/lib/chemicalml/cml/schema24/reaction_step.rb +13 -0
  348. data/lib/chemicalml/cml/schema24/reaction_step_list.rb +13 -0
  349. data/lib/chemicalml/cml/schema24/reactive_centre.rb +13 -0
  350. data/lib/chemicalml/cml/schema24/region.rb +13 -0
  351. data/lib/chemicalml/cml/schema24/sample.rb +13 -0
  352. data/lib/chemicalml/cml/schema24/scalar.rb +15 -0
  353. data/lib/chemicalml/cml/schema24/spectator.rb +13 -0
  354. data/lib/chemicalml/cml/schema24/spectator_list.rb +13 -0
  355. data/lib/chemicalml/cml/schema24/spectrum.rb +13 -0
  356. data/lib/chemicalml/cml/schema24/spectrum_data.rb +13 -0
  357. data/lib/chemicalml/cml/schema24/spectrum_list.rb +13 -0
  358. data/lib/chemicalml/cml/schema24/sphere3.rb +13 -0
  359. data/lib/chemicalml/cml/schema24/stmml.rb +13 -0
  360. data/lib/chemicalml/cml/schema24/substance.rb +15 -0
  361. data/lib/chemicalml/cml/schema24/substance_list.rb +13 -0
  362. data/lib/chemicalml/cml/schema24/symmetry.rb +13 -0
  363. data/lib/chemicalml/cml/schema24/system.rb +13 -0
  364. data/lib/chemicalml/cml/schema24/table.rb +13 -0
  365. data/lib/chemicalml/cml/schema24/table_cell.rb +13 -0
  366. data/lib/chemicalml/cml/schema24/table_content.rb +13 -0
  367. data/lib/chemicalml/cml/schema24/table_header.rb +13 -0
  368. data/lib/chemicalml/cml/schema24/table_header_cell.rb +13 -0
  369. data/lib/chemicalml/cml/schema24/table_row.rb +13 -0
  370. data/lib/chemicalml/cml/schema24/table_row_list.rb +13 -0
  371. data/lib/chemicalml/cml/schema24/torsion.rb +13 -0
  372. data/lib/chemicalml/cml/schema24/transform3.rb +13 -0
  373. data/lib/chemicalml/cml/schema24/transition_state.rb +13 -0
  374. data/lib/chemicalml/cml/schema24/unit.rb +15 -0
  375. data/lib/chemicalml/cml/schema24/unit_list.rb +15 -0
  376. data/lib/chemicalml/cml/schema24/unit_type.rb +15 -0
  377. data/lib/chemicalml/cml/schema24/unit_type_list.rb +15 -0
  378. data/lib/chemicalml/cml/schema24/vector3.rb +13 -0
  379. data/lib/chemicalml/cml/schema24/xaxis.rb +13 -0
  380. data/lib/chemicalml/cml/schema24/yaxis.rb +13 -0
  381. data/lib/chemicalml/cml/schema24/z_matrix.rb +13 -0
  382. data/lib/chemicalml/cml/schema24.rb +131 -19
  383. data/lib/chemicalml/cml/schema3/abundance.rb +13 -0
  384. data/lib/chemicalml/cml/schema3/action.rb +13 -0
  385. data/lib/chemicalml/cml/schema3/action_list.rb +13 -0
  386. data/lib/chemicalml/cml/schema3/amount.rb +13 -0
  387. data/lib/chemicalml/cml/schema3/angle.rb +13 -0
  388. data/lib/chemicalml/cml/schema3/any_cml.rb +13 -0
  389. data/lib/chemicalml/cml/schema3/array.rb +15 -0
  390. data/lib/chemicalml/cml/schema3/array_list.rb +13 -0
  391. data/lib/chemicalml/cml/schema3/atom.rb +15 -0
  392. data/lib/chemicalml/cml/schema3/atom_array.rb +15 -0
  393. data/lib/chemicalml/cml/schema3/atom_parity.rb +15 -0
  394. data/lib/chemicalml/cml/schema3/atom_set.rb +13 -0
  395. data/lib/chemicalml/cml/schema3/atom_type.rb +13 -0
  396. data/lib/chemicalml/cml/schema3/atom_type_list.rb +13 -0
  397. data/lib/chemicalml/cml/schema3/atomic_basis_function.rb +13 -0
  398. data/lib/chemicalml/cml/schema3/band.rb +13 -0
  399. data/lib/chemicalml/cml/schema3/band_list.rb +13 -0
  400. data/lib/chemicalml/cml/schema3/basis_set.rb +13 -0
  401. data/lib/chemicalml/cml/schema3/bond.rb +15 -0
  402. data/lib/chemicalml/cml/schema3/bond_array.rb +15 -0
  403. data/lib/chemicalml/cml/schema3/bond_set.rb +13 -0
  404. data/lib/chemicalml/cml/schema3/bond_stereo.rb +15 -0
  405. data/lib/chemicalml/cml/schema3/bond_type.rb +13 -0
  406. data/lib/chemicalml/cml/schema3/bond_type_list.rb +13 -0
  407. data/lib/chemicalml/cml/schema3/cell_parameter.rb +13 -0
  408. data/lib/chemicalml/cml/schema3/cml_module.rb +15 -0
  409. data/lib/chemicalml/cml/schema3/condition_list.rb +13 -0
  410. data/lib/chemicalml/cml/schema3/context.rb +18 -0
  411. data/lib/chemicalml/cml/schema3/crystal.rb +13 -0
  412. data/lib/chemicalml/cml/schema3/definition.rb +13 -0
  413. data/lib/chemicalml/cml/schema3/description.rb +13 -0
  414. data/lib/chemicalml/cml/schema3/dictionary.rb +15 -0
  415. data/lib/chemicalml/cml/schema3/dictionary_entry.rb +15 -0
  416. data/lib/chemicalml/cml/schema3/dimension.rb +13 -0
  417. data/lib/chemicalml/cml/schema3/document.rb +15 -0
  418. data/lib/chemicalml/cml/schema3/documentation.rb +13 -0
  419. data/lib/chemicalml/cml/schema3/eigen.rb +13 -0
  420. data/lib/chemicalml/cml/schema3/electron.rb +13 -0
  421. data/lib/chemicalml/cml/schema3/formula.rb +15 -0
  422. data/lib/chemicalml/cml/schema3/fragment.rb +13 -0
  423. data/lib/chemicalml/cml/schema3/fragment_list.rb +13 -0
  424. data/lib/chemicalml/cml/schema3/gradient.rb +13 -0
  425. data/lib/chemicalml/cml/schema3/identifier.rb +15 -0
  426. data/lib/chemicalml/cml/schema3/isotope.rb +13 -0
  427. data/lib/chemicalml/cml/schema3/isotope_list.rb +13 -0
  428. data/lib/chemicalml/cml/schema3/join.rb +13 -0
  429. data/lib/chemicalml/cml/schema3/kpoint.rb +13 -0
  430. data/lib/chemicalml/cml/schema3/kpoint_list.rb +13 -0
  431. data/lib/chemicalml/cml/schema3/label.rb +15 -0
  432. data/lib/chemicalml/cml/schema3/lattice.rb +13 -0
  433. data/lib/chemicalml/cml/schema3/lattice_vector.rb +13 -0
  434. data/lib/chemicalml/cml/schema3/length.rb +13 -0
  435. data/lib/chemicalml/cml/schema3/line3.rb +13 -0
  436. data/lib/chemicalml/cml/schema3/link.rb +13 -0
  437. data/lib/chemicalml/cml/schema3/list.rb +15 -0
  438. data/lib/chemicalml/cml/schema3/map.rb +13 -0
  439. data/lib/chemicalml/cml/schema3/matrix.rb +15 -0
  440. data/lib/chemicalml/cml/schema3/mechanism.rb +13 -0
  441. data/lib/chemicalml/cml/schema3/mechanism_component.rb +13 -0
  442. data/lib/chemicalml/cml/schema3/metadata.rb +15 -0
  443. data/lib/chemicalml/cml/schema3/metadata_list.rb +15 -0
  444. data/lib/chemicalml/cml/schema3/molecule.rb +15 -0
  445. data/lib/chemicalml/cml/schema3/molecule_list.rb +13 -0
  446. data/lib/chemicalml/cml/schema3/name.rb +15 -0
  447. data/lib/chemicalml/cml/schema3/object.rb +13 -0
  448. data/lib/chemicalml/cml/schema3/observation.rb +13 -0
  449. data/lib/chemicalml/cml/schema3/parameter.rb +15 -0
  450. data/lib/chemicalml/cml/schema3/parameter_list.rb +15 -0
  451. data/lib/chemicalml/cml/schema3/particle.rb +13 -0
  452. data/lib/chemicalml/cml/schema3/peak.rb +13 -0
  453. data/lib/chemicalml/cml/schema3/peak_group.rb +13 -0
  454. data/lib/chemicalml/cml/schema3/peak_list.rb +13 -0
  455. data/lib/chemicalml/cml/schema3/peak_structure.rb +13 -0
  456. data/lib/chemicalml/cml/schema3/plane3.rb +13 -0
  457. data/lib/chemicalml/cml/schema3/point3.rb +13 -0
  458. data/lib/chemicalml/cml/schema3/potential.rb +13 -0
  459. data/lib/chemicalml/cml/schema3/potential_form.rb +13 -0
  460. data/lib/chemicalml/cml/schema3/potential_list.rb +13 -0
  461. data/lib/chemicalml/cml/schema3/product.rb +15 -0
  462. data/lib/chemicalml/cml/schema3/product_list.rb +15 -0
  463. data/lib/chemicalml/cml/schema3/property.rb +15 -0
  464. data/lib/chemicalml/cml/schema3/property_list.rb +15 -0
  465. data/lib/chemicalml/cml/schema3/reactant.rb +15 -0
  466. data/lib/chemicalml/cml/schema3/reactant_list.rb +15 -0
  467. data/lib/chemicalml/cml/schema3/reaction.rb +15 -0
  468. data/lib/chemicalml/cml/schema3/reaction_list.rb +15 -0
  469. data/lib/chemicalml/cml/schema3/reaction_scheme.rb +13 -0
  470. data/lib/chemicalml/cml/schema3/reaction_step.rb +13 -0
  471. data/lib/chemicalml/cml/schema3/reaction_step_list.rb +13 -0
  472. data/lib/chemicalml/cml/schema3/reactive_centre.rb +13 -0
  473. data/lib/chemicalml/cml/schema3/region.rb +13 -0
  474. data/lib/chemicalml/cml/schema3/sample.rb +13 -0
  475. data/lib/chemicalml/cml/schema3/scalar.rb +15 -0
  476. data/lib/chemicalml/cml/schema3/spectator.rb +13 -0
  477. data/lib/chemicalml/cml/schema3/spectator_list.rb +13 -0
  478. data/lib/chemicalml/cml/schema3/spectrum.rb +13 -0
  479. data/lib/chemicalml/cml/schema3/spectrum_data.rb +13 -0
  480. data/lib/chemicalml/cml/schema3/spectrum_list.rb +13 -0
  481. data/lib/chemicalml/cml/schema3/sphere3.rb +13 -0
  482. data/lib/chemicalml/cml/schema3/stmml.rb +13 -0
  483. data/lib/chemicalml/cml/schema3/substance.rb +15 -0
  484. data/lib/chemicalml/cml/schema3/substance_list.rb +13 -0
  485. data/lib/chemicalml/cml/schema3/symmetry.rb +13 -0
  486. data/lib/chemicalml/cml/schema3/system.rb +13 -0
  487. data/lib/chemicalml/cml/schema3/table.rb +13 -0
  488. data/lib/chemicalml/cml/schema3/table_cell.rb +13 -0
  489. data/lib/chemicalml/cml/schema3/table_content.rb +13 -0
  490. data/lib/chemicalml/cml/schema3/table_header.rb +13 -0
  491. data/lib/chemicalml/cml/schema3/table_header_cell.rb +13 -0
  492. data/lib/chemicalml/cml/schema3/table_row.rb +13 -0
  493. data/lib/chemicalml/cml/schema3/table_row_list.rb +13 -0
  494. data/lib/chemicalml/cml/schema3/torsion.rb +13 -0
  495. data/lib/chemicalml/cml/schema3/transform3.rb +13 -0
  496. data/lib/chemicalml/cml/schema3/transition_state.rb +13 -0
  497. data/lib/chemicalml/cml/schema3/unit.rb +15 -0
  498. data/lib/chemicalml/cml/schema3/unit_list.rb +15 -0
  499. data/lib/chemicalml/cml/schema3/unit_type.rb +15 -0
  500. data/lib/chemicalml/cml/schema3/unit_type_list.rb +15 -0
  501. data/lib/chemicalml/cml/schema3/vector3.rb +13 -0
  502. data/lib/chemicalml/cml/schema3/xaxis.rb +13 -0
  503. data/lib/chemicalml/cml/schema3/yaxis.rb +13 -0
  504. data/lib/chemicalml/cml/schema3/z_matrix.rb +13 -0
  505. data/lib/chemicalml/cml/schema3.rb +132 -17
  506. data/lib/chemicalml/cml/translator/value_translations.rb +40 -35
  507. data/lib/chemicalml/cml/translator.rb +319 -68
  508. data/lib/chemicalml/cml/wire_class_registry.rb +42 -0
  509. data/lib/chemicalml/cml.rb +138 -44
  510. data/lib/chemicalml/convention/molecular/constraints/atom_coordinates_must_be_paired.rb +32 -0
  511. data/lib/chemicalml/convention/molecular/constraints/atom_id_must_match_pattern.rb +26 -0
  512. data/lib/chemicalml/convention/molecular/constraints/atom_must_have_element_type.rb +20 -0
  513. data/lib/chemicalml/convention/molecular/constraints/atom_must_have_id.rb +20 -0
  514. data/lib/chemicalml/convention/molecular/constraints/bond_must_have_atom_refs2.rb +20 -0
  515. data/lib/chemicalml/convention/molecular/constraints/bond_must_have_order.rb +20 -0
  516. data/lib/chemicalml/convention/molecular/constraints/bond_order_should_not_be_numeric.rb +27 -0
  517. data/lib/chemicalml/convention/molecular/constraints/molecule_must_have_id.rb +20 -0
  518. data/lib/chemicalml/convention/molecular/constraints/property_must_have_dict_ref.rb +20 -0
  519. data/lib/chemicalml/convention/molecular/constraints/scalar_must_have_data_type.rb +20 -0
  520. data/lib/chemicalml/convention/molecular/constraints.rb +20 -3
  521. data/lib/chemicalml/convention/molecular.rb +10 -0
  522. data/lib/chemicalml/model/atom.rb +28 -4
  523. data/lib/chemicalml/model/atom_parity.rb +21 -0
  524. data/lib/chemicalml/model/bond.rb +9 -3
  525. data/lib/chemicalml/model/bond_stereo.rb +29 -0
  526. data/lib/chemicalml/model/molecule.rb +13 -6
  527. data/lib/chemicalml/model.rb +2 -0
  528. data/lib/chemicalml/version.rb +1 -1
  529. data/lib/chemicalml/versioned_parser.rb +53 -12
  530. data/lib/chemicalml.rb +3 -1
  531. metadata +476 -40
  532. data/lib/chemicalml/cml/array.rb +0 -10
  533. data/lib/chemicalml/cml/atom.rb +0 -10
  534. data/lib/chemicalml/cml/atom_array.rb +0 -10
  535. data/lib/chemicalml/cml/atom_parity.rb +0 -10
  536. data/lib/chemicalml/cml/bond.rb +0 -10
  537. data/lib/chemicalml/cml/bond_array.rb +0 -10
  538. data/lib/chemicalml/cml/bond_stereo.rb +0 -10
  539. data/lib/chemicalml/cml/cml_module.rb +0 -10
  540. data/lib/chemicalml/cml/dictionary.rb +0 -10
  541. data/lib/chemicalml/cml/dictionary_entry.rb +0 -10
  542. data/lib/chemicalml/cml/document.rb +0 -10
  543. data/lib/chemicalml/cml/formula.rb +0 -10
  544. data/lib/chemicalml/cml/identifier.rb +0 -10
  545. data/lib/chemicalml/cml/label.rb +0 -10
  546. data/lib/chemicalml/cml/list.rb +0 -10
  547. data/lib/chemicalml/cml/matrix.rb +0 -10
  548. data/lib/chemicalml/cml/metadata.rb +0 -10
  549. data/lib/chemicalml/cml/metadata_list.rb +0 -10
  550. data/lib/chemicalml/cml/molecule.rb +0 -10
  551. data/lib/chemicalml/cml/name.rb +0 -10
  552. data/lib/chemicalml/cml/parameter.rb +0 -10
  553. data/lib/chemicalml/cml/parameter_list.rb +0 -10
  554. data/lib/chemicalml/cml/product.rb +0 -10
  555. data/lib/chemicalml/cml/product_list.rb +0 -10
  556. data/lib/chemicalml/cml/property.rb +0 -10
  557. data/lib/chemicalml/cml/property_list.rb +0 -10
  558. data/lib/chemicalml/cml/reactant.rb +0 -10
  559. data/lib/chemicalml/cml/reactant_list.rb +0 -10
  560. data/lib/chemicalml/cml/reaction.rb +0 -10
  561. data/lib/chemicalml/cml/reaction_list.rb +0 -10
  562. data/lib/chemicalml/cml/scalar.rb +0 -10
  563. data/lib/chemicalml/cml/substance.rb +0 -10
  564. data/lib/chemicalml/cml/unit.rb +0 -10
  565. data/lib/chemicalml/cml/unit_list.rb +0 -10
  566. data/lib/chemicalml/cml/unit_type.rb +0 -10
  567. data/lib/chemicalml/cml/unit_type_list.rb +0 -10
  568. data/lib/chemicalml/cml/wire_class_macro.rb +0 -45
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module AtomSet
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::AtomSet
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+
15
+ xml do
16
+ namespace Chemicalml::Cml::Namespace
17
+ root "atomSet"
18
+ map_attribute "id", to: :id
19
+ map_attribute "title", to: :title
20
+ map_attribute "dictRef", to: :dict_ref
21
+ map_attribute "convention", to: :convention
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module AtomType
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::AtomType
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+ attribute :elementType, :string
15
+ attribute :ref, :string
16
+
17
+ xml do
18
+ namespace Chemicalml::Cml::Namespace
19
+ root "atomType"
20
+ map_attribute "id", to: :id
21
+ map_attribute "title", to: :title
22
+ map_attribute "dictRef", to: :dict_ref
23
+ map_attribute "convention", to: :convention
24
+ map_attribute "elementType", to: :elementType
25
+ map_attribute "ref", to: :ref
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module AtomTypeList
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::AtomTypeList
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+
15
+ attribute :atom_types, :atomType, collection: true
16
+
17
+ xml do
18
+ namespace Chemicalml::Cml::Namespace
19
+ map_element "atomType", to: :atom_types
20
+ root "atomTypeList"
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
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module AtomicBasisFunction
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::AtomicBasisFunction
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+ attribute :atomRef, :string
15
+ attribute :n, :string
16
+ attribute :l, :string
17
+ attribute :m, :string
18
+ attribute :ms, :string
19
+ attribute :type, :string
20
+
21
+ xml do
22
+ namespace Chemicalml::Cml::Namespace
23
+ root "atomicBasisFunction"
24
+ map_attribute "id", to: :id
25
+ map_attribute "title", to: :title
26
+ map_attribute "dictRef", to: :dict_ref
27
+ map_attribute "convention", to: :convention
28
+ map_attribute "atomRef", to: :atomRef
29
+ map_attribute "n", to: :n
30
+ map_attribute "l", to: :l
31
+ map_attribute "m", to: :m
32
+ map_attribute "ms", to: :ms
33
+ map_attribute "type", to: :type
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module Band
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::Band
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+ attribute :kpointRef, :string
15
+ attribute :weight, :string
16
+
17
+ xml do
18
+ namespace Chemicalml::Cml::Namespace
19
+ root "band"
20
+ map_attribute "id", to: :id
21
+ map_attribute "title", to: :title
22
+ map_attribute "dictRef", to: :dict_ref
23
+ map_attribute "convention", to: :convention
24
+ map_attribute "kpointRef", to: :kpointRef
25
+ map_attribute "weight", to: :weight
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module BandList
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::BandList
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+
15
+ attribute :bands, :band, collection: true
16
+
17
+ xml do
18
+ namespace Chemicalml::Cml::Namespace
19
+ map_element "band", to: :bands
20
+ root "bandList"
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
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module BasisSet
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::BasisSet
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+
15
+ attribute :atomic_basis_functions, :atomicBasisFunction, collection: true
16
+
17
+ xml do
18
+ namespace Chemicalml::Cml::Namespace
19
+ map_element "atomicBasisFunction", to: :atomic_basis_functions
20
+ root "basisSet"
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
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -11,14 +11,18 @@ module Chemicalml
11
11
  attribute :atom_refs2, :string
12
12
  attribute :order, :string
13
13
  attribute :title, :string
14
+ attribute :dict_ref, :string
15
+ attribute :bond_stereo, :bondStereo
14
16
 
15
17
  xml do
16
- namespace Chemicalml::Cml::Namespace
18
+ namespace Chemicalml::Cml::Namespace
17
19
  root "bond"
18
20
  map_attribute "id", to: :id
19
21
  map_attribute "atomRefs2", to: :atom_refs2
20
22
  map_attribute "order", to: :order
21
23
  map_attribute "title", to: :title
24
+ map_attribute "dictRef", to: :dict_ref
25
+ map_element "bondStereo", to: :bond_stereo
22
26
  end
23
27
  end
24
28
  end
@@ -10,7 +10,7 @@ module Chemicalml
10
10
  attribute :bonds, :bond, collection: true
11
11
 
12
12
  xml do
13
- namespace Chemicalml::Cml::Namespace
13
+ namespace Chemicalml::Cml::Namespace
14
14
  root "bondArray"
15
15
  map_element "bond", to: :bonds
16
16
  end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module BondSet
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::BondSet
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+
15
+ xml do
16
+ namespace Chemicalml::Cml::Namespace
17
+ root "bondSet"
18
+ map_attribute "id", to: :id
19
+ map_attribute "title", to: :title
20
+ map_attribute "dictRef", to: :dict_ref
21
+ map_attribute "convention", to: :convention
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -13,7 +13,7 @@ module Chemicalml
13
13
  attribute :content, :string
14
14
 
15
15
  xml do
16
- namespace Chemicalml::Cml::Namespace
16
+ namespace Chemicalml::Cml::Namespace
17
17
  root "bondStereo"
18
18
  map_attribute "atomRefs2", to: :atom_refs2
19
19
  map_attribute "atomRefs4", to: :atom_refs4
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module BondType
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::BondType
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+ attribute :order, :string
15
+ attribute :ref, :string
16
+
17
+ xml do
18
+ namespace Chemicalml::Cml::Namespace
19
+ root "bondType"
20
+ map_attribute "id", to: :id
21
+ map_attribute "title", to: :title
22
+ map_attribute "dictRef", to: :dict_ref
23
+ map_attribute "convention", to: :convention
24
+ map_attribute "order", to: :order
25
+ map_attribute "ref", to: :ref
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module BondTypeList
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::BondTypeList
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+
15
+ attribute :bond_types, :bondType, collection: true
16
+
17
+ xml do
18
+ namespace Chemicalml::Cml::Namespace
19
+ map_element "bondType", to: :bond_types
20
+ root "bondTypeList"
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
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module CellParameter
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::CellParameter
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+ attribute :cellType, :string
15
+ attribute :parameterType, :string
16
+ attribute :units, :string
17
+
18
+ xml do
19
+ namespace Chemicalml::Cml::Namespace
20
+ root "cellParameter"
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 "cellType", to: :cellType
26
+ map_attribute "parameterType", to: :parameterType
27
+ map_attribute "units", to: :units
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -19,7 +19,7 @@ module Chemicalml
19
19
  attribute :lists, :list, collection: true
20
20
 
21
21
  xml do
22
- namespace Chemicalml::Cml::Namespace
22
+ namespace Chemicalml::Cml::Namespace
23
23
  root "module"
24
24
  map_attribute "id", to: :id
25
25
  map_attribute "title", to: :title
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module ConditionList
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::ConditionList
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+
15
+ attribute :scalars, :scalar, collection: true
16
+ attribute :metadata, :metadata
17
+
18
+ xml do
19
+ namespace Chemicalml::Cml::Namespace
20
+ map_element "scalar", to: :scalars
21
+ map_element "metadata", to: :metadata
22
+ root "conditionList"
23
+ map_attribute "id", to: :id
24
+ map_attribute "title", to: :title
25
+ map_attribute "dictRef", to: :dict_ref
26
+ map_attribute "convention", to: :convention
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module Crystal
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::Crystal
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+
15
+ attribute :scalars, :scalar, collection: true
16
+ attribute :lattice, :lattice
17
+ attribute :symmetry, :symmetry
18
+
19
+ xml do
20
+ namespace Chemicalml::Cml::Namespace
21
+ map_element "scalar", to: :scalars
22
+ map_element "lattice", to: :lattice
23
+ map_element "symmetry", to: :symmetry
24
+ root "crystal"
25
+ map_attribute "id", to: :id
26
+ map_attribute "title", to: :title
27
+ map_attribute "dictRef", to: :dict_ref
28
+ map_attribute "convention", to: :convention
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module Definition
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::Definition
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+ attribute :content, :string
15
+
16
+ xml do
17
+ namespace Chemicalml::Cml::Namespace
18
+ root "definition"
19
+ map_attribute "id", to: :id
20
+ map_attribute "title", to: :title
21
+ map_attribute "dictRef", to: :dict_ref
22
+ map_attribute "convention", to: :convention
23
+ map_content to: :content
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module Description
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::Description
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+ attribute :content, :string
15
+
16
+ xml do
17
+ namespace Chemicalml::Cml::Namespace
18
+ root "description"
19
+ map_attribute "id", to: :id
20
+ map_attribute "title", to: :title
21
+ map_attribute "dictRef", to: :dict_ref
22
+ map_attribute "convention", to: :convention
23
+ map_content to: :content
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -15,7 +15,7 @@ module Chemicalml
15
15
  attribute :entries, :entry, collection: true
16
16
 
17
17
  xml do
18
- namespace Chemicalml::Cml::Namespace
18
+ namespace Chemicalml::Cml::Namespace
19
19
  root "dictionary"
20
20
  map_attribute "title", to: :title
21
21
  map_attribute "namespace", to: :namespace
@@ -16,7 +16,7 @@ module Chemicalml
16
16
  attribute :description, :string
17
17
 
18
18
  xml do
19
- namespace Chemicalml::Cml::Namespace
19
+ namespace Chemicalml::Cml::Namespace
20
20
  root "entry"
21
21
  map_attribute "id", to: :id
22
22
  map_attribute "term", to: :term
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module Dimension
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::Dimension
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+ attribute :dataType, :string
15
+ attribute :units, :string
16
+
17
+ xml do
18
+ namespace Chemicalml::Cml::Namespace
19
+ root "dimension"
20
+ map_attribute "id", to: :id
21
+ map_attribute "title", to: :title
22
+ map_attribute "dictRef", to: :dict_ref
23
+ map_attribute "convention", to: :convention
24
+ map_attribute "dataType", to: :dataType
25
+ map_attribute "units", to: :units
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -7,13 +7,21 @@ module Chemicalml
7
7
  def self.included(klass)
8
8
  klass.class_eval do
9
9
  include Chemicalml::Cml::Role::Document
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
10
14
  attribute :molecules, :molecule, collection: true
11
15
  attribute :reaction_lists, :reactionList, collection: true
12
16
  attribute :reactions, :reaction, collection: true
13
17
 
14
18
  xml do
15
- namespace Chemicalml::Cml::Namespace
19
+ namespace Chemicalml::Cml::Namespace
16
20
  root "cml"
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
17
25
  map_element "molecule", to: :molecules
18
26
  map_element "reactionList", to: :reaction_lists
19
27
  map_element "reaction", to: :reactions
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module Documentation
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::Documentation
10
+ attribute :id, :string
11
+ attribute :title, :string
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+ attribute :content, :string
15
+
16
+ xml do
17
+ namespace Chemicalml::Cml::Namespace
18
+ root "documentation"
19
+ map_attribute "id", to: :id
20
+ map_attribute "title", to: :title
21
+ map_attribute "dictRef", to: :dict_ref
22
+ map_attribute "convention", to: :convention
23
+ map_content to: :content
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end