asciichem-model 0.3.2

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 (78) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.adoc +80 -0
  4. data/docs/adr/0001-language-bindings.adoc +78 -0
  5. data/exe/generate-types-from-schemas +6 -0
  6. data/lib/asciichem_model/schema_type_generator.rb +163 -0
  7. data/lib/asciichem_model/validators.rb +79 -0
  8. data/lib/asciichem_model/version.rb +5 -0
  9. data/lib/asciichem_model.rb +18 -0
  10. data/models/asciichem/Atom.lutaml +49 -0
  11. data/models/asciichem/Bond.lutaml +24 -0
  12. data/models/asciichem/Calculation.lutaml +34 -0
  13. data/models/asciichem/Crystal.lutaml +34 -0
  14. data/models/asciichem/ElectronConfiguration.lutaml +35 -0
  15. data/models/asciichem/EmbeddedMath.lutaml +10 -0
  16. data/models/asciichem/Formula.lutaml +13 -0
  17. data/models/asciichem/Group.lutaml +22 -0
  18. data/models/asciichem/Identifier.lutaml +56 -0
  19. data/models/asciichem/Mechanism.lutaml +22 -0
  20. data/models/asciichem/Molecule.lutaml +25 -0
  21. data/models/asciichem/Name.lutaml +15 -0
  22. data/models/asciichem/Provenance.lutaml +20 -0
  23. data/models/asciichem/Reaction.lutaml +36 -0
  24. data/models/asciichem/ReactionCascade.lutaml +6 -0
  25. data/models/asciichem/Spectrum.lutaml +31 -0
  26. data/models/asciichem/SubstanceRecord.lutaml +52 -0
  27. data/models/asciichem/Text.lutaml +9 -0
  28. data/models/asciichem/ZMatrix.lutaml +34 -0
  29. data/schemas/v1/atom.yaml +45 -0
  30. data/schemas/v1/bond.yaml +20 -0
  31. data/schemas/v1/calculation.yaml +37 -0
  32. data/schemas/v1/crystal.yaml +30 -0
  33. data/schemas/v1/electron-configuration.yaml +43 -0
  34. data/schemas/v1/embedded-math.yaml +18 -0
  35. data/schemas/v1/examples/01-atom-isotope.yaml +7 -0
  36. data/schemas/v1/examples/02-molecule-water.yaml +18 -0
  37. data/schemas/v1/examples/03-group-multiplicity.yaml +11 -0
  38. data/schemas/v1/examples/04-reaction-conditions.yaml +30 -0
  39. data/schemas/v1/examples/05-substance-record-aspirin.yaml +40 -0
  40. data/schemas/v1/examples/06-electron-configuration.yaml +16 -0
  41. data/schemas/v1/examples/07-spectrum.yaml +18 -0
  42. data/schemas/v1/examples/99-01-negative-atom-bad-element.yaml +5 -0
  43. data/schemas/v1/examples/99-02-negative-identifier-bad-convention.yaml +5 -0
  44. data/schemas/v1/examples/99-03-negative-group-empty.yaml +4 -0
  45. data/schemas/v1/formula.yaml +30 -0
  46. data/schemas/v1/group.yaml +29 -0
  47. data/schemas/v1/identifier.yaml +32 -0
  48. data/schemas/v1/mechanism.yaml +30 -0
  49. data/schemas/v1/molecule.yaml +28 -0
  50. data/schemas/v1/name.yaml +22 -0
  51. data/schemas/v1/provenance.yaml +28 -0
  52. data/schemas/v1/reaction-cascade.yaml +17 -0
  53. data/schemas/v1/reaction.yaml +34 -0
  54. data/schemas/v1/spectrum.yaml +39 -0
  55. data/schemas/v1/substance-record.yaml +57 -0
  56. data/schemas/v1/text.yaml +16 -0
  57. data/schemas/v1/types/atom.ts +12 -0
  58. data/schemas/v1/types/bond.ts +5 -0
  59. data/schemas/v1/types/calculation.ts +13 -0
  60. data/schemas/v1/types/crystal.ts +13 -0
  61. data/schemas/v1/types/electron-configuration.ts +13 -0
  62. data/schemas/v1/types/embedded-math.ts +5 -0
  63. data/schemas/v1/types/formula.ts +5 -0
  64. data/schemas/v1/types/group.ts +7 -0
  65. data/schemas/v1/types/identifier.ts +7 -0
  66. data/schemas/v1/types/index.ts +21 -0
  67. data/schemas/v1/types/mechanism.ts +9 -0
  68. data/schemas/v1/types/molecule.ts +7 -0
  69. data/schemas/v1/types/name.ts +7 -0
  70. data/schemas/v1/types/provenance.ts +8 -0
  71. data/schemas/v1/types/reaction-cascade.ts +5 -0
  72. data/schemas/v1/types/reaction.ts +11 -0
  73. data/schemas/v1/types/spectrum.ts +14 -0
  74. data/schemas/v1/types/substance-record.ts +18 -0
  75. data/schemas/v1/types/text.ts +5 -0
  76. data/schemas/v1/types/zmatrix.ts +13 -0
  77. data/schemas/v1/zmatrix.yaml +41 -0
  78. metadata +136 -0
