Skip to content

Guide to computational parser plugins

NOMAD uses parsers to convert raw data (for example, output from computational software, instruments, or electronic lab notebooks) into NOMAD's common Archive format. This page provides a guide to the existing standard computational parsers in NOMAD.

Parser organization

Note

The majority of NOMAD's computational parsers do not yet exist as plugins. Instead, they are linked to the nomad-lab software as submodules. We will be migrating these parsers to proper plugins in the near future, and may reorganize the projects described below. We will update this page accordingly.

The NOMAD computational parsers can be found within your local NOMAD distribution under <path_to_nomad-lab>/dependencies/parsers/<parserproject>, where <parser_project> corresponds to the following organization:

  • atomistic - Parsers for output from classical molecular simulations, e.g., from Gromacs, Lammps, etc.
  • database - Parsers for various databases, e.g., OpenKim.
  • eelsdb - Parser for the EELS database (https://eelsdb.eu/; to be integrated in the database project).
  • electronic - Parsers for output from electronic structure calculations, e.g., from Vasp, Fhiaims, etc.
  • nexus - Parsers for combining various instrument output formats and electronic lab notebooks.
  • workflow - Parsers for output from task managers and workflow schedulers.

You can also examine the source code of the parsers by following the above links to the corresponding GitHub repository for each project. Within each project folder you will find a test/ directory, containing the parser tests, and also a directory containing the parsers' source code, <parserproject>parser or <parserproject>parsers, depending on if one or more parsers are contained within the project, respectively. In the case of multiple parsers, the files for individual parsers are contained within a corresponding subdirectory: <parserproject>parsers/<parsername> For example, the Quantum Espresso parser files are found in dependencies/parsers/electronic/electronicparsers/quantumespresso/.

Developing your own parser plugin

Prerequisites

The general docs contain information about the nuts and bolts of developing a plugin:

  • How to write a plugin: Some basic information about different types of plugins, plugin anatomy, and creating a plugin project.

  • How to write a parser: The basics of how NOMAD parsers work, how to configure the files that your parser will match, and how to utilize existing parser classes.

Attention

This page is under construction as we convert NOMAD's standard computational parsers to parser plugins. Along the way, we will add content below to guide you in the development of your own computational parser plugins.