Skip to content

Overview

🧠 qcio operates on a simple mental model

  • Structure objects represent a collection of atoms, a molecule, or any super molecular structure in 3D cartesian space.
  • Input objects define the input parameters for a calculation.
  • ProgramOutput objects store computed values and output files (collectively called Results) from a calculation. ProgramOutput also stores the exact input data (.input_data) used for a calculation, relevant metadata, and Provenance information so you have full visibility of how every result was generated.
  • Other objects, such as Identifiers, Files, Provenance, and Model support these core data structures by organizing relevant information in a user-friendly way.
  • 💾 Saving your data to disk and re-opening it again later for analysis is as simple as calling my_obj.save(/path/to/file.json) or MyModel.open(/path/to/file.json). These methods are not shown in the documentation for individual classes to avoid redundancy. Files can be saved as .json, .yaml, or .toml. Structure and OptimizationResults (which contains a list of Structures) may additionally be saved as .xyz files for compatibility with external program.