uf3.data.io.parse_trajectory

parse_trajectory(fname: str, scalar_keys: List[str] = (), array_keys: List[str] = (), prefix: Optional[str] = None, atoms_key: str = 'geometry', energy_key: str = 'energy', force_key: str = 'force', size_key: str = 'size')[source]

Wrapper for ase.io.read, which is compatible with many file formats (notably VASP’s vasprun.xml and extended xyz). If available, force information is written to each ase.Atoms object’s arrays attribute as separate “fx”, “fy”, and “fz” entries.

Parameters
  • fname (str) – filename.

  • scalar_keys (list) – list of ase.Atoms.info keys to query and include as a DataFrame column. e.g. [“config_type”].

  • array_keys (list) – list of ase.Atoms.arrays keys to query and include as a DataFrame column. e.g. [“charge”].

  • prefix (str) – prefix for DataFrame index. e.g. “bulk” -> [bulk_0, bulk_1, bulk_2, …]

  • atoms_key (str) – column name for geometries, default “geometry”. Modify when parsed geometries are part of a larger pipeline.

  • energy_key (str) – column name for energies, default “energy”.

  • force_key (str) – identifier for forces, default “force”.

  • size_key (str) – column name for number of atoms per geometry, default “size”.

Returns

standard dataframe with columns

[atoms_key, energy_key, fx, fy, fz]

Return type

df (pandas.DataFrame)