nomad-parser-plugins-atomistic 1.0__py3-none-any.whl

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 (80) hide show
  1. atomisticparsers/__init__.py +400 -0
  2. atomisticparsers/amber/__init__.py +19 -0
  3. atomisticparsers/amber/__main__.py +31 -0
  4. atomisticparsers/amber/metainfo/__init__.py +19 -0
  5. atomisticparsers/amber/metainfo/amber.py +495 -0
  6. atomisticparsers/amber/parser.py +42 -0
  7. atomisticparsers/asap/__init__.py +19 -0
  8. atomisticparsers/asap/__main__.py +31 -0
  9. atomisticparsers/asap/metainfo/__init__.py +19 -0
  10. atomisticparsers/asap/metainfo/asap.py +75 -0
  11. atomisticparsers/asap/parser.py +197 -0
  12. atomisticparsers/bopfox/__init__.py +19 -0
  13. atomisticparsers/bopfox/__main__.py +31 -0
  14. atomisticparsers/bopfox/metainfo/__init__.py +19 -0
  15. atomisticparsers/bopfox/metainfo/bopfox.py +225 -0
  16. atomisticparsers/bopfox/parser.py +808 -0
  17. atomisticparsers/dftbplus/__init__.py +19 -0
  18. atomisticparsers/dftbplus/__main__.py +31 -0
  19. atomisticparsers/dftbplus/metainfo/__init__.py +19 -0
  20. atomisticparsers/dftbplus/metainfo/dftbplus.py +217 -0
  21. atomisticparsers/dftbplus/parser.py +500 -0
  22. atomisticparsers/dlpoly/__init__.py +19 -0
  23. atomisticparsers/dlpoly/__main__.py +31 -0
  24. atomisticparsers/dlpoly/metainfo/__init__.py +19 -0
  25. atomisticparsers/dlpoly/metainfo/dl_poly.py +312 -0
  26. atomisticparsers/dlpoly/parser.py +798 -0
  27. atomisticparsers/gromacs/__init__.py +19 -0
  28. atomisticparsers/gromacs/__main__.py +31 -0
  29. atomisticparsers/gromacs/metainfo/__init__.py +19 -0
  30. atomisticparsers/gromacs/metainfo/gromacs.py +2388 -0
  31. atomisticparsers/gromacs/parser.py +1581 -0
  32. atomisticparsers/gromos/__init__.py +19 -0
  33. atomisticparsers/gromos/__main__.py +31 -0
  34. atomisticparsers/gromos/metainfo/__init__.py +19 -0
  35. atomisticparsers/gromos/metainfo/gromos.py +1995 -0
  36. atomisticparsers/gromos/parser.py +58 -0
  37. atomisticparsers/gulp/__init__.py +19 -0
  38. atomisticparsers/gulp/__main__.py +31 -0
  39. atomisticparsers/gulp/metainfo/__init__.py +19 -0
  40. atomisticparsers/gulp/metainfo/gulp.py +1117 -0
  41. atomisticparsers/gulp/parser.py +1316 -0
  42. atomisticparsers/h5md/__init__.py +19 -0
  43. atomisticparsers/h5md/__main__.py +31 -0
  44. atomisticparsers/h5md/metainfo/__init__.py +19 -0
  45. atomisticparsers/h5md/metainfo/h5md.py +239 -0
  46. atomisticparsers/h5md/parser.py +901 -0
  47. atomisticparsers/lammps/__init__.py +19 -0
  48. atomisticparsers/lammps/__main__.py +31 -0
  49. atomisticparsers/lammps/metainfo/__init__.py +19 -0
  50. atomisticparsers/lammps/metainfo/lammps.py +1417 -0
  51. atomisticparsers/lammps/parser.py +1753 -0
  52. atomisticparsers/libatoms/__init__.py +19 -0
  53. atomisticparsers/libatoms/__main__.py +31 -0
  54. atomisticparsers/libatoms/metainfo/__init__.py +19 -0
  55. atomisticparsers/libatoms/metainfo/lib_atoms.py +251 -0
  56. atomisticparsers/libatoms/parser.py +38 -0
  57. atomisticparsers/namd/__init__.py +19 -0
  58. atomisticparsers/namd/__main__.py +31 -0
  59. atomisticparsers/namd/metainfo/__init__.py +19 -0
  60. atomisticparsers/namd/metainfo/namd.py +1605 -0
  61. atomisticparsers/namd/parser.py +312 -0
  62. atomisticparsers/tinker/__init__.py +19 -0
  63. atomisticparsers/tinker/__main__.py +31 -0
  64. atomisticparsers/tinker/metainfo/__init__.py +18 -0
  65. atomisticparsers/tinker/metainfo/tinker.py +1363 -0
  66. atomisticparsers/tinker/parser.py +685 -0
  67. atomisticparsers/utils/__init__.py +22 -0
  68. atomisticparsers/utils/mdanalysis.py +662 -0
  69. atomisticparsers/utils/parsers.py +226 -0
  70. atomisticparsers/xtb/__init__.py +19 -0
  71. atomisticparsers/xtb/__main__.py +32 -0
  72. atomisticparsers/xtb/metainfo/__init__.py +19 -0
  73. atomisticparsers/xtb/metainfo/xtb.py +256 -0
  74. atomisticparsers/xtb/parser.py +979 -0
  75. nomad_parser_plugins_atomistic-1.0.dist-info/LICENSE +202 -0
  76. nomad_parser_plugins_atomistic-1.0.dist-info/METADATA +327 -0
  77. nomad_parser_plugins_atomistic-1.0.dist-info/RECORD +80 -0
  78. nomad_parser_plugins_atomistic-1.0.dist-info/WHEEL +5 -0
  79. nomad_parser_plugins_atomistic-1.0.dist-info/entry_points.txt +15 -0
  80. nomad_parser_plugins_atomistic-1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,19 @@
