How to run a parser¶
You can find a list of all parsers and supported files in the reference.
First you need to have the nomad-lab
pypi package installed. You find more detailed
instructions here:
From the command line¶
You can run NOMAD parsers from the command line interface (CLI). The parse command will automatically match the right parser to your file and run the parser. There are two output formats:
--show-metadata
a JSON representation of the basic metadata--show-archive
a JSON representation of the full parse results
Note
If you run into missing dependency errors, you might want to install additional
dependencies via pip install nomad-lab[parsing]
. Only a view parsers require
extra dependencies. Please refer to the parser projects for more details.
To skip the parser matching, i.e. the process that determined which parser fits to
the given file, and state the parser directly, you can use the --parser
argument
to provide a parser name.
To skip the potentially error-prone and depending on your use-case unnecessary
normalization, you can use the --skip-normalizers
argument:
From a python program¶
You can also use the NOMAD parsers within Python, as shown below. This will give you the parse results as metainfo objects to conveniently analyze the results in Python. See metainfo for more details on how to use the metainfo in Python.
# requires: nomad-lab
import sys
from nomad.client import parse, normalize_all
# match and run the parser
archives = parse(sys.argv[1])
# run all normalizers
for archive in archives:
normalize_all(archive)
# get the 'main section' section_run as a metainfo object
section_run = archive.run[0]
# get the same data as JSON serializable Python dict
python_dict = section_run.m_to_dict()
From cloned parser projects¶
You can also clone a parser project to debug or fix a parser:
git clone https://github.com/nomad-coe/nomad-parser-vasp.git
cd nomad-parser-vasp
git checkout metainfo-refactor
python -m nomad.cli nomad parse --show-archive <path-to-your-vasp-file>
Our parsers are hosted in GitHub.
They are in the nomad-coe organization.
They are typically named nomad-parser-<code-name>
.
The parser version that fits the NOMAD v1 metainfo schema is typically in the metainfo-refactor
branch.
Run the CLI with python -m nomad.cli
to automatically include the current working directory in the Python path.
This will use the cloned parser code over the installed parser code.