@@ -0,0 +1,41 @@
1
+ %YAML 1.2
2
+ ---
3
+ $id: "https://github.com/asciichem/asciichem-model/v1/zmatrix"
4
+ title: AsciiChem ZMatrix node
5
+ description: |
6
+ Internal coordinates: each row places an atom by distance/angle/
7
+ dihedral relative to previously defined atoms.
8
+ type: object
9
+ required: [type]
10
+ properties:
11
+ type:
12
+ const: zmatrix
13
+ rows:
14
+ type: array
15
+ items:
16
+ type: object
17
+ required: [atom]
18
+ properties:
19
+ atom:
20
+ type: string
21
+ description: This row's atom label, e.g. "H1".
22
+ ref1:
23
+ type: string
24
+ description: Label of the bond-length reference atom.
25
+ distance:
26
+ type: string
27
+ description: Bond length to ref1.
28
+ ref2:
29
+ type: string
30
+ description: Label of the angle reference atom.
31
+ angle:
32
+ type: string
33
+ description: Angle atom-ref1-ref2 (degrees).
34
+ ref3:
35
+ type: string
36
+ description: Label of the dihedral reference atom.
37
+ dihedral:
38
+ type: string
39
+ description: Dihedral ref2-ref1-atom angle (degrees).
40
+ additionalProperties: false
41
+ additionalProperties: false
metadata ADDED
@@ -0,0 +1,136 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: asciichem-model
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.2
5
+ platform: ruby
6
+ authors:
7
+ - AsciiChem contributors
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: json_schemer
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '0.2'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '3'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '0.2'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '3'
32
+ description: LutaML model definitions and versioned JSON Schemas that every AsciiChem
33
+ implementation (Ruby, TypeScript, Python) conforms to.
34
+ executables:
35
+ - generate-types-from-schemas
36
+ extensions: []
37
+ extra_rdoc_files: []
38
+ files:
39
+ - LICENSE
40
+ - README.adoc
41
+ - docs/adr/0001-language-bindings.adoc
42
+ - exe/generate-types-from-schemas
43
+ - lib/asciichem_model.rb
44
+ - lib/asciichem_model/schema_type_generator.rb
45
+ - lib/asciichem_model/validators.rb
46
+ - lib/asciichem_model/version.rb
47
+ - models/asciichem/Atom.lutaml
48
+ - models/asciichem/Bond.lutaml
49
+ - models/asciichem/Calculation.lutaml
50
+ - models/asciichem/Crystal.lutaml
51
+ - models/asciichem/ElectronConfiguration.lutaml
52
+ - models/asciichem/EmbeddedMath.lutaml
53
+ - models/asciichem/Formula.lutaml
54
+ - models/asciichem/Group.lutaml
55
+ - models/asciichem/Identifier.lutaml
56
+ - models/asciichem/Mechanism.lutaml
57
+ - models/asciichem/Molecule.lutaml
58
+ - models/asciichem/Name.lutaml
59
+ - models/asciichem/Provenance.lutaml
60
+ - models/asciichem/Reaction.lutaml
61
+ - models/asciichem/ReactionCascade.lutaml
62
+ - models/asciichem/Spectrum.lutaml
63
+ - models/asciichem/SubstanceRecord.lutaml
64
+ - models/asciichem/Text.lutaml
65
+ - models/asciichem/ZMatrix.lutaml
66
+ - schemas/v1/atom.yaml
67
+ - schemas/v1/bond.yaml
68
+ - schemas/v1/calculation.yaml
69
+ - schemas/v1/crystal.yaml
70
+ - schemas/v1/electron-configuration.yaml
71
+ - schemas/v1/embedded-math.yaml
72
+ - schemas/v1/examples/01-atom-isotope.yaml
73
+ - schemas/v1/examples/02-molecule-water.yaml
74
+ - schemas/v1/examples/03-group-multiplicity.yaml
75
+ - schemas/v1/examples/04-reaction-conditions.yaml
76
+ - schemas/v1/examples/05-substance-record-aspirin.yaml
77
+ - schemas/v1/examples/06-electron-configuration.yaml
78
+ - schemas/v1/examples/07-spectrum.yaml
79
+ - schemas/v1/examples/99-01-negative-atom-bad-element.yaml
80
+ - schemas/v1/examples/99-02-negative-identifier-bad-convention.yaml
81
+ - schemas/v1/examples/99-03-negative-group-empty.yaml
82
+ - schemas/v1/formula.yaml
83
+ - schemas/v1/group.yaml
84
+ - schemas/v1/identifier.yaml
85
+ - schemas/v1/mechanism.yaml
86
+ - schemas/v1/molecule.yaml
87
+ - schemas/v1/name.yaml
88
+ - schemas/v1/provenance.yaml
89
+ - schemas/v1/reaction-cascade.yaml
90
+ - schemas/v1/reaction.yaml
91
+ - schemas/v1/spectrum.yaml
92
+ - schemas/v1/substance-record.yaml
93
+ - schemas/v1/text.yaml
94
+ - schemas/v1/types/atom.ts
95
+ - schemas/v1/types/bond.ts
96
+ - schemas/v1/types/calculation.ts
97
+ - schemas/v1/types/crystal.ts
98
+ - schemas/v1/types/electron-configuration.ts
99
+ - schemas/v1/types/embedded-math.ts
100
+ - schemas/v1/types/formula.ts
101
+ - schemas/v1/types/group.ts
102
+ - schemas/v1/types/identifier.ts
103
+ - schemas/v1/types/index.ts
104
+ - schemas/v1/types/mechanism.ts
105
+ - schemas/v1/types/molecule.ts
106
+ - schemas/v1/types/name.ts
107
+ - schemas/v1/types/provenance.ts
108
+ - schemas/v1/types/reaction-cascade.ts
109
+ - schemas/v1/types/reaction.ts
110
+ - schemas/v1/types/spectrum.ts
111
+ - schemas/v1/types/substance-record.ts
112
+ - schemas/v1/types/text.ts
113
+ - schemas/v1/types/zmatrix.ts
114
+ - schemas/v1/zmatrix.yaml
115
+ homepage: https://asciichem.github.io
116
+ licenses:
117
+ - MIT
118
+ metadata: {}
119
+ rdoc_options: []
120
+ require_paths:
121
+ - lib
122
+ required_ruby_version: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: '3.0'
127
+ required_rubygems_version: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ requirements: []
133
+ rubygems_version: 4.0.16
134
+ specification_version: 4
135
+ summary: Normative semantic model and schemas for the AsciiChem ecosystem
136
+ test_files: []