1
+ #
2
+ # Copyright The NOMAD Authors.
3
+ #
4
+ # This file is part of NOMAD.
5
+ # See https://nomad-lab.eu for further info.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ from .parser import H5MDParser
@@ -0,0 +1,31 @@
1
+ #
2
+ # Copyright The NOMAD Authors.
3
+ #
4
+ # This file is part of NOMAD.
5
+ # See https://nomad-lab.eu for further info.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ import sys
20
+ import json
21
+ import logging
22
+
23
+ from nomad.utils import configure_logging
24
+ from nomad.datamodel import EntryArchive
25
+ from atomisticparsers.h5md import H5MDParser
26
+
27
+ if __name__ == '__main__':
28
+ configure_logging(console_log_level=logging.DEBUG)
29
+ archive = EntryArchive()
30
+ H5MDParser().parse(sys.argv[1], archive, logging)
31
+ json.dump(archive.m_to_dict(), sys.stdout, indent=2)
@@ -0,0 +1,19 @@
1
+ #
2
+ # Copyright The NOMAD Authors.
3
+ #
4
+ # This file is part of NOMAD.
5
+ # See https://nomad-lab.eu for further info.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ from . import h5md
@@ -0,0 +1,239 @@
1
+ #
2
+ # Copyright The NOMAD Authors.
3
+ #
4
+ # This file is part of NOMAD.
5
+ # See https://nomad-lab.eu for further info.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ import numpy as np # pylint: disable=unused-import
20
+ import typing # pylint: disable=unused-import
21
+ from nomad.metainfo import ( # pylint: disable=unused-import
22
+ MSection,
23
+ MCategory,
24
+ Category,
25
+ Package,
26
+ Quantity,
27
+ Section,
28
+ SubSection,
29
+ SectionProxy,
30
+ Reference,
31
+ )
32
+ import runschema.run # pylint: disable=unused-import
33
+ import runschema.calculation # pylint: disable=unused-import
34
+ import runschema.method # pylint: disable=unused-import
35
+ import runschema.system # pylint: disable=unused-import
36
+
37
+
38
+ m_package = Package()
39
+
40
+
41
+ class ParamEntry(MSection):
42
+ """
43
+ Generic section defining a parameter name and value
44
+ """
45
+
46
+ m_def = Section(validate=False)
47
+
48
+ kind = Quantity(
49
+ type=str,
50
+ shape=[],
51
+ description="""
52
+ Name of the parameter.
53
+ """,
54
+ )
55
+
56
+ value = Quantity(
57
+ type=str,
58
+ shape=[],
59
+ description="""
60
+ Value of the parameter as a string.
61
+ """,
62
+ )
63
+
64
+ unit = Quantity(
65
+ type=str,
66
+ shape=[],
67
+ description="""
68
+ Unit of the parameter as a string.
69
+ """,
70
+ )
71
+
72
+ # TODO add description quantity
73
+
74
+
75
+ class CalcEntry(MSection):
76
+ """
77
+ Section describing a general type of calculation.
78
+ """
79
+
80
+ m_def = Section(validate=False)
81
+
82
+ kind = Quantity(
83
+ type=str,
84
+ shape=[],
85
+ description="""
86
+ Kind of the quantity.
87
+ """,
88
+ )
89
+
90
+ value = Quantity(
91
+ type=np.float64,
92
+ shape=[],
93
+ description="""
94
+ Value of this contribution.
95
+ """,
96
+ )
97
+
98
+ unit = Quantity(
99
+ type=str,
100
+ shape=[],
101
+ description="""
102
+ Unit of the parameter as a string.
103
+ """,
104
+ )
105
+
106
+ # TODO add description quantity
107
+
108
+
109
+ class ForceCalculations(runschema.method.ForceCalculations):
110
+ m_def = Section(
111
+ validate=False,
112
+ extends_base_section=True,
113
+ )
114
+
115
+ x_h5md_parameters = SubSection(
116
+ sub_section=ParamEntry.m_def,
117
+ description="""
118
+ Contains non-normalized force calculation parameters.
119
+ """,
120
+ repeats=True,
121
+ )
122
+
123
+
124
+ class NeighborSearching(runschema.method.NeighborSearching):
125
+ m_def = Section(
126
+ validate=False,
127
+ extends_base_section=True,
128
+ )
129
+
130
+ x_h5md_parameters = SubSection(
131
+ sub_section=ParamEntry.m_def,
132
+ description="""
133
+ Contains non-normalized neighbor searching parameters.
134
+ """,
135
+ repeats=True,
136
+ )
137
+
138
+
139
+ class AtomsGroup(runschema.system.AtomsGroup):
140
+ """
141
+ Describes a group of atoms which may constitute a sub system as in the case of a
142
+ molecule.
143
+ """
144
+
145
+ m_def = Section(
146
+ validate=False,
147
+ extends_base_section=True,
148
+ )
149
+
150
+ x_h5md_parameters = (
151
+ SubSection( # TODO should this be called parameters or attributes or what?
152
+ sub_section=ParamEntry.m_def,
153
+ description="""
154
+ Contains additional information about the atom group .
155
+ """,
156
+ repeats=True,
157
+ )
158
+ )
159
+
160
+
161
+ class Calculation(runschema.calculation.Calculation):
162
+ m_def = Section(
163
+ validate=False,
164
+ extends_base_section=True,
165
+ )
166
+
167
+ x_h5md_custom_calculations = SubSection(
168
+ sub_section=ParamEntry.m_def,
169
+ description="""
170
+ Contains other generic custom calculations that are not already defined.
171
+ """,
172
+ repeats=True,
173
+ )
174
+
175
+
176
+ class Energy(runschema.calculation.Energy):
177
+ m_def = Section(
178
+ validate=False,
179
+ extends_base_section=True,
180
+ )
181
+
182
+ x_h5md_energy_contributions = SubSection(
183
+ sub_section=runschema.calculation.EnergyEntry.m_def,
184
+ description="""
185
+ Contains other custom energy contributions that are not already defined.
186
+ """,
187
+ repeats=True,
188
+ )
189
+
190
+
191
+ class Author(MSection):
192
+ """
193
+ Contains the specifications of the program.
194
+ """
195
+
196
+ m_def = Section(validate=False)
197
+
198
+ name = Quantity(
199
+ type=str,
200
+ shape=[],
201
+ description="""
202
+ Specifies the name of the author who generated the h5md file.
203
+ """,
204
+ )
205
+
206
+ email = Quantity(
207
+ type=str,
208
+ shape=[],
209
+ description="""
210
+ Author's email.
211
+ """,
212
+ )
213
+
214
+
215
+ class Program(runschema.run.Program):
216
+ m_def = Section(
217
+ validate=False,
218
+ extends_base_section=True,
219
+ )
220
+
221
+
222
+ class Run(runschema.run.Run):
223
+ m_def = Section(
224
+ validate=False,
225
+ extends_base_section=True,
226
+ )
227
+
228
+ # TODO Not sure how we are dealing with versioning with H5MD-NOMAD
229
+ x_h5md_version = Quantity(
230
+ type=np.int32,
231
+ shape=[2],
232
+ description="""
233
+ Specifies the version of the h5md schema being followed.
234
+ """,
235
+ )
236
+
237
+ x_h5md_author = SubSection(sub_section=Author.m_def)
238
+
239
+ x_h5md_creator = SubSection(sub_section=Program.m_def)