diff --git a/.gitignore b/.gitignore
index a6cb8b615eb7a44af58c9563596ab6264ef6dbe6..bdaf518efd11b25bce719781906d500ddade8c55 100644
--- a/.gitignore
+++ b/.gitignore
@@ -52,3 +52,5 @@ TAGS
lib/
env/
+
+*.egg-info
\ No newline at end of file
diff --git a/parser/parser-namd/NAMDCommon.py b/namdparser/NAMDCommon.py
similarity index 100%
rename from parser/parser-namd/NAMDCommon.py
rename to namdparser/NAMDCommon.py
diff --git a/parser/parser-namd/NAMDDictionary.py b/namdparser/NAMDDictionary.py
similarity index 96%
rename from parser/parser-namd/NAMDDictionary.py
rename to namdparser/NAMDDictionary.py
index 0e6613adec193d71c262bdadb47e80a87cb641b3..2a626d9dfe23837c0a2e252dde7afa843e5420da 100644
--- a/parser/parser-namd/NAMDDictionary.py
+++ b/namdparser/NAMDDictionary.py
@@ -1,22 +1,21 @@
# Copyright 2018-2018 Berk Onat, Fawzi Mohamed
-#
+#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
-#
+#
# http://www.apache.org/licenses/LICENSE-2.0
-#
+#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-import setup_paths
import numpy as np
-from NAMDCommon import PARSERNAME, PROGRAMNAME, PARSERTAG
+from .NAMDCommon import PARSERNAME, PROGRAMNAME, PARSERTAG
from nomadcore.smart_parser.SmartParserDictionary import metaNameConverter, metaNameConverter_UnderscoreSpaceDash
-from nomadcore.smart_parser.SmartParserDictionary import MetaInfoMap, FileInfoMap, MapDictionary
+from nomadcore.smart_parser.SmartParserDictionary import MetaInfoMap, FileInfoMap, MapDictionary
from nomadcore.smart_parser.SmartParserDictionary import getDict_MetaStrInDict, getList_MetaStrInDict, get_unitDict
import nomadcore.md_data_access.MDDataAccess as MDData
@@ -26,7 +25,7 @@ def get_fileListDict():
Returns:
the list of defaults file namelists
"""
-
+
startpage = {
'nameTranslate' : metaNameConverter,
'metaHeader' : PARSERTAG,
@@ -36,19 +35,19 @@ def get_fileListDict():
'activeSections' : [PARSERTAG+'_section_input_output_files']
}
namelist = {
- 'structure' : FileInfoMap(startpage, fileFormat=['.psf'], activeInfo=True,
+ 'structure' : FileInfoMap(startpage, fileFormat=['.psf'], activeInfo=True,
infoPurpose=['topology', 'unitcell']),
- 'traj_coord' : FileInfoMap(startpage, fileFormat=['.dcd'], activeInfo=True,
+ 'traj_coord' : FileInfoMap(startpage, fileFormat=['.dcd'], activeInfo=True,
infoPurpose=['trajectory', 'unitcell']),
'traj_vel' : FileInfoMap(startpage, fileFormat=['.dcd'], activeInfo=True,
infoPurpose=['velocities']),
- 'traj_force' : FileInfoMap(startpage, fileFormat=['.dcd'], activeInfo=True,
+ 'traj_force' : FileInfoMap(startpage, fileFormat=['.dcd'], activeInfo=True,
infoPurpose=['forces']),
'output_coord' : FileInfoMap(startpage, fileFormat=['.namdbin'], activeInfo=False,
infoPurpose=['outputcoordinates', 'unitcell']),
- 'output_vel' : FileInfoMap(startpage, fileFormat=['.namdbin'], activeInfo=False,
+ 'output_vel' : FileInfoMap(startpage, fileFormat=['.namdbin'], activeInfo=False,
infoPurpose=['outputvelocities']),
- 'output_force' : FileInfoMap(startpage, fileFormat=['.namdbin'], activeInfo=False,
+ 'output_force' : FileInfoMap(startpage, fileFormat=['.namdbin'], activeInfo=False,
infoPurpose=['outputforces']),
'input_coord' : FileInfoMap(startpage, fileFormat=['.pdb'],
infoPurpose=['inputcoordinates', 'inputunitcell']),
@@ -71,11 +70,11 @@ def get_nameListDict(deflist):
matchWith parameters:
EOL = End of line
- PL = Match with previous line
+ PL = Match with previous line
PW = Previous word
NW = Next word (until space, comma) (DEFAULT)
UD = until delimeter (can be any string/character)
-
+
The text matched inside apostrophe or qoutation is extracted
Returns:
@@ -224,11 +223,11 @@ def get_nameListDict(deflist):
'activeSections' : ['section_single_configuration_calculation']
})
mddatalist = {
- 'WRITING COORDINATES TO DCD FILE' : MetaInfoMap(startpage,
+ 'WRITING COORDINATES TO DCD FILE' : MetaInfoMap(startpage,
replaceTag='DCDSTEP', subFunc=lambda x: x.split()[-1].replace('\n','').strip()),
- 'WRITING VELOCITIES TO DCD FILE AT STEP' : MetaInfoMap(startpage,
+ 'WRITING VELOCITIES TO DCD FILE AT STEP' : MetaInfoMap(startpage,
replaceTag='VELSTEP', subFunc=lambda x: x.replace('\n','').strip()),
- 'WRITING FORCES TO DCD FILE AT STEP' : MetaInfoMap(startpage,
+ 'WRITING FORCES TO DCD FILE AT STEP' : MetaInfoMap(startpage,
replaceTag='FORCESTEP', subFunc=lambda x: x.replace('\n','').strip()),
'TS' : MetaInfoMap(startpage),
'BOND' : MetaInfoMap(startpage),
@@ -299,7 +298,7 @@ def set_Dictionaries(self):
self.stepcontrolDict = {
'logsteps' : None,
'nextlogsteps' : None,
- 'trajsteps' : None,
+ 'trajsteps' : None,
'velsteps' : None,
'forcesteps' : None,
'steps' : None,
@@ -313,12 +312,12 @@ def set_Dictionaries(self):
'mddata' : self.mddataDict,
'extra' : self.extraDict,
}
- self.sectionDict = {
- 'section' : {
- "metaNameTag" : ['input_output_files',
- 'control_parameters'],
- "listTypStr" : 'type_section',
- "repeatingSection" : False,
+ self.sectionDict = {
+ 'section' : {
+ "metaNameTag" : ['input_output_files',
+ 'control_parameters'],
+ "listTypStr" : 'type_section',
+ "repeatingSection" : False,
"supraNames" : ["section_run"]
}
}
@@ -340,7 +339,7 @@ def get_updateDictionary(self, defname):
if(st is not None and isinstance(st, str)):
if("[" in st or "(" in st):
val.append(list(storedtext))
- if val:
+ if val:
return False, np.linalg.norm(np.asarray(val)), itemdict
else:
return False, itemdict["value"], itemdict
@@ -355,27 +354,27 @@ def get_updateDictionary(self, defname):
# ---------------------------------------------------------------
# Definitions of meta data values for section_sampling_method
# ---------------------------------------------------------------
- sampling = {
+ sampling = {
'ensemble_type' : MetaInfoMap(startpage, activeInfo=True,
depends=[
- {'test' : [['minimization', ' is None'],
+ {'test' : [['minimization', ' is None'],
['thermostat', ' in [\"tcouple\",'
'\"rescale\",'
'\"reassign\",'
'\"andersen\",'
- '\"langevin\"]'],
+ '\"langevin\"]'],
['barostat', ' in [\"berendsen\",'
- '\"langevin\"]']],
+ '\"langevin\"]']],
'assign' : 'NPT'},
- {'test' : [['minimization', ' is None'],
- ['thermostat', ' in [\"langevin\"]'],
+ {'test' : [['minimization', ' is None'],
+ ['thermostat', ' in [\"langevin\"]'],
['thermostat', ' not in [\"tcouple\",'
'\"rescale\",'
'\"reassign\",'
'\"andersen\"]'],
['barostat', ' is None']],
'assign' : 'Langevin'},
- {'test' : [['minimization', ' is None'],
+ {'test' : [['minimization', ' is None'],
['thermostat', ' in [\"tcouple\",'
'\"rescale\",'
'\"reassign\",'
@@ -384,16 +383,16 @@ def get_updateDictionary(self, defname):
'assign' : 'NVT'},
{'test' : [['minimization', ' is None'],
['thermostat', ' is None'],
- ['barostat', ' is None']],
+ ['barostat', ' is None']],
'assign' : 'NVE'},
- {'test' : [['minimization', ' is not None']],
+ {'test' : [['minimization', ' is not None']],
'assign' : 'minimization'},
],
lookupdict=self.extraDict
),
- 'sampling_method' : MetaInfoMap(startpage, activeInfo=True,
+ 'sampling_method' : MetaInfoMap(startpage, activeInfo=True,
depends=[
- {'test' : [['minimization', ' is not None']],
+ {'test' : [['minimization', ' is not None']],
'assign' : 'geometry_optimization'},
{'test' : [['minimization', ' is None']],
'assign' : 'molecular_dynamics'}
@@ -413,9 +412,9 @@ def get_updateDictionary(self, defname):
# 'geometry_optimization_geometry_change' : MetaInfoMap(startpage),
'geometry_optimization_method' : MetaInfoMap(startpage,
depends=[
- {'test' : [['minimization', ' == \"cg\"']],
+ {'test' : [['minimization', ' == \"cg\"']],
'assign' : 'CG'},
- {'test' : [['minimization', ' == \"quench\"']],
+ {'test' : [['minimization', ' == \"quench\"']],
'assign' : 'Velocity Quenching'},
],
lookupdict=self.extraDict,
@@ -424,12 +423,12 @@ def get_updateDictionary(self, defname):
# 'geometry_optimization_threshold_force' : MetaInfoMap(startpage),
'x_namd_barostat_type' : MetaInfoMap(startpage,
depends=[
- {'test' : [['minimization', ' is None'],
+ {'test' : [['minimization', ' is None'],
['barostat', '== \"berendsen\"']],
'assign' : 'Berendsen'},
- {'test' : [['minimization', ' is None'],
+ {'test' : [['minimization', ' is None'],
['barostat', '== \"langevin\"']],
- 'assign' : 'Nose-Hoover Langevin'}
+ 'assign' : 'Nose-Hoover Langevin'}
],
lookupdict=self.extraDict,
#autoSections=True,
@@ -439,7 +438,7 @@ def get_updateDictionary(self, defname):
'x_namd_barostat_target_pressure' : MetaInfoMap(startpage,
depends=[
{'test' : [['TARGET PRESSURE', ' is not None']],
- 'value' : 'TARGET PRESSURE'}
+ 'value' : 'TARGET PRESSURE'}
],
lookupdict=self.cntrlDict,
valtype='float',
@@ -452,9 +451,9 @@ def get_updateDictionary(self, defname):
'x_namd_barostat_tau' : MetaInfoMap(startpage,
depends=[
{'test' : [['LANGEVIN OSCILLATION PERIOD', ' is not None']],
- 'value' : 'LANGEVIN OSCILLATION PERIOD'},
+ 'value' : 'LANGEVIN OSCILLATION PERIOD'},
{'test' : [['BERENDSEN RELAXATION TIME', ' is not None']],
- 'value' : 'BERENDSEN RELAXATION TIME'}
+ 'value' : 'BERENDSEN RELAXATION TIME'}
],
lookupdict=self.cntrlDict,
valtype='float',
@@ -467,7 +466,7 @@ def get_updateDictionary(self, defname):
'x_namd_integrator_type' : MetaInfoMap(startpage,
depends=[
{'test' : [['integrator', ' is not None']],
- 'value' : 'integrator'},
+ 'value' : 'integrator'},
{'test' : [['thermostat', ' == \"langevin\"']],
'assign' : 'Langevin'}
],
@@ -500,21 +499,21 @@ def get_updateDictionary(self, defname):
),
'x_namd_thermostat_type' : MetaInfoMap(startpage,
depends=[
- {'test' : [['minimization', ' is None'],
+ {'test' : [['minimization', ' is None'],
['thermostat', ' == \"tcouple\"']],
- 'assign' : 'Berendsen'},
- {'test' : [['minimization', ' is None'],
+ 'assign' : 'Berendsen'},
+ {'test' : [['minimization', ' is None'],
['thermostat', ' == \"rescale\"']],
- 'assign' : 'Velocity Rescaling'},
- {'test' : [['minimization', ' is None'],
+ 'assign' : 'Velocity Rescaling'},
+ {'test' : [['minimization', ' is None'],
['thermostat', ' == \"reassign\"']],
- 'assign' : 'Velocity Reassigning'},
- {'test' : [['minimization', ' is None'],
+ 'assign' : 'Velocity Reassigning'},
+ {'test' : [['minimization', ' is None'],
['thermostat', ' == \"andersen\"']],
- 'assign' : 'Andersen'},
- {'test' : [['minimization', ' is None'],
- ['thermostat', ' == \"langevin\"']],
- 'assign' : 'Nose-Hoover Langevin'},
+ 'assign' : 'Andersen'},
+ {'test' : [['minimization', ' is None'],
+ ['thermostat', ' == \"langevin\"']],
+ 'assign' : 'Nose-Hoover Langevin'},
],
lookupdict=self.extraDict,
#autoSections=True,
@@ -592,7 +591,7 @@ def get_updateDictionary(self, defname):
# ------------------------------------------------------------
# Definitions for section_single_configuration_calculation
# ------------------------------------------------------------
- singleconfcalc = {
+ singleconfcalc = {
#'atom_forces_type' : MetaInfoMap(startpage,
# depends=[{'assign' : 'Force Field'}],
# lookupdict=self.mddataDict
@@ -648,7 +647,7 @@ def get_updateDictionary(self, defname):
'time_single_configuration_calculation_wall_start' : MetaInfoMap(startpage),
#'stress_tensor_kind' : MetaInfoMap(startpage,
# depends=[
- # {'test' : [['minimization', ' is not None']],
+ # {'test' : [['minimization', ' is not None']],
# 'assign' : 'geometry_optimization'},
# {'test' : [['minimization', ' is None']],
# 'assign' : 'molecular_dynamics'}
@@ -671,11 +670,11 @@ def get_updateDictionary(self, defname):
activeSections=['section_energy_van_der_Waals']
),
}
-
+
# ------------------------------------------
# Definitions for section_frame_sequence
# ------------------------------------------
- frameseq = {
+ frameseq = {
#'frame_sequence_conserved_quantity_frames' : MetaInfoMap(startpage,
# depends=[{'store' : 'TS'}],
# valtype='int',
@@ -950,7 +949,7 @@ def get_updateDictionary(self, defname):
#'previous_sequence_ref' : MetaInfoMap(startpage)
}
- frameseqend = {
+ frameseqend = {
#'number_of_conserved_quantity_evaluations_in_sequence' : MetaInfoMap(startpage,
# activeInfo=True,
# value=(lambda x: np.array(x['val']).flatten().shape[0] if(
@@ -1158,7 +1157,7 @@ def get_updateDictionary(self, defname):
'spacegroup_3D_wyckoff' : MetaInfoMap(startpage),
'symmorphic' : MetaInfoMap(startpage),
'system_name' : MetaInfoMap(startpage,
- subfunction={
+ subfunction={
'function' : MDData.MDDataConverter.topology_system_name,
'supportDict' : self.topoDict,
},
@@ -1285,7 +1284,7 @@ def get_updateDictionary(self, defname):
'number_of_atoms_per_molecule_interaction' : MetaInfoMap(startpage),
'number_of_molecule_interactions' : MetaInfoMap(startpage)
}
-
+
# section_atom_in_molecule of section_molecule_type
atom_in_mol = {
'atom_in_molecule_charge' : MetaInfoMap(startpage),
diff --git a/parser/parser-namd/NAMDParser.py b/namdparser/NAMDParser.py
similarity index 90%
rename from parser/parser-namd/NAMDParser.py
rename to namdparser/NAMDParser.py
index 5e091f62ea52cbc72ebbfcf223387d15c2f753cb..0ac4fef1e599c1c93a1baedde5195774636283e4 100644
--- a/parser/parser-namd/NAMDParser.py
+++ b/namdparser/NAMDParser.py
@@ -1,11 +1,11 @@
# Copyright 2018-2018 Berk Onat, Fawzi Mohamed
-#
+#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
-#
+#
# http://www.apache.org/licenses/LICENSE-2.0
-#
+#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -15,7 +15,6 @@
from builtins import map
from builtins import range
from builtins import object
-import setup_paths
import numpy as np
import nomadcore.ActivateLogging
from nomadcore.caching_backend import CachingLevel
@@ -24,9 +23,9 @@ from nomadcore.smart_parser import SmartParserCommon as SmartParser
from nomadcore.smart_parser.SmartParserCommon import get_metaInfo, conv_str, conv_int, conv_float, open_section
from nomadcore.smart_parser.SmartParserDictionary import getList_MetaStrInDict, getDict_MetaStrInDict
from nomadcore.smart_parser.SmartParserDictionary import isMetaStrInDict
-from NAMDDictionary import get_updateDictionary, set_Dictionaries
-from NAMDCommon import PARSERNAME, PROGRAMNAME, PARSERVERSION, PARSERTAG, LOGGER
-from NAMDCommon import PARSER_INFO_DEFAULT, META_INFO_PATH, set_excludeList, set_includeList
+from .NAMDDictionary import get_updateDictionary, set_Dictionaries
+from .NAMDCommon import PARSERNAME, PROGRAMNAME, PARSERVERSION, PARSERTAG, LOGGER
+from .NAMDCommon import PARSER_INFO_DEFAULT, META_INFO_PATH, set_excludeList, set_includeList
from nomadcore.md_data_access import MDDataAccess as MDDA
import argparse
import logging
@@ -61,7 +60,7 @@ class NAMDParser(SmartParser.ParserBase):
}
SmartParser.ParserBase.__init__(
self, re_program_name=re.compile(r"\s*"+PROGRAMNAME+"$"),
- parsertag=PARSERTAG, metainfopath=META_INFO_PATH,
+ parsertag=PARSERTAG, metainfopath=META_INFO_PATH,
parserinfodef=PARSER_INFO_DEFAULT)
set_Dictionaries(self)
@@ -79,27 +78,27 @@ class NAMDParser(SmartParser.ParserBase):
metaInfo = self.metaInfoEnv.infoKinds[name]
if (name.startswith(PARSERTAG + '_mdin_') and
metaInfo.kindStr == "type_document_content" and
- (PARSERTAG + "_mdin_method" in metaInfo.superNames or
- PARSERTAG + "_mdin_run" in metaInfo.superNames or
+ (PARSERTAG + "_mdin_method" in metaInfo.superNames or
+ PARSERTAG + "_mdin_run" in metaInfo.superNames or
PARSERTAG + "_mdin_system" in metaInfo.superNames) or
name.startswith(PARSERTAG + '_parm_') and
metaInfo.kindStr == "type_document_content" and
- (PARSERTAG + "_mdin_method" in metaInfo.superNames or
+ (PARSERTAG + "_mdin_method" in metaInfo.superNames or
PARSERTAG + "_mdin_run" in metaInfo.superNames or
PARSERTAG + "_mdin_system" in metaInfo.superNames) or
#name.startswith(PARSERTAG + '_mdin_file_') and
name.startswith(PARSERTAG + '_inout_file_') or
#metaInfo.kindStr == "type_document_content" and
- #(PARSERTAG + "_section_input_output_files" in metaInfo.superNames or
+ #(PARSERTAG + "_section_input_output_files" in metaInfo.superNames or
# "section_run" in metaInfo.superNames) or
name.startswith(PARSERTAG + '_inout_control_') or
- #(PARSERTAG + "_section_control_parameters" in metaInfo.superNames) or
+ #(PARSERTAG + "_section_control_parameters" in metaInfo.superNames) or
#name.startswith(PARSERTAG + '_mdin_') and
#(PARSERTAG + "_section_control_parameters" in metaInfo.superNames) or
name.startswith(PARSERTAG + '_mdout_') or
name.startswith(PARSERTAG + '_mdout_') and
#metaInfo.kindStr == "type_document_content" and
- (PARSERTAG + "_mdout_method" in metaInfo.superNames or
+ (PARSERTAG + "_mdout_method" in metaInfo.superNames or
PARSERTAG + "_mdout_system" in metaInfo.superNames or
"section_run" in metaInfo.superNames or
PARSERTAG + "_mdout_single_configuration_calculation" in metaInfo.superNames)
@@ -197,8 +196,8 @@ class NAMDParser(SmartParser.ParserBase):
def onClose_section_run(self, backend, gIndex, section):
"""Trigger called when section_run is closed.
- Write the keywords from control parametres and
- the NAMD output from the parsed log output,
+ Write the keywords from control parametres and
+ the NAMD output from the parsed log output,
which belong to settings_run.
Variables are reset to ensure clean start for new run.
"""
@@ -211,7 +210,7 @@ class NAMDParser(SmartParser.ParserBase):
'dictionary' : section_frameseq_Dict
}
self.metaStorage.update(updateFrameDict)
- self.metaStorage.updateBackend(backend.superBackend,
+ self.metaStorage.updateBackend(backend.superBackend,
startsection=['section_frame_sequence'],
autoopenclose=False)
backend.addValue("frame_sequence_to_sampling_ref", self.secSamplingGIndex)
@@ -226,14 +225,14 @@ class NAMDParser(SmartParser.ParserBase):
Determine whether topology, trajectory and input coordinate files are
supplied to the parser
-
+
Initiates topology and trajectory file handles.
- Captures topology, atomic positions, atom labels, lattice vectors and
- stores them before section_system and
+ Captures topology, atomic positions, atom labels, lattice vectors and
+ stores them before section_system and
section_single_configuration_calculation are encountered.
"""
- # Checking whether topology, input
+ # Checking whether topology, input
# coordinates and trajectory files exist
atLeastOneFileExist = False
working_dir_name = os.path.dirname(os.path.abspath(self.fName))
@@ -287,7 +286,7 @@ class NAMDParser(SmartParser.ParserBase):
'dictionary' : section_control_Dict
}
self.metaStorage.update(updateDict)
- self.metaStorage.updateBackend(backend.superBackend,
+ self.metaStorage.updateBackend(backend.superBackend,
startsection=[PARSERTAG+'_section_control_parameters'],
autoopenclose=False)
nparms = 0
@@ -298,7 +297,7 @@ class NAMDParser(SmartParser.ParserBase):
if nparms>0:
backend.superBackend.addValue(PARSERTAG+"_inout_control_number_of_parameters", int(nparms))
# NAMD prints the initial and final energies to the log file.
- # The total number of MD steps in NAMD is nsteps irrelevant
+ # The total number of MD steps in NAMD is nsteps irrelevant
# to the number of steps in log file of energy file (.edr)
nsteps = 0
nlogsteps = 0
@@ -307,8 +306,8 @@ class NAMDParser(SmartParser.ParserBase):
noutputstep = 0
nbinsteps = 0
ntrajsteps = 0
- nvelsteps = 0
- nforcesteps = 0
+ nvelsteps = 0
+ nforcesteps = 0
nstructKey = isMetaStrInDict("STRUCTURE FILE",self.cntrlDict)
ninputKey = isMetaStrInDict("COORDINATE PDB",self.cntrlDict)
noutputKey = isMetaStrInDict("OUTPUT FILENAME",self.cntrlDict)
@@ -354,7 +353,7 @@ class NAMDParser(SmartParser.ParserBase):
if nfoutKey is not None:
if self.cntrlDict[nfoutKey].activeInfo:
nforcesteps = conv_int(self.cntrlDict[nfoutKey].value, default=0)
-
+
if nlogsteps>0:
logsteps = [i for i in range(0, nsteps, nlogsteps)]
logsteps.append(nsteps)
@@ -442,11 +441,11 @@ class NAMDParser(SmartParser.ParserBase):
'dictionary' : section_sampling_Dict
}
self.metaStorage.update(updateDict)
- self.metaStorage.updateBackend(backend.superBackend,
+ self.metaStorage.updateBackend(backend.superBackend,
startsection=['section_run'],
#startsection=['section_sampling_method'],
autoopenclose=False)
-
+
def onOpen_section_topology(self, backend, gIndex, section):
# keep track of the latest topology description section
if (gIndex is None or gIndex == -1 or gIndex == "-1"):
@@ -465,7 +464,7 @@ class NAMDParser(SmartParser.ParserBase):
'dictionary' : section_topology_Dict
}
self.metaStorage.update(updateDict)
- self.metaStorage.updateBackend(backend.superBackend,
+ self.metaStorage.updateBackend(backend.superBackend,
startsection=['section_topology'],
autoopenclose=False)
self.topology_atom_type_and_interactions(backend, gIndex)
@@ -491,7 +490,7 @@ class NAMDParser(SmartParser.ParserBase):
SloppyBackend = backend.superBackend
else:
SloppyBackend = backend
-
+
numatoms = None
# NAMD default unit vectors. If all are zeros than the simulation cell is not periodic.
@@ -515,10 +514,10 @@ class NAMDParser(SmartParser.ParserBase):
if self.trajectory is not None:
if self.trajectory.unitcell_vectors is None:
self.trajectory.unitcell_vectors = unit_vectors
-
+
if self.topology:
if (self.secTopologyGIndex is None or
- (self.secTopologyGIndex == -1 or
+ (self.secTopologyGIndex == -1 or
self.secTopologyGIndex == "-1")):
self.onOpen_section_topology(backend, None, None)
self.onClose_section_topology(backend, None, None)
@@ -529,7 +528,7 @@ class NAMDParser(SmartParser.ParserBase):
if self.trajectory is not None:
coordinates=self.trajectory
positions=self.atompositions
- elif(self.inputcoords is not None and
+ elif(self.inputcoords is not None and
self.MDcurrentstep == steps[0]):
coordinates=self.inputcoords
positions=self.inputpositions
@@ -557,9 +556,9 @@ class NAMDParser(SmartParser.ParserBase):
SloppyBackend.addArrayValues('atom_positions', np.transpose(np.asarray(
self.metaStorage.convertUnits(positions, "Angstrom", self.unitDict))))
if coordinates.velocities is not None:
- # Velocities in PDB files are stored in A/ps units.(PDB files are read for input
+ # Velocities in PDB files are stored in A/ps units.(PDB files are read for input
# coordinates, velocities, and forces)
- # Velocities in NAMD binary/DCD files are stored in NAMD internal units and must be multiplied
+ # Velocities in NAMD binary/DCD files are stored in NAMD internal units and must be multiplied
# by PDBVELFACTOR=20.45482706 to convert to A/ps. (These files are used for output trajectory)
SloppyBackend.addArrayValues('atom_velocities', np.transpose(np.asarray(
self.metaStorage.convertUnits(
@@ -663,7 +662,7 @@ class NAMDParser(SmartParser.ParserBase):
}
self.secVDWGIndex = backend.superBackend.openSection("section_energy_van_der_Waals")
self.metaStorage.update(updateDictVDW)
- self.metaStorage.updateBackend(backend.superBackend,
+ self.metaStorage.updateBackend(backend.superBackend,
startsection=['section_energy_van_der_Waals'],
autoopenclose=False)
backend.superBackend.closeSection("section_energy_van_der_Waals", self.secVDWGIndex)
@@ -675,7 +674,7 @@ class NAMDParser(SmartParser.ParserBase):
'dictionary' : section_singlecalc_Dict
}
self.metaStorage.update(updateDict)
- self.metaStorage.updateBackend(backend.superBackend,
+ self.metaStorage.updateBackend(backend.superBackend,
startsection=['section_single_configuration_calculation'],
autoopenclose=False)
if self.MDcurrentstep in forcesteps:
@@ -688,7 +687,7 @@ class NAMDParser(SmartParser.ParserBase):
self.atompositions.velocities, "kcal/(mol*Angstrom)", self.unitDict))))
# need to transpose array since its shape is [number_of_atoms,3] in the metadata
- if(self.MDcurrentstep in trajsteps or
+ if(self.MDcurrentstep in trajsteps or
self.MDcurrentstep in velsteps):
#print("PRINTING traj steps:",self.MDcurrentstep,trajsteps)
self.onOpen_section_system(backend, None, None)
@@ -696,12 +695,12 @@ class NAMDParser(SmartParser.ParserBase):
backend.addValue('single_configuration_calculation_to_system_ref', self.secSystemGIndex)
self.MDiter += 1
else:
- if(self.MDcurrentstep in logsteps or
+ if(self.MDcurrentstep in logsteps or
self.MDcurrentstep in forcesteps):
self.MDiter += 1
- #if((self.MDcurrentstep in logsteps and
- # self.MDiter+1 in steps) or
- # (self.MDcurrentstep in forcesteps and
+ #if((self.MDcurrentstep in logsteps and
+ # self.MDiter+1 in steps) or
+ # (self.MDcurrentstep in forcesteps and
# self.MDiter+1 in steps)):
# self.MDiter += 1
#if self.MDiter<len(steps):
@@ -735,7 +734,7 @@ class NAMDParser(SmartParser.ParserBase):
if fname in k:
return value+v
return value
-
+
def mdInfoTrans(self, fname, value):
mdInfoDict = {
"minimization" : [],
@@ -792,7 +791,7 @@ class NAMDParser(SmartParser.ParserBase):
else:
return value
return value
-
+
def convertInt(self, fname, value):
keyMapper = {
"TS" : "MDcurrentstep",
@@ -820,7 +819,7 @@ class NAMDParser(SmartParser.ParserBase):
if fname in k:
return float(value)*timestep
return value
-
+
def build_subMatchers(self):
"""Builds the sub matchers to parse the main output file.
"""
@@ -834,24 +833,24 @@ class NAMDParser(SmartParser.ParserBase):
"waitlist" : None,
"stopOnMatchStr" : r"(?:^\s*$|\s*ENERGY:\s*)",
"quitOnMatchStr" : r"^====================================================",
- "metaNameStart" : PARSERTAG + "_mdout_",
+ "metaNameStart" : PARSERTAG + "_mdout_",
"matchNameList" : mddataNameList,
"matchNameDict" : "mddataDict",
"updateMatchDict" : True,
"onlyCaseSensitive" : True,
"stopOnFirstLine" : False,
- "parserOptions" : {
- "header" : True,
- "headersave" : "mdoutHeaderDict",
- "wrap" : False,
- "tablelines" : 0,
- "tablestartsat" : r"\s*ETITLE:\s*",
- "tableendsat" : r"^\s*$",
+ "parserOptions" : {
+ "header" : True,
+ "headersave" : "mdoutHeaderDict",
+ "wrap" : False,
+ "tablelines" : 0,
+ "tablestartsat" : r"\s*ETITLE:\s*",
+ "tableendsat" : r"^\s*$",
"lineFilter" : None,
"movetostopline" : False,
"parsercntrlattr" : "MDcurrentstep",
"parsercntrlin" : "logsteps",
- "lookupdict" : "stepcontrolDict"
+ "lookupdict" : "stepcontrolDict"
}
},
# timestep energy outputs Parser
@@ -861,24 +860,24 @@ class NAMDParser(SmartParser.ParserBase):
"waitlist" : None,
"stopOnMatchStr" : r"(?:^\s*$|\s*ENERGY:\s*)",
"quitOnMatchStr" : r"^====================================================",
- "metaNameStart" : PARSERTAG + "_mdout_",
+ "metaNameStart" : PARSERTAG + "_mdout_",
"matchNameList" : mddataNameList,
"matchNameDict" : "mddataDict",
"updateMatchDict" : True,
"onlyCaseSensitive" : True,
"stopOnFirstLine" : False,
- "parserOptions" : {
- "header" : False,
- "headerList" : "mdoutHeaderDict",
- "wrap" : False,
- "tablelines" : 0,
- "tablestartsat" : r"\s*ENERGY:\s*",
- "tableendsat" : r"^\s*$",
+ "parserOptions" : {
+ "header" : False,
+ "headerList" : "mdoutHeaderDict",
+ "wrap" : False,
+ "tablelines" : 0,
+ "tablestartsat" : r"\s*ENERGY:\s*",
+ "tableendsat" : r"^\s*$",
"lineFilter" : None,
"movetostopline" : False,
"parsercntrlattr" : "MDcurrentstep",
"parsercntrlin" : "logsteps",
- "lookupdict" : "stepcontrolDict"
+ "lookupdict" : "stepcontrolDict"
}
},
# trajectory Parser
@@ -887,15 +886,15 @@ class NAMDParser(SmartParser.ParserBase):
"parsername" : "dcd_parser",
"stopOnMatchStr" : r"\s*(?:ENERGY|TIMING|FINISHED|OPENING|The last)\s*",
"quitOnMatchStr" : r"\s*(?:ENERGY|TIMING|FINISHED|OPENING|The last)\s*",
- "metaNameStart" : PARSERTAG + "_mdout_",
+ "metaNameStart" : PARSERTAG + "_mdout_",
"matchNameList" : mddataNameList,
"matchNameDict" : "mddataDict",
"updateMatchDict" : False,
"onlyCaseSensitive" : True,
"stopOnFirstLine" : True,
"parserOptions" : {
- "controlsections" : ["section_single_configuration_calculation"],
- "controlsave" : "sectioncontrol",
+ "controlsections" : ["section_single_configuration_calculation"],
+ "controlsave" : "sectioncontrol",
"controldict" : "stepcontrolDict",
}
},
@@ -905,15 +904,15 @@ class NAMDParser(SmartParser.ParserBase):
"parsername" : "veldcd_parser",
"stopOnMatchStr" : r"\s*(?:ENERGY|TIMING|FINISHED|OPENING|The last)\s*",
"quitOnMatchStr" : r"\s*(?:ENERGY|TIMING|FINISHED|OPENING|The last)\s*",
- "metaNameStart" : PARSERTAG + "_mdout_",
+ "metaNameStart" : PARSERTAG + "_mdout_",
"matchNameList" : mddataNameList,
"matchNameDict" : "mddataDict",
"updateMatchDict" : False,
"onlyCaseSensitive" : True,
"stopOnFirstLine" : True,
"parserOptions" : {
- "controlsections" : ["section_single_configuration_calculation"],
- "controlsave" : "sectioncontrol",
+ "controlsections" : ["section_single_configuration_calculation"],
+ "controlsave" : "sectioncontrol",
"controldict" : "stepcontrolDict",
}
},
@@ -923,15 +922,15 @@ class NAMDParser(SmartParser.ParserBase):
"parsername" : "forcedcd_parser",
"stopOnMatchStr" : r"\s*(?:ENERGY|TIMING|FINISHED|OPENING|The last)\s*",
"quitOnMatchStr" : r"\s*(?:ENERGY|TIMING|FINISHED|OPENING|The last)\s*",
- "metaNameStart" : PARSERTAG + "_mdout_",
+ "metaNameStart" : PARSERTAG + "_mdout_",
"matchNameList" : mddataNameList,
"matchNameDict" : "mddataDict",
"updateMatchDict" : False,
"onlyCaseSensitive" : True,
"stopOnFirstLine" : True,
"parserOptions" : {
- "controlsections" : ["section_single_configuration_calculation"],
- "controlsave" : "sectioncontrol",
+ "controlsections" : ["section_single_configuration_calculation"],
+ "controlsave" : "sectioncontrol",
"controldict" : "stepcontrolDict",
}
},
@@ -942,31 +941,31 @@ class NAMDParser(SmartParser.ParserBase):
"waitlist" : None,
"stopOnMatchStr" : "AlwaysStop",
"quitOnMatchStr" : "AlwaysStop",
- "metaNameStart" : PARSERTAG + "_mdout_",
+ "metaNameStart" : PARSERTAG + "_mdout_",
"matchNameList" : mddataNameList,
"matchNameDict" : "mddataDict",
"updateMatchDict" : True,
"onlyCaseSensitive" : True,
"stopOnFirstLine" : True,
- "parserOptions" : {
- "dictionary" : "stepcontrolDict",
+ "parserOptions" : {
+ "dictionary" : "stepcontrolDict",
"dicttype" : "standard", # (standard or smartparser)
- "readwritedict" : "write",
+ "readwritedict" : "write",
"keyMapper" : {"TS" : "MDcurrentstep",
"DCDSTEP" : "MDcurrentstep",
"VELSTEP" : "MDcurrentstep",
"FORCESTEP" : "MDcurrentstep"},
"updatefunc" : "max",
"updateattrs" : ["MDcurrentstep"],
- "controlsections" : ["section_single_configuration_calculation"],
- "controlsave" : "sectioncontrol",
+ "controlsections" : ["section_single_configuration_calculation"],
+ "controlsave" : "sectioncontrol",
"controldict" : "stepcontrolDict",
"controlattrs" : ["MDcurrentstep"],
"preprocess" : self.convertInt,
"postprocess" : self.convertInt,
#"parsercntrlattr" : "MDcurrentstep",
#"parsercntrlin" : "steps",
- #"lookupdict" : "stepcontrolDict"
+ #"lookupdict" : "stepcontrolDict"
}
},
# time save Parser
@@ -976,16 +975,16 @@ class NAMDParser(SmartParser.ParserBase):
"waitlist" : None,
"stopOnMatchStr" : "AlwaysStop",
"quitOnMatchStr" : "AlwaysStop",
- "metaNameStart" : PARSERTAG + "_mdout_",
+ "metaNameStart" : PARSERTAG + "_mdout_",
"matchNameList" : mddataNameList,
"matchNameDict" : "mddataDict",
"updateMatchDict" : True,
"onlyCaseSensitive" : True,
"stopOnFirstLine" : True,
- "parserOptions" : {
- "dictionary" : "mddataDict",
+ "parserOptions" : {
+ "dictionary" : "mddataDict",
"dicttype" : "smartparser", # (standard or smartparser)
- "readwritedict" : "read",
+ "readwritedict" : "read",
"keyMapper" : {"TIME" : "TS"},
"preprocess" : self.convertInt,
"postprocess" : self.updateTime,
@@ -1007,16 +1006,16 @@ class NAMDParser(SmartParser.ParserBase):
"updateMatchDict" : False,
"onlyCaseSensitive" : True,
"stopOnFirstLine" : True,
- "parserOptions" : {
- "sectionname" : "section_single_configuration_calculation",
- "sectionopen" : True,
- "sectionopenattr" : "MDcurrentstep",
- "sectionopenin" : "steps",
- "sectionclose" : True,
- "sectioncloseattr" : "MDcurrentstep",
- "sectionclosein" : "steps",
- "activatesection" : "sectioncontrol",
- "lookupdict" : "stepcontrolDict"
+ "parserOptions" : {
+ "sectionname" : "section_single_configuration_calculation",
+ "sectionopen" : True,
+ "sectionopenattr" : "MDcurrentstep",
+ "sectionopenin" : "steps",
+ "sectionclose" : True,
+ "sectioncloseattr" : "MDcurrentstep",
+ "sectionclosein" : "steps",
+ "activatesection" : "sectioncontrol",
+ "lookupdict" : "stepcontrolDict"
}
},
# Step Control Parser
@@ -1032,18 +1031,18 @@ class NAMDParser(SmartParser.ParserBase):
"updateMatchDict" : False,
"onlyCaseSensitive" : True,
"stopOnFirstLine" : True,
- "parserOptions" : {
+ "parserOptions" : {
"waitatlineStr" : r"\s*ENERGY:\s*",
- "controlwait" : None,
- #"controlwait" : "nextlogsteps",
- "controlattr" : "MDcurrentstep",
- "controlnextattr" : "MDnextstep",
- "controllast" : -1,
- "controlskip" : [],
- "controlin" : "steps",
- "controlcounter" : "targetstep",
+ "controlwait" : None,
+ #"controlwait" : "nextlogsteps",
+ "controlattr" : "MDcurrentstep",
+ "controlnextattr" : "MDnextstep",
+ "controllast" : -1,
+ "controlskip" : [],
+ "controlin" : "steps",
+ "controlcounter" : "targetstep",
"controldict" : "stepcontrolDict",
- "lookupdict" : "stepcontrolDict"
+ "lookupdict" : "stepcontrolDict"
}
}
]
@@ -1060,7 +1059,7 @@ class NAMDParser(SmartParser.ParserBase):
"stopOnMatchStr" : r"\s*Info:\s*(?:SUMMARY\s*OF\s*PARAMETERS:|"
"STRUCTURE\s*SUMMARY:)",
"quitOnMatchStr" : None,
- "metaNameStart" : PARSERTAG + "_inout_control_",
+ "metaNameStart" : PARSERTAG + "_inout_control_",
"matchNameList" : cntrlNameList,
"matchNameDict" : "cntrlDict",
"updateMatchDict" : True,
@@ -1076,16 +1075,16 @@ class NAMDParser(SmartParser.ParserBase):
"quitOnMatchStr" : None,
"stopOnMatchStr" : "AlwaysStop",
"quitOnMatchStr" : "AlwaysStop",
- "metaNameStart" : PARSERTAG + "_mdin_method_",
+ "metaNameStart" : PARSERTAG + "_mdin_method_",
"matchNameList" : extraNameList,
"matchNameDict" : "extraDict",
"updateMatchDict" : True,
"onlyCaseSensitive" : True,
"stopOnFirstLine" : True,
- "parserOptions" : {
- "dictionary" : "cntrlDict",
+ "parserOptions" : {
+ "dictionary" : "cntrlDict",
"dicttype" : "smartparser", # (standard or smartparser)
- "readwritedict" : "read",
+ "readwritedict" : "read",
"keyMapper" : {
"minimization" : "MINIMIZATION",
"minimization" : "VELOCITY QUENCHING",
@@ -1112,16 +1111,16 @@ class NAMDParser(SmartParser.ParserBase):
"waitlist" : None,
"stopOnMatchStr" : "AlwaysStop",
"quitOnMatchStr" : "AlwaysStop",
- "metaNameStart" : PARSERTAG + "_inout_file",
+ "metaNameStart" : PARSERTAG + "_inout_file",
"matchNameList" : fileNameList,
"matchNameDict" : "fileDict",
"updateMatchDict" : True,
"onlyCaseSensitive" : True,
"stopOnFirstLine" : True,
- "parserOptions" : {
- "dictionary" : "cntrlDict",
+ "parserOptions" : {
+ "dictionary" : "cntrlDict",
"dicttype" : "smartparser", # (standard or smartparser)
- "readwritedict" : "read",
+ "readwritedict" : "read",
"keyMapper" : {
"structure" : "STRUCTURE FILE",
"traj_coord" : "Info: DCD FILENAME",
@@ -1151,31 +1150,31 @@ class NAMDParser(SmartParser.ParserBase):
startReStr=r"\s*Info:\s*NAMD\s*"
"(?P<program_version>[0-9.]+)\s*for\s*"
"(?P<"+PARSERTAG+"_build_osarch>.+)\s*"),
- SM(name='license',
+ SM(name='license',
startReStr=r"\s*Info:\s*Please\s*visit\s*",
- coverageIgnore=True,
- adHoc=lambda p:
- self.adHoc_read_store_text_stop_parsing(p,
+ coverageIgnore=True,
+ adHoc=lambda p:
+ self.adHoc_read_store_text_stop_parsing(p,
stopOnMatchStr=r"\s*Info:\s*(?:Info:Based|"
"Built|Running|Configuration)\s*",
quitOnMatchStr=None,
- metaNameStart=PARSERTAG+"_",
- metaNameStore=PARSERTAG+"_program_citation",
+ metaNameStart=PARSERTAG+"_",
+ metaNameStore=PARSERTAG+"_program_citation",
matchNameList=None,
matchNameDict=None,
onlyCaseSensitive=True,
stopOnFirstLine=False,
storeFirstLine=True,
storeStopQuitLine=True,
- onQuitRunFunction=lambda p: p.backend.addValue(
- PARSERTAG+"_program_citation",
+ onQuitRunFunction=lambda p: p.backend.addValue(
+ PARSERTAG+"_program_citation",
p.lastMatch[
PARSERTAG+"_program_citation"
].replace('\n', ' ').replace('Info:', ' ')
)
)
),
- SM(name='loghostinfo',
+ SM(name='loghostinfo',
startReStr=r"\s*Info:\s*Built\s*"
"(?P<"+PARSERTAG+"_program_build_date>"
"[a-zA-Z0-9:. ]+)\s*by"),
@@ -1185,11 +1184,11 @@ class NAMDParser(SmartParser.ParserBase):
"STRUCTURE\s*SUMMARY|Entering\s*startup)\s*",
forwardMatch=True,
sections=['section_sampling_method', PARSERTAG + '_section_control_parameters'],
- adHoc=lambda p:
+ adHoc=lambda p:
self.adHoc_takingover_parsing(p,
stopOnMatchStr=r"\s*Info:\s*(?:SUMMARY\s*OF\s*PARAMETERS|"
"STRUCTURE\s*SUMMARY|Entering\s*startup)",
- quitOnMatchStr=None,
+ quitOnMatchStr=None,
stopControl="stopControl", # if None or True, stop with quitMatch, else wait
record=False, # if False or None, no record, no replay
replay=0, # if 0 or None= no replay, if <0 infinite replay
@@ -1201,8 +1200,8 @@ class NAMDParser(SmartParser.ParserBase):
startReStr=r"\s*Info:\s*Finished\s*startup",
forwardMatch=True,
sections=[PARSERTAG+'_section_input_output_files'],
- coverageIgnore=True,
- adHoc=lambda p:
+ coverageIgnore=True,
+ adHoc=lambda p:
self.adHoc_takingover_parsing(p,
stopOnMatchStr=r"^\s*$",
quitOnMatchStr=r"^\s*$",
@@ -1232,7 +1231,7 @@ class NAMDParser(SmartParser.ParserBase):
startReStr=r"\s*ETITLE:\s*TS\s*"
"(?P<"+PARSERTAG+"_mdin_finline>.*)(?:'|\")?\s*,?",
forwardMatch=True,
- adHoc=lambda p:
+ adHoc=lambda p:
self.adHoc_takingover_parsing(p,
stopOnMatchStr=r"^====================================================",
quitOnMatchStr=r"^====================================================",
@@ -1252,12 +1251,35 @@ class NAMDParser(SmartParser.ParserBase):
subMatchers=[
SM(r"^WallClock:\s*[0-9:.eEdD]+\s*CPUTime:\s*[0-9.:eEdD]+\s*Memory:\s*[0-9:.KMGTB ]+"),
]), # END Computation
- SM(name='end_run',
+ SM(name='end_run',
startReStr=r"\s*End\s*of\s*program\s*"),
]) # END NewRun
]
+class NamdParserInterface():
+ """ A proper class envolop for running this parser from within python. """
+ def __init__(self, backend, **kwargs):
+ self.backend_factory = backend
+
+ def parse(self, mainfile):
+ from unittest.mock import patch
+ logging.info('namd parser started')
+ logging.getLogger('nomadcore').setLevel(logging.WARNING)
+ backend = self.backend_factory("namd.nomadmetainfo.json")
+ parserInfo = {'name': 'namd-parser', 'version': '1.0'}
+ context = NAMDParser()
+ with patch.object(sys, 'argv', ['<exe>', '--uri', 'nmd://uri', mainfile]):
+ mainFunction(
+ mainFileDescription=context.mainFileDescription(),
+ metaInfoEnv=None,
+ parserInfo=parserInfo,
+ cachingLevelForMetaName=context.cachingLevelForMetaName,
+ superContext=context,
+ superBackend=backend)
+ return backend
+
+
if __name__ == "__main__":
parser = NAMDParser()
parser.parse()
diff --git a/namdparser/__init__.py b/namdparser/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..5aa590cecd582b44463b6fccbd7e0516572abd0f
--- /dev/null
+++ b/namdparser/__init__.py
@@ -0,0 +1 @@
+from .NAMDParser import NamdParserInterface as NamdParser
\ No newline at end of file
diff --git a/namdparser/metainfo/__init__.py b/namdparser/metainfo/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..642e1b94c74757def3adce5eccffccafd1fb0e52
--- /dev/null
+++ b/namdparser/metainfo/__init__.py
@@ -0,0 +1,13 @@
+import sys
+from nomad.metainfo import Environment
+from nomad.metainfo.legacy import LegacyMetainfoEnvironment
+import namdparser.metainfo.namd
+import nomad.datamodel.metainfo.common
+import nomad.datamodel.metainfo.public
+import nomad.datamodel.metainfo.general
+
+m_env = LegacyMetainfoEnvironment()
+m_env.m_add_sub_section(Environment.packages, sys.modules['namdparser.metainfo.namd'].m_package) # type: ignore
+m_env.m_add_sub_section(Environment.packages, sys.modules['nomad.datamodel.metainfo.common'].m_package) # type: ignore
+m_env.m_add_sub_section(Environment.packages, sys.modules['nomad.datamodel.metainfo.public'].m_package) # type: ignore
+m_env.m_add_sub_section(Environment.packages, sys.modules['nomad.datamodel.metainfo.general'].m_package) # type: ignore
diff --git a/namdparser/metainfo/namd.py b/namdparser/metainfo/namd.py
new file mode 100644
index 0000000000000000000000000000000000000000..e890535d157fa2f043cf9bd823e4b81e1e334ceb
--- /dev/null
+++ b/namdparser/metainfo/namd.py
@@ -0,0 +1,2062 @@
+import numpy as np # pylint: disable=unused-import
+import typing # pylint: disable=unused-import
+from nomad.metainfo import ( # pylint: disable=unused-import
+ MSection, MCategory, Category, Package, Quantity, Section, SubSection, SectionProxy,
+ Reference
+)
+from nomad.metainfo.legacy import LegacyDefinition
+
+from nomad.datamodel.metainfo import public
+from nomad.datamodel.metainfo import common
+
+m_package = Package(
+ name='namd_nomadmetainfo_json',
+ description='None',
+ a_legacy=LegacyDefinition(name='namd.nomadmetainfo.json'))
+
+
+class x_namd_mdin_input_output_files(MCategory):
+ '''
+ Parameters of mdin belonging to x_namd_section_control_parameters.
+ '''
+
+ m_def = Category(
+ a_legacy=LegacyDefinition(name='x_namd_mdin_input_output_files'))
+
+
+class x_namd_mdin_control_parameters(MCategory):
+ '''
+ Parameters of mdin belonging to x_namd_section_control_parameters.
+ '''
+
+ m_def = Category(
+ a_legacy=LegacyDefinition(name='x_namd_mdin_control_parameters'))
+
+
+class x_namd_mdin_method(MCategory):
+ '''
+ Parameters of mdin belonging to section method.
+ '''
+
+ m_def = Category(
+ a_legacy=LegacyDefinition(name='x_namd_mdin_method'))
+
+
+class x_namd_mdout_single_configuration_calculation(MCategory):
+ '''
+ Parameters of mdout belonging to section_single_configuration_calculation.
+ '''
+
+ m_def = Category(
+ a_legacy=LegacyDefinition(name='x_namd_mdout_single_configuration_calculation'))
+
+
+class x_namd_mdout_method(MCategory):
+ '''
+ Parameters of mdin belonging to section method.
+ '''
+
+ m_def = Category(
+ a_legacy=LegacyDefinition(name='x_namd_mdout_method'))
+
+
+class x_namd_mdout_run(MCategory):
+ '''
+ Parameters of mdin belonging to settings run.
+ '''
+
+ m_def = Category(
+ categories=[public.settings_run],
+ a_legacy=LegacyDefinition(name='x_namd_mdout_run'))
+
+
+class x_namd_mdin_run(MCategory):
+ '''
+ Parameters of mdin belonging to settings run.
+ '''
+
+ m_def = Category(
+ categories=[public.settings_run],
+ a_legacy=LegacyDefinition(name='x_namd_mdin_run'))
+
+
+class x_namd_section_input_output_files(MSection):
+ '''
+ Section to store input and output file names
+ '''
+
+ m_def = Section(validate=False, a_legacy=LegacyDefinition(name='x_namd_section_input_output_files'))
+
+ x_namd_inout_file_structure = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD input topology file.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_file_structure'))
+
+ x_namd_inout_file_traj_coord = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD output trajectory file.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_file_traj_coord'))
+
+ x_namd_inout_file_traj_vel = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD output file for velocities in the trajectory.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_file_traj_vel'))
+
+ x_namd_inout_file_traj_force = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD output file for forces in the trajectory.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_file_traj_force'))
+
+ x_namd_inout_file_output_coord = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD output coordinates file.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_file_output_coord'))
+
+ x_namd_inout_file_output_vel = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD output velocities file.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_file_output_vel'))
+
+ x_namd_inout_file_output_force = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD output forces file.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_file_output_force'))
+
+ x_namd_inout_file_input_coord = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD input coordinates file.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_file_input_coord'))
+
+ x_namd_inout_file_input_vel = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD input velocities file.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_file_input_vel'))
+
+ x_namd_inout_file_restart_coord = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD restart coordinates file.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_file_restart_coord'))
+
+ x_namd_inout_file_restart_vel = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD restart velocities file.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_file_restart_vel'))
+
+ x_namd_inout_file_fftw_datafile = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD FFTW data file.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_file_fftw_datafile'))
+
+ x_namd_inout_file_mdlog = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD MD output log file.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_file_mdlog'))
+
+
+class x_namd_section_control_parameters(MSection):
+ '''
+ Section to store the input and output control parameters
+ '''
+
+ m_def = Section(validate=False, a_legacy=LegacyDefinition(name='x_namd_section_control_parameters'))
+
+ x_namd_inout_control_timestep = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_timestep'))
+
+ x_namd_inout_control_number_of_steps = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_number_of_steps'))
+
+ x_namd_inout_control_steps_per_cycle = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_steps_per_cycle'))
+
+ x_namd_inout_control_periodic_cell_basis_1 = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_periodic_cell_basis_1'))
+
+ x_namd_inout_control_periodic_cell_basis_2 = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_periodic_cell_basis_2'))
+
+ x_namd_inout_control_periodic_cell_basis_3 = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_periodic_cell_basis_3'))
+
+ x_namd_inout_control_periodic_cell_center = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_periodic_cell_center'))
+
+ x_namd_inout_control_load_balancer = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_load_balancer'))
+
+ x_namd_inout_control_load_balancing_strategy = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_load_balancing_strategy'))
+
+ x_namd_inout_control_ldb_period = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_ldb_period'))
+
+ x_namd_inout_control_first_ldb_timestep = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_first_ldb_timestep'))
+
+ x_namd_inout_control_last_ldb_timestep = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_last_ldb_timestep'))
+
+ x_namd_inout_control_ldb_background_scaling = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_ldb_background_scaling'))
+
+ x_namd_inout_control_hom_background_scaling = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_hom_background_scaling'))
+
+ x_namd_inout_control_pme_background_scaling = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_pme_background_scaling'))
+
+ x_namd_inout_control_min_atoms_per_patch = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_min_atoms_per_patch'))
+
+ x_namd_inout_control_initial_temperature = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_initial_temperature'))
+
+ x_namd_inout_control_center_of_mass_moving_initially = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_center_of_mass_moving_initially'))
+
+ x_namd_inout_control_dielectric = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_dielectric'))
+
+ x_namd_inout_control_excluded_species_or_groups = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_excluded_species_or_groups'))
+
+ x_namd_inout_control_1_4_electrostatics_scale = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_1_4_electrostatics_scale'))
+
+ x_namd_inout_control_traj_dcd_filename = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_traj_dcd_filename'))
+
+ x_namd_inout_control_traj_dcd_frequency = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_traj_dcd_frequency'))
+
+ x_namd_inout_control_traj_dcd_first_step = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_traj_dcd_first_step'))
+
+ x_namd_inout_control_velocity_dcd_filename = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_velocity_dcd_filename'))
+
+ x_namd_inout_control_velocity_dcd_frequency = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_velocity_dcd_frequency'))
+
+ x_namd_inout_control_velocity_dcd_first_step = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_velocity_dcd_first_step'))
+
+ x_namd_inout_control_force_dcd_filename = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_force_dcd_filename'))
+
+ x_namd_inout_control_force_dcd_frequency = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_force_dcd_frequency'))
+
+ x_namd_inout_control_force_dcd_first_step = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_force_dcd_first_step'))
+
+ x_namd_inout_control_output_filename = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_output_filename'))
+
+ x_namd_inout_control_binary_output = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_binary_output'))
+
+ x_namd_inout_control_restart_filename = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_restart_filename'))
+
+ x_namd_inout_control_restart_frequency = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_restart_frequency'))
+
+ x_namd_inout_control_binary_restart = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_binary_restart'))
+
+ x_namd_inout_control_switching = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_switching'))
+
+ x_namd_inout_control_switching_on = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_switching_on'))
+
+ x_namd_inout_control_switching_off = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_switching_off'))
+
+ x_namd_inout_control_pairlist_distance = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_pairlist_distance'))
+
+ x_namd_inout_control_pairlist_shrink_rate = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_pairlist_shrink_rate'))
+
+ x_namd_inout_control_pairlist_grow_rate = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_pairlist_grow_rate'))
+
+ x_namd_inout_control_pairlist_trigger = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_pairlist_trigger'))
+
+ x_namd_inout_control_pairlists_per_cycle = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_pairlists_per_cycle'))
+
+ x_namd_inout_control_pairlists = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_pairlists'))
+
+ x_namd_inout_control_margin = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_margin'))
+
+ x_namd_inout_control_hydrogen_group_cutoff = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_hydrogen_group_cutoff'))
+
+ x_namd_inout_control_patch_dimension = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_patch_dimension'))
+
+ x_namd_inout_control_energy_output_steps = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_energy_output_steps'))
+
+ x_namd_inout_control_crossterm_energy = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_crossterm_energy'))
+
+ x_namd_inout_control_timing_output_steps = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_timing_output_steps'))
+
+ x_namd_inout_control_velocity_rescale_freq = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_velocity_rescale_freq'))
+
+ x_namd_inout_control_velocity_rescale_temp = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_velocity_rescale_temp'))
+
+ x_namd_inout_control_velocity_reassignment_freq = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_velocity_reassignment_freq'))
+
+ x_namd_inout_control_velocity_reassignment_temp = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_velocity_reassignment_temp'))
+
+ x_namd_inout_control_velocity_reassignment_incr = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_velocity_reassignment_incr'))
+
+ x_namd_inout_control_velocity_reassignment_hold = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_velocity_reassignment_hold'))
+
+ x_namd_inout_control_lowe_andersen_dynamics = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_lowe_andersen_dynamics'))
+
+ x_namd_inout_control_lowe_andersen_temperature = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_lowe_andersen_temperature'))
+
+ x_namd_inout_control_lowe_andersen_rate = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_lowe_andersen_rate'))
+
+ x_namd_inout_control_lowe_andersen_cutoff = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_lowe_andersen_cutoff'))
+
+ x_namd_inout_control_langevin_dynamics = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_langevin_dynamics'))
+
+ x_namd_inout_control_langevin_temperature = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_langevin_temperature'))
+
+ x_namd_inout_control_langevin_integrator = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_langevin_integrator'))
+
+ x_namd_inout_control_langevin_damping_file = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_langevin_damping_file'))
+
+ x_namd_inout_control_langevin_damping_column = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_langevin_damping_column'))
+
+ x_namd_inout_control_langevin_damping_coefficient_unit = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_langevin_damping_coefficient_unit'))
+
+ x_namd_inout_control_langevin_dynamics_not_applied_to = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_langevin_dynamics_not_applied_to'))
+
+ x_namd_inout_control_temperature_coupling = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_temperature_coupling'))
+
+ x_namd_inout_control_coupling_temperature = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_coupling_temperature'))
+
+ x_namd_inout_control_berendsen_pressure_coupling = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_berendsen_pressure_coupling'))
+
+ x_namd_inout_control_berendsen_compressibility_estimate = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_berendsen_compressibility_estimate'))
+
+ x_namd_inout_control_berendsen_relaxation_time = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_berendsen_relaxation_time'))
+
+ x_namd_inout_control_berendsen_coupling_frequency = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_berendsen_coupling_frequency'))
+
+ x_namd_inout_control_langevin_piston_pressure_control = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_langevin_piston_pressure_control'))
+
+ x_namd_inout_control_target_pressure = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_target_pressure'))
+
+ x_namd_inout_control_langevin_oscillation_period = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_langevin_oscillation_period'))
+
+ x_namd_inout_control_langevin_decay_time = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_langevin_decay_time'))
+
+ x_namd_inout_control_langevin_piston_temperature = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_langevin_piston_temperature'))
+
+ x_namd_inout_control_pressure_control = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_pressure_control'))
+
+ x_namd_inout_control_initial_strain_rate = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_initial_strain_rate'))
+
+ x_namd_inout_control_cell_fluctuation = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_cell_fluctuation'))
+
+ x_namd_inout_control_particle_mesh_ewald = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_particle_mesh_ewald'))
+
+ x_namd_inout_control_pme_tolerance = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_pme_tolerance'))
+
+ x_namd_inout_control_pme_ewald_coefficient = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_pme_ewald_coefficient'))
+
+ x_namd_inout_control_pme_interpolation_order = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_pme_interpolation_order'))
+
+ x_namd_inout_control_pme_grid_dimensions = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_pme_grid_dimensions'))
+
+ x_namd_inout_control_pme_maximum_grid_spacing = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_pme_maximum_grid_spacing'))
+
+ x_namd_inout_control_fftw_data_file = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_fftw_data_file'))
+
+ x_namd_inout_control_full_electrostatic_evaluation_frequency = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_full_electrostatic_evaluation_frequency'))
+
+ x_namd_inout_control_minimization = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_minimization'))
+
+ x_namd_inout_control_velocity_quenching = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_velocity_quenching'))
+
+ x_namd_inout_control_verlet_integrator = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_verlet_integrator'))
+
+ x_namd_inout_control_random_number_seed = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_random_number_seed'))
+
+ x_namd_inout_control_use_hydrogen_bonds = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_use_hydrogen_bonds'))
+
+ x_namd_inout_control_coordinate_pdb = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_coordinate_pdb'))
+
+ x_namd_inout_control_structure_file = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_structure_file'))
+
+ x_namd_inout_control_parameter_file = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_parameter_file'))
+
+ x_namd_inout_control_number_of_parameters = Quantity(
+ type=np.dtype(np.int32),
+ shape=[],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_number_of_parameters'))
+
+ x_namd_inout_control_parameters = Quantity(
+ type=str,
+ shape=['x_namd_inout_control_number_of_parameters'],
+ description='''
+ NAMD running environment and control parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_inout_control_parameters'))
+
+
+class x_namd_section_atom_to_atom_type_ref(MSection):
+ '''
+ Section to store atom label to atom type definition list
+ '''
+
+ m_def = Section(validate=False, a_legacy=LegacyDefinition(name='x_namd_section_atom_to_atom_type_ref'))
+
+ x_namd_atom_to_atom_type_ref = Quantity(
+ type=np.dtype(np.int64),
+ shape=['number_of_atoms_per_type'],
+ description='''
+ Reference to the atoms of each atom type.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_atom_to_atom_type_ref'))
+
+
+class x_namd_section_single_configuration_calculation(MSection):
+ '''
+ section for gathering values for MD steps
+ '''
+
+ m_def = Section(validate=False, a_legacy=LegacyDefinition(name='x_namd_section_single_configuration_calculation'))
+
+
+class section_system(public.section_system):
+
+ m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_system'))
+
+ x_namd_atom_positions_image_index = Quantity(
+ type=np.dtype(np.int32),
+ shape=['number_of_atoms', 3],
+ unit='dimensionless',
+ description='''
+ PBC image flag index.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_atom_positions_image_index'))
+
+ x_namd_atom_positions_scaled = Quantity(
+ type=np.dtype(np.float64),
+ shape=['number_of_atoms', 3],
+ unit='dimensionless',
+ description='''
+ Position of the atoms in a scaled format [0, 1].
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_atom_positions_scaled'))
+
+ x_namd_atom_positions_wrapped = Quantity(
+ type=np.dtype(np.float64),
+ shape=['number_of_atoms', 3],
+ unit='meter',
+ description='''
+ Position of the atoms wrapped back to the periodic box.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_atom_positions_wrapped'))
+
+ x_namd_lattice_lengths = Quantity(
+ type=np.dtype(np.float64),
+ shape=[3],
+ description='''
+ Lattice dimensions in a vector. Vector includes [a, b, c] lengths.
+ ''',
+ categories=[public.configuration_core],
+ a_legacy=LegacyDefinition(name='x_namd_lattice_lengths'))
+
+ x_namd_lattice_angles = Quantity(
+ type=np.dtype(np.float64),
+ shape=[3],
+ description='''
+ Angles of lattice vectors. Vector includes [alpha, beta, gamma] in degrees.
+ ''',
+ categories=[public.configuration_core],
+ a_legacy=LegacyDefinition(name='x_namd_lattice_angles'))
+
+ x_namd_dummy = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ dummy
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_dummy'))
+
+ x_namd_mdin_finline = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ finline in mdin
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_mdin_finline'))
+
+ x_namd_traj_timestep_store = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_traj_timestep_store'))
+
+ x_namd_traj_number_of_atoms_store = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_traj_number_of_atoms_store'))
+
+ x_namd_traj_box_bound_store = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_traj_box_bound_store'))
+
+ x_namd_traj_box_bounds_store = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_traj_box_bounds_store'))
+
+ x_namd_traj_variables_store = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_traj_variables_store'))
+
+ x_namd_traj_atoms_store = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_traj_atoms_store'))
+
+
+class section_sampling_method(public.section_sampling_method):
+
+ m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_sampling_method'))
+
+ x_namd_barostat_target_pressure = Quantity(
+ type=np.dtype(np.float64),
+ shape=[],
+ unit='pascal',
+ description='''
+ MD barostat target pressure.
+ ''',
+ categories=[public.settings_molecular_dynamics, public.settings_sampling, public.settings_barostat],
+ a_legacy=LegacyDefinition(name='x_namd_barostat_target_pressure'))
+
+ x_namd_barostat_tau = Quantity(
+ type=np.dtype(np.float64),
+ shape=[],
+ unit='second',
+ description='''
+ MD barostat relaxation time.
+ ''',
+ categories=[public.settings_molecular_dynamics, public.settings_sampling, public.settings_barostat],
+ a_legacy=LegacyDefinition(name='x_namd_barostat_tau'))
+
+ x_namd_barostat_type = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ MD barostat type, valid values are defined in the barostat_type wiki page.
+ ''',
+ categories=[public.settings_molecular_dynamics, public.settings_sampling, public.settings_barostat],
+ a_legacy=LegacyDefinition(name='x_namd_barostat_type'))
+
+ x_namd_integrator_dt = Quantity(
+ type=np.dtype(np.float64),
+ shape=[],
+ unit='second',
+ description='''
+ MD integration time step.
+ ''',
+ categories=[public.settings_molecular_dynamics, public.settings_sampling, public.settings_integrator],
+ a_legacy=LegacyDefinition(name='x_namd_integrator_dt'))
+
+ x_namd_integrator_type = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ MD integrator type, valid values are defined in the integrator_type wiki page.
+ ''',
+ categories=[public.settings_molecular_dynamics, public.settings_sampling, public.settings_integrator],
+ a_legacy=LegacyDefinition(name='x_namd_integrator_type'))
+
+ x_namd_periodicity_type = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ Periodic boundary condition type in the sampling (non-PBC or PBC).
+ ''',
+ categories=[public.settings_molecular_dynamics, public.settings_sampling, public.settings_integrator],
+ a_legacy=LegacyDefinition(name='x_namd_periodicity_type'))
+
+ x_namd_langevin_gamma = Quantity(
+ type=np.dtype(np.float64),
+ shape=[],
+ unit='second',
+ description='''
+ Langevin thermostat damping factor.
+ ''',
+ categories=[public.settings_sampling, public.settings_molecular_dynamics, public.settings_thermostat],
+ a_legacy=LegacyDefinition(name='x_namd_langevin_gamma'))
+
+ x_namd_number_of_steps_requested = Quantity(
+ type=np.dtype(np.float64),
+ shape=[],
+ description='''
+ Number of requested MD integration time steps.
+ ''',
+ categories=[public.settings_molecular_dynamics, public.settings_sampling, public.settings_integrator],
+ a_legacy=LegacyDefinition(name='x_namd_number_of_steps_requested'))
+
+ x_namd_thermostat_level = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ MD thermostat level (see wiki: single, multiple, regional).
+ ''',
+ categories=[public.settings_sampling, public.settings_molecular_dynamics, public.settings_thermostat],
+ a_legacy=LegacyDefinition(name='x_namd_thermostat_level'))
+
+ x_namd_thermostat_target_temperature = Quantity(
+ type=np.dtype(np.float64),
+ shape=[],
+ unit='kelvin',
+ description='''
+ MD thermostat target temperature.
+ ''',
+ categories=[public.settings_sampling, public.settings_molecular_dynamics, public.settings_thermostat],
+ a_legacy=LegacyDefinition(name='x_namd_thermostat_target_temperature'))
+
+ x_namd_thermostat_tau = Quantity(
+ type=np.dtype(np.float64),
+ shape=[],
+ unit='second',
+ description='''
+ MD thermostat relaxation time.
+ ''',
+ categories=[public.settings_sampling, public.settings_molecular_dynamics, public.settings_thermostat],
+ a_legacy=LegacyDefinition(name='x_namd_thermostat_tau'))
+
+ x_namd_thermostat_type = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ MD thermostat type, valid values are defined in the thermostat_type wiki page.
+ ''',
+ categories=[public.settings_sampling, public.settings_molecular_dynamics, public.settings_thermostat],
+ a_legacy=LegacyDefinition(name='x_namd_thermostat_type'))
+
+
+class section_atom_type(common.section_atom_type):
+
+ m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_atom_type'))
+
+ x_namd_atom_name = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ Atom name of an atom in topology definition.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_atom_name'))
+
+ x_namd_atom_type = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ Atom type of an atom in topology definition.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_atom_type'))
+
+ x_namd_atom_element = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ Atom type of an atom in topology definition.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_atom_element'))
+
+ x_namd_atom_type_element = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ Element symbol of an atom type.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_atom_type_element'))
+
+ x_namd_atom_type_radius = Quantity(
+ type=np.dtype(np.float64),
+ shape=[],
+ description='''
+ van der Waals radius of an atom type.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_atom_type_radius'))
+
+ number_of_atoms_per_type = Quantity(
+ type=int,
+ shape=[],
+ description='''
+ Number of atoms involved in this type.
+ ''',
+ a_legacy=LegacyDefinition(name='number_of_atoms_per_type'))
+
+
+class section_interaction(common.section_interaction):
+
+ m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_interaction'))
+
+ x_namd_interaction_atom_to_atom_type_ref = Quantity(
+ type=common.section_atom_type,
+ shape=['number_of_atoms_per_interaction'],
+ description='''
+ Reference to the atom type of each interaction atoms.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_interaction_atom_to_atom_type_ref'))
+
+ x_namd_number_of_defined_pair_interactions = Quantity(
+ type=np.dtype(np.int32),
+ shape=[],
+ description='''
+ Number of defined pair interactions (L-J pairs).
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_number_of_defined_pair_interactions'))
+
+ x_namd_pair_interaction_atom_type_ref = Quantity(
+ type=common.section_atom_type,
+ shape=['x_namd_number_of_defined_pair_interactions', 'number_of_atoms_per_interaction'],
+ description='''
+ Reference to the atom type for pair interactions.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_pair_interaction_atom_type_ref'))
+
+ x_namd_pair_interaction_parameters = Quantity(
+ type=np.dtype(np.float64),
+ shape=['x_namd_number_of_defined_pair_interactions', 2],
+ description='''
+ Pair interactions parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_pair_interaction_parameters'))
+
+
+class section_molecule_interaction(common.section_molecule_interaction):
+
+ m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_molecule_interaction'))
+
+ x_namd_molecule_interaction_atom_to_atom_type_ref = Quantity(
+ type=common.section_atom_type,
+ shape=['number_of_atoms_per_interaction'],
+ description='''
+ Reference to the atom type of each molecule interaction atoms.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_molecule_interaction_atom_to_atom_type_ref'))
+
+ x_namd_number_of_defined_molecule_pair_interactions = Quantity(
+ type=np.dtype(np.int32),
+ shape=[],
+ description='''
+ Number of defined pair interactions within a molecule (L-J pairs).
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_number_of_defined_molecule_pair_interactions'))
+
+ x_namd_pair_molecule_interaction_parameters = Quantity(
+ type=np.dtype(np.float64),
+ shape=['number_of_defined_molecule_pair_interactions', 2],
+ description='''
+ Molecule pair interactions parameters.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_pair_molecule_interaction_parameters'))
+
+ x_namd_pair_molecule_interaction_to_atom_type_ref = Quantity(
+ type=common.section_atom_type,
+ shape=['x_namd_number_of_defined_pair_interactions', 'number_of_atoms_per_interaction'],
+ description='''
+ Reference to the atom type for pair interactions within a molecule.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_pair_molecule_interaction_to_atom_type_ref'))
+
+
+class section_run(public.section_run):
+
+ m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_run'))
+
+ x_namd_program_version_date = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ Program version date.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_program_version_date'))
+
+ x_namd_parallel_task_nr = Quantity(
+ type=np.dtype(np.float64),
+ shape=[],
+ description='''
+ Program task no.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_parallel_task_nr'))
+
+ x_namd_build_osarch = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ Program Build OS/ARCH
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_build_osarch'))
+
+ x_namd_program_build_date = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ Program Build date
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_program_build_date'))
+
+ x_namd_program_citation = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ Program citations
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_program_citation'))
+
+ x_namd_number_of_tasks = Quantity(
+ type=np.dtype(np.float64),
+ shape=[],
+ description='''
+ Number of tasks in parallel program (MPI).
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_number_of_tasks'))
+
+ x_namd_program_module_version = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD program module version.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_program_module_version'))
+
+ x_namd_program_license = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ NAMD program license.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_program_license'))
+
+ x_namd_xlo_xhi = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ test
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_xlo_xhi'))
+
+ x_namd_data_file_store = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ Filename of data file
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_data_file_store'))
+
+ x_namd_program_working_path = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_program_working_path'))
+
+ x_namd_program_execution_host = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_program_execution_host'))
+
+ x_namd_program_execution_path = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_program_execution_path'))
+
+ x_namd_program_module = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_program_module'))
+
+ x_namd_program_execution_date = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_program_execution_date'))
+
+ x_namd_program_execution_time = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_program_execution_time'))
+
+ x_namd_mdin_header = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_mdin_header'))
+
+ x_namd_mdin_wt = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_mdin_wt'))
+
+ x_namd_section_input_output_files = SubSection(
+ sub_section=SectionProxy('x_namd_section_input_output_files'),
+ repeats=True,
+ a_legacy=LegacyDefinition(name='x_namd_section_input_output_files'))
+
+ x_namd_section_control_parameters = SubSection(
+ sub_section=SectionProxy('x_namd_section_control_parameters'),
+ repeats=True,
+ a_legacy=LegacyDefinition(name='x_namd_section_control_parameters'))
+
+
+class section_topology(common.section_topology):
+
+ m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_topology'))
+
+ x_namd_input_units_store = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ It determines the units of all quantities specified in the input script and data
+ file, as well as quantities output to the screen, log file, and dump files.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_input_units_store'))
+
+ x_namd_data_bond_types_store = Quantity(
+ type=np.dtype(np.int32),
+ shape=[],
+ description='''
+ store temporarly
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_data_bond_types_store'))
+
+ x_namd_data_bond_count_store = Quantity(
+ type=np.dtype(np.int32),
+ shape=[],
+ description='''
+ store temporarly
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_data_bond_count_store'))
+
+ x_namd_data_angle_count_store = Quantity(
+ type=np.dtype(np.int32),
+ shape=[],
+ description='''
+ store temporarly
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_data_angle_count_store'))
+
+ x_namd_data_atom_types_store = Quantity(
+ type=np.dtype(np.int32),
+ shape=[],
+ description='''
+ store temporarly
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_data_atom_types_store'))
+
+ x_namd_data_dihedral_count_store = Quantity(
+ type=np.dtype(np.int32),
+ shape=[],
+ description='''
+ store temporarly
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_data_dihedral_count_store'))
+
+ x_namd_data_angles_store = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ store temporarly
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_data_angles_store'))
+
+ x_namd_data_angle_list_store = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_data_angle_list_store'))
+
+ x_namd_data_bond_list_store = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_data_bond_list_store'))
+
+ x_namd_data_dihedral_list_store = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_data_dihedral_list_store'))
+
+ x_namd_data_dihedral_coeff_list_store = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_data_dihedral_coeff_list_store'))
+
+ x_namd_masses_store = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_masses_store'))
+
+ x_namd_data_topo_list_store = Quantity(
+ type=str,
+ shape=[],
+ description='''
+ tmp
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_data_topo_list_store'))
+
+ x_namd_section_atom_to_atom_type_ref = SubSection(
+ sub_section=SectionProxy('x_namd_section_atom_to_atom_type_ref'),
+ repeats=True,
+ a_legacy=LegacyDefinition(name='x_namd_section_atom_to_atom_type_ref'))
+
+
+class section_frame_sequence(public.section_frame_sequence):
+
+ m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_frame_sequence'))
+
+ x_namd_number_of_volumes_in_sequence = Quantity(
+ type=int,
+ shape=[],
+ description='''
+ Gives the number of volumes in this sequence of frames, see
+ x_namd_frame_sequence_volume.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_number_of_volumes_in_sequence'))
+
+ x_namd_number_of_densities_in_sequence = Quantity(
+ type=int,
+ shape=[],
+ description='''
+ Gives the number of densities in this sequence of frames, see
+ x_namd_frame_sequence_density.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_number_of_densities_in_sequence'))
+
+ x_namd_number_of_bond_energies_in_sequence = Quantity(
+ type=int,
+ shape=[],
+ description='''
+ Gives the number of bond_energies in this sequence of frames, see
+ x_namd_frame_sequence_bond_energy.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_number_of_bond_energies_in_sequence'))
+
+ x_namd_number_of_angle_energies_in_sequence = Quantity(
+ type=int,
+ shape=[],
+ description='''
+ Gives the number of angle_energies in this sequence of frames, see
+ x_namd_frame_sequence_angle_energy.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_number_of_angle_energies_in_sequence'))
+
+ x_namd_number_of_proper_dihedral_energies_in_sequence = Quantity(
+ type=int,
+ shape=[],
+ description='''
+ Gives the number of proper_dihedral_energies in this sequence of frames, see
+ x_namd_frame_sequence_proper_dihedral_energy.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_number_of_proper_dihedral_energies_in_sequence'))
+
+ x_namd_number_of_improper_dihedral_energies_in_sequence = Quantity(
+ type=int,
+ shape=[],
+ description='''
+ Gives the number of improper_dihedral_energies in this sequence of frames, see
+ x_namd_frame_sequence_improper_dihedral_energy.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_number_of_improper_dihedral_energies_in_sequence'))
+
+ x_namd_number_of_cmap_dihedral_energies_in_sequence = Quantity(
+ type=int,
+ shape=[],
+ description='''
+ Gives the number of cmap_dihedral_energies in this sequence of frames, see
+ x_namd_frame_sequence_cmap_dihedral_energy.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_number_of_cmap_dihedral_energies_in_sequence'))
+
+ x_namd_number_of_vdw_energies_in_sequence = Quantity(
+ type=int,
+ shape=[],
+ description='''
+ Gives the number of vdw_energies in this sequence of frames, see
+ x_namd_frame_sequence_vdw_energy.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_number_of_vdw_energies_in_sequence'))
+
+ x_namd_number_of_boundary_energies_in_sequence = Quantity(
+ type=int,
+ shape=[],
+ description='''
+ Gives the number of boundary_energies in this sequence of frames, see
+ x_namd_frame_sequence_boundary_energy.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_number_of_boundary_energies_in_sequence'))
+
+ x_namd_number_of_electrostatic_energies_in_sequence = Quantity(
+ type=int,
+ shape=[],
+ description='''
+ Gives the number of electrostatic_energies in this sequence of frames, see
+ x_namd_frame_sequence_electrostatic_energy.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_number_of_electrostatic_energies_in_sequence'))
+
+ x_namd_number_of_total2_energies_in_sequence = Quantity(
+ type=int,
+ shape=[],
+ description='''
+ Gives the number of total2_energies in this sequence of frames, see
+ x_namd_frame_sequence_total2_energy.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_number_of_total2_energies_in_sequence'))
+
+ x_namd_number_of_total3_energies_in_sequence = Quantity(
+ type=int,
+ shape=[],
+ description='''
+ Gives the number of total3_energies in this sequence of frames, see
+ x_namd_frame_sequence_total3_energy.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_number_of_total3_energies_in_sequence'))
+
+ x_namd_number_of_misc_energies_in_sequence = Quantity(
+ type=int,
+ shape=[],
+ description='''
+ Gives the number of misc_energies in this sequence of frames, see
+ x_namd_frame_sequence_misc_energy.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_number_of_misc_energies_in_sequence'))
+
+ x_namd_frame_sequence_density_frames = Quantity(
+ type=np.dtype(np.int32),
+ shape=['x_namd_number_of_densities_in_sequence'],
+ description='''
+ Array containing the strictly increasing indices of the frames the
+ x_namd_frame_sequence_densities values refers to. If not given it defaults to the
+ trivial mapping 0,1,...
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_density_frames'))
+
+ x_namd_frame_sequence_density = Quantity(
+ type=np.dtype(np.float64),
+ shape=['x_namd_number_of_densities_in_sequence'],
+ description='''
+ Array containing the values of the density along this sequence of frames (i.e., a
+ trajectory, a frame is one section_single_configuration_calculation). If not all
+ frames have a value the indices of the frames that have a value are stored in
+ frame_sequence_density_frames.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_density'))
+
+ x_namd_frame_sequence_cmap_dihedral_energy_frames = Quantity(
+ type=np.dtype(np.int32),
+ shape=['x_namd_number_of_cmap_dihedral_energy_in_sequence'],
+ description='''
+ Array containing the strictly increasing indices of the frames the
+ x_namd_frame_sequence_cmap_dihedral_energy values refers to. If not given it
+ defaults to the trivial mapping 0,1,...
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_cmap_dihedral_energy_frames'))
+
+ x_namd_frame_sequence_cmap_dihedral_energy = Quantity(
+ type=np.dtype(np.float64),
+ shape=['x_namd_number_of_cmap_dihedral_energy_in_sequence'],
+ description='''
+ Array containing the values of the cmap_dihedral_energy along this sequence of
+ frames (i.e., a trajectory, a frame is one
+ section_single_configuration_calculation). If not all frames have a value the
+ indices of the frames that have a value are stored in
+ frame_sequence_cmap_dihedral_energy_frames.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_cmap_dihedral_energy'))
+
+ x_namd_frame_sequence_improper_dihedral_energy_frames = Quantity(
+ type=np.dtype(np.int32),
+ shape=['x_namd_number_of_improper_dihedral_energy_in_sequence'],
+ description='''
+ Array containing the strictly increasing indices of the frames the
+ x_namd_frame_sequence_improper_dihedral_energy values refers to. If not given it
+ defaults to the trivial mapping 0,1,...
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_improper_dihedral_energy_frames'))
+
+ x_namd_frame_sequence_improper_dihedral_energy = Quantity(
+ type=np.dtype(np.float64),
+ shape=['x_namd_number_of_improper_dihedral_energy_in_sequence'],
+ description='''
+ Array containing the values of the improper_dihedral_energy along this sequence of
+ frames (i.e., a trajectory, a frame is one
+ section_single_configuration_calculation). If not all frames have a value the
+ indices of the frames that have a value are stored in
+ frame_sequence_improper_dihedral_energy_frames.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_improper_dihedral_energy'))
+
+ x_namd_frame_sequence_proper_dihedral_energy_frames = Quantity(
+ type=np.dtype(np.int32),
+ shape=['x_namd_number_of_proper_dihedral_energy_in_sequence'],
+ description='''
+ Array containing the strictly increasing indices of the frames the
+ x_namd_frame_sequence_proper_dihedral_energy values refers to. If not given it
+ defaults to the trivial mapping 0,1,...
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_proper_dihedral_energy_frames'))
+
+ x_namd_frame_sequence_proper_dihedral_energy = Quantity(
+ type=np.dtype(np.float64),
+ shape=['x_namd_number_of_proper_dihedral_energy_in_sequence'],
+ description='''
+ Array containing the values of the proper_dihedral_energy along this sequence of
+ frames (i.e., a trajectory, a frame is one
+ section_single_configuration_calculation). If not all frames have a value the
+ indices of the frames that have a value are stored in
+ frame_sequence_proper_dihedral_energy_frames.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_proper_dihedral_energy'))
+
+ x_namd_frame_sequence_bond_energy_frames = Quantity(
+ type=np.dtype(np.int32),
+ shape=['x_namd_number_of_bond_energies_in_sequence'],
+ description='''
+ Array containing the strictly increasing indices of the frames the
+ x_namd_frame_sequence_bond_energy values refers to. If not given it defaults to
+ the trivial mapping 0,1,...
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_bond_energy_frames'))
+
+ x_namd_frame_sequence_bond_energy = Quantity(
+ type=np.dtype(np.float64),
+ shape=['x_namd_number_of_bond_energies_in_sequence'],
+ description='''
+ Array containing the values of the bond_energy along this sequence of frames
+ (i.e., a trajectory, a frame is one section_single_configuration_calculation). If
+ not all frames have a value the indices of the frames that have a value are stored
+ in frame_sequence_bond_energy_frames.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_bond_energy'))
+
+ x_namd_frame_sequence_boundary_frames = Quantity(
+ type=np.dtype(np.int32),
+ shape=['x_namd_number_of_boundary_energies_in_sequence'],
+ description='''
+ Array containing the strictly increasing indices of the frames the
+ x_namd_frame_sequence_boundary values refers to. If not given it defaults to the
+ trivial mapping 0,1,...
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_boundary_frames'))
+
+ x_namd_frame_sequence_boundary = Quantity(
+ type=np.dtype(np.float64),
+ shape=['x_namd_number_of_boundary_energies_in_sequence'],
+ description='''
+ Array containing the values of the boundary along this sequence of frames (i.e., a
+ trajectory, a frame is one section_single_configuration_calculation). If not all
+ frames have a value the indices of the frames that have a value are stored in
+ frame_sequence_boundary_frames.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_boundary'))
+
+ x_namd_frame_sequence_angle_energy_frames = Quantity(
+ type=np.dtype(np.int32),
+ shape=['x_namd_number_of_angle_energies_in_sequence'],
+ description='''
+ Array containing the strictly increasing indices of the frames the
+ x_namd_frame_sequence_angle_energy values refers to. If not given it defaults to
+ the trivial mapping 0,1,...
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_angle_energy_frames'))
+
+ x_namd_frame_sequence_angle_energy = Quantity(
+ type=np.dtype(np.float64),
+ shape=['x_namd_number_of_angle_energies_in_sequence'],
+ description='''
+ Array containing the values of the angle_energy along this sequence of frames
+ (i.e., a trajectory, a frame is one section_single_configuration_calculation). If
+ not all frames have a value the indices of the frames that have a value are stored
+ in frame_sequence_angle_energy_frames.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_angle_energy'))
+
+ x_namd_frame_sequence_vdw_energy_frames = Quantity(
+ type=np.dtype(np.int32),
+ shape=['x_namd_number_of_vdw_energies_in_sequence'],
+ description='''
+ Array containing the strictly increasing indices of the frames the
+ x_namd_frame_sequence_vdw_energy values refers to. If not given it defaults to the
+ trivial mapping 0,1,...
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_vdw_energy_frames'))
+
+ x_namd_frame_sequence_vdw_energy = Quantity(
+ type=np.dtype(np.float64),
+ shape=['x_namd_number_of_vdw_energies_in_sequence'],
+ description='''
+ Array containing the values of the vdw_energy along this sequence of frames (i.e.,
+ a trajectory, a frame is one section_single_configuration_calculation). If not all
+ frames have a value the indices of the frames that have a value are stored in
+ frame_sequence_vdw_energy_frames.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_vdw_energy'))
+
+ x_namd_frame_sequence_electrostatic_energy_frames = Quantity(
+ type=np.dtype(np.int32),
+ shape=['x_namd_number_of_electrostatic_energies_in_sequence'],
+ description='''
+ Array containing the strictly increasing indices of the frames the
+ x_namd_frame_sequence_electrostatic_energy values refers to. If not given it
+ defaults to the trivial mapping 0,1,...
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_electrostatic_energy_frames'))
+
+ x_namd_frame_sequence_electrostatic_energy = Quantity(
+ type=np.dtype(np.float64),
+ shape=['x_namd_number_of_electrostatic_energies_in_sequence'],
+ description='''
+ Array containing the values of the electrostatic_energy along this sequence of
+ frames (i.e., a trajectory, a frame is one
+ section_single_configuration_calculation). If not all frames have a value the
+ indices of the frames that have a value are stored in
+ frame_sequence_electrostatic_energy_frames.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_electrostatic_energy'))
+
+ x_namd_frame_sequence_total2_energy_frames = Quantity(
+ type=np.dtype(np.int32),
+ shape=['x_namd_number_of_total2_energies_in_sequence'],
+ description='''
+ Array containing the strictly increasing indices of the frames the
+ x_namd_frame_sequence_total2_energy values refers to. If not given it defaults to
+ the trivial mapping 0,1,...
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_total2_energy_frames'))
+
+ x_namd_frame_sequence_total2_energy = Quantity(
+ type=np.dtype(np.float64),
+ shape=['x_namd_number_of_total2_energies_in_sequence'],
+ description='''
+ Array containing the values of the total2_energy along this sequence of frames
+ (i.e., a trajectory, a frame is one section_single_configuration_calculation). If
+ not all frames have a value the indices of the frames that have a value are stored
+ in frame_sequence_total2_energy_frames.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_total2_energy'))
+
+ x_namd_frame_sequence_total3_energy_frames = Quantity(
+ type=np.dtype(np.int32),
+ shape=['x_namd_number_of_total3_energies_in_sequence'],
+ description='''
+ Array containing the strictly increasing indices of the frames the
+ x_namd_frame_sequence_total3_energy values refers to. If not given it defaults to
+ the trivial mapping 0,1,...
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_total3_energy_frames'))
+
+ x_namd_frame_sequence_total3_energy = Quantity(
+ type=np.dtype(np.float64),
+ shape=['x_namd_number_of_total3_energies_in_sequence'],
+ description='''
+ Array containing the values of the total3_energy along this sequence of frames
+ (i.e., a trajectory, a frame is one section_single_configuration_calculation). If
+ not all frames have a value the indices of the frames that have a value are stored
+ in frame_sequence_total3_energy_frames.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_total3_energy'))
+
+ x_namd_frame_sequence_misc_energy_frames = Quantity(
+ type=np.dtype(np.int32),
+ shape=['x_namd_number_of_misc_energies_in_sequence'],
+ description='''
+ Array containing the strictly increasing indices of the frames the
+ x_namd_frame_sequence_misc_energy values refers to. If not given it defaults to
+ the trivial mapping 0,1,...
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_misc_energy_frames'))
+
+ x_namd_frame_sequence_misc_energy = Quantity(
+ type=np.dtype(np.float64),
+ shape=['x_namd_number_of_misc_energies_in_sequence'],
+ description='''
+ Array containing the values of the misc_energy along this sequence of frames
+ (i.e., a trajectory, a frame is one section_single_configuration_calculation). If
+ not all frames have a value the indices of the frames that have a value are stored
+ in frame_sequence_misc_energy_frames.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_misc_energy'))
+
+ x_namd_frame_sequence_volume_frames = Quantity(
+ type=np.dtype(np.int32),
+ shape=['x_namd_number_of_volumes_in_sequence'],
+ description='''
+ Array containing the strictly increasing indices of the frames the
+ x_namd_frame_sequence_volume values refers to. If not given it defaults to the
+ trivial mapping 0,1,...
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_volume_frames'))
+
+ x_namd_frame_sequence_volume = Quantity(
+ type=np.dtype(np.float64),
+ shape=['x_namd_number_of_volumes_in_sequence'],
+ description='''
+ Array containing the values of the volume along this sequence of frames (i.e., a
+ trajectory, a frame is one section_single_configuration_calculation). If not all
+ frames have a value the indices of the frames that have a value are stored in
+ frame_sequence_volume_frames.
+ ''',
+ a_legacy=LegacyDefinition(name='x_namd_frame_sequence_volume'))
+
+
+class section_single_configuration_calculation(public.section_single_configuration_calculation):
+
+ m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_single_configuration_calculation'))
+
+ x_namd_section_single_configuration_calculation = SubSection(
+ sub_section=SectionProxy('x_namd_section_single_configuration_calculation'),
+ repeats=True,
+ a_legacy=LegacyDefinition(name='x_namd_section_single_configuration_calculation'))
+
+
+m_package.__init_metainfo__()
diff --git a/parser/parser-namd/setup_paths.py b/setup.py
similarity index 55%
rename from parser/parser-namd/setup_paths.py
rename to setup.py
index f13f57280e68c2733a9b291d81fdd080dd19f9a7..2e7df3a996c6280b15d52599cbf6d21ec0c8e996 100644
--- a/parser/parser-namd/setup_paths.py
+++ b/setup.py
@@ -1,22 +1,34 @@
-# Copyright 2018-2018 Berk Onat, Fawzi Mohamed
-#
+# Copyright 2015-2018 Berk Onat
+#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
-#
+#
# http://www.apache.org/licenses/LICENSE-2.0
-#
+#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-import sys
-import os
-import os.path
-basedir = os.path.dirname(os.path.abspath(__file__))
-commondir = os.path.normpath(os.path.join(basedir,"../../../../python-common/common/python"))
+from setuptools import setup, find_packages
-if not commondir in sys.path:
- sys.path.insert(0, commondir)
+
+def main():
+ setup(
+ name='namdparser',
+ version='0.1',
+ description='NOMAD parser implementation for Namd.',
+ license='APACHE 2.0',
+ package_dir={'': './'},
+ packages=find_packages(),
+ install_requires=[
+ 'nomadcore',
+ 'nomad'
+ ],
+ )
+
+
+if __name__ == '__main__':
+ main()
diff --git a/src/main/scala/eu/nomad_lab/parsers/NAMDParser.scala b/src/main/scala/eu/nomad_lab/parsers/NAMDParser.scala
deleted file mode 100644
index 59d9dc6c281b44c5bec8d34ce56b81d64d8a11cc..0000000000000000000000000000000000000000
--- a/src/main/scala/eu/nomad_lab/parsers/NAMDParser.scala
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 2018-2018 Berk Onat, Fawzi Mohamed
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package eu.nomad_lab.parsers
-
-import eu.nomad_lab
-import eu.nomad_lab.DefaultPythonInterpreter
-import org.{ json4s => jn }
-import eu.{ nomad_lab => lab }
-import scala.collection.breakOut
-
-object NamdParser extends SimpleExternalParserGenerator(
- name = "NamdParser",
- parserInfo = jn.JObject(
- ("name" -> jn.JString("NamdParser")) ::
- ("parserId" -> jn.JString("NamdParser" + lab.NamdVersionInfo.version)) ::
- ("versionInfo" -> jn.JObject(
- ("nomadCoreVersion" -> jn.JObject(lab.NomadCoreVersionInfo.toMap.map {
- case (k, v) => k -> jn.JString(v.toString)
- }(breakOut): List[(String, jn.JString)])) ::
- (lab.NamdVersionInfo.toMap.map {
- case (key, value) =>
- (key -> jn.JString(value.toString))
- }(breakOut): List[(String, jn.JString)])
- )) :: Nil
- ),
- mainFileTypes = Seq("text/.*"),
- mainFileRe = """\s*Info:\s*NAMD\s*[0-9.]+\s*for\s*""".r,
- cmd = Seq(DefaultPythonInterpreter.pythonExe(), "${envDir}/parsers/namd/parser/parser-namd/NAMDParser.py",
- "${mainFilePath}"),
- resList = Seq(
- "parser-namd/NAMDParser.py",
- "parser-namd/NAMDDictionary.py",
- "parser-namd/NAMDCommon.py",
- "parser-namd/setup_paths.py",
- "nomad_meta_info/public.nomadmetainfo.json",
- "nomad_meta_info/common.nomadmetainfo.json",
- "nomad_meta_info/meta_types.nomadmetainfo.json",
- "nomad_meta_info/namd.nomadmetainfo.json"
- ) ++ DefaultPythonInterpreter.commonFiles(),
- dirMap = Map(
- "parser-namd" -> "parsers/namd/parser/parser-namd",
- "nomad_meta_info" -> "nomad-meta-info/meta_info/nomad_meta_info",
- "python" -> "python-common/common/python/nomadcore"
- ) ++ DefaultPythonInterpreter.commonDirMapping(),
- metaInfoEnv = Some(lab.meta.KnownMetaInfoEnvs.namd)
-)
-
diff --git a/src/test/scala/eu/nomad_lab/parsers/NAMDParserSpec.scala b/src/test/scala/eu/nomad_lab/parsers/NAMDParserSpec.scala
deleted file mode 100644
index d38d2a15218f60b45b2d72972bc83ab383ed9739..0000000000000000000000000000000000000000
--- a/src/test/scala/eu/nomad_lab/parsers/NAMDParserSpec.scala
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2018-2018 Berk Onat, Fawzi Mohamed
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package eu.nomad_lab.parsers
-
-import org.specs2.mutable.Specification
-
-object NamdParserTests extends Specification {
- "NAMDParserTest" >> {
- "[tiny with 507 atoms] test with json-events" >> {
- ParserRun.parse(NamdParser, "parsers/namd/test/examples/tiny/tiny.log", "json-events") must_== ParseResult.ParseSuccess
- }
- "[tiny with 507 atoms] test with json" >> {
- ParserRun.parse(NamdParser, "parsers/namd/test/examples/tiny/tiny.log", "json") must_== ParseResult.ParseSuccess
- }
- "[apoa1-trajectory with 92224 atoms] test with json-events" >> {
- ParserRun.parse(NamdParser, "parsers/namd/test/examples/apoa1-trajectory/apoa1.log", "json-events") must_== ParseResult.ParseSuccess
- }
- "[apoa1-trajectory with 92224 atoms] test with json" >> {
- ParserRun.parse(NamdParser, "parsers/namd/test/examples/apoa1-trajectory/apoa1.log", "json") must_== ParseResult.ParseSuccess
- }
- }
-}