# Supported trajectory formats

In principle, ReacNetGenerator can process any kind of trajectory files containing atomic coordinates or bond information.
Up to now, the following formats are supported.
You can convert your trajectory to one of the following formats using tools like [dpdata](https://github.com/deepmodeling/dpdata) or [ASE](https://gitlab.com/ase/ase).
If you want new formats to be supported, please submit an issue to [the ReacNetGenerator repository](https://github.com/tongzhugroup/reacnetgenerator).

## LAMMPS dump files

type: `dump`

LAMMPS dump files are generated by [`dump` command](https://docs.lammps.org/dump.html).{cite:p}`Thompson_ComputPhysCommun_2022_v271_p108171`

```lammps
dump 1 all custom 100 dump.reaxc id type x y z
```

The file must contain five keys `id`, `type`, `x`, `y`, and `z`. The location of these keys is arbitrary.

The atomic names passed to ReacNetGenerator must map to atomic types in the dump file.

## XYZ files

type: `xyz`

The standard [XYZ files](https://en.wikipedia.org/wiki/XYZ_file_format) are in the following format:

```xyz
3
Water frame 1
H    0.7493682    0.0000000    0.4424329
O    0.0000000    0.0000000   -0.1653507
H   -0.7493682    0.0000000    0.4424329
3
Water frame 2
H    0.7493682    0.0000000    0.4424329
O    0.0000000    0.0000000   -0.1653507
H   -0.7493682    0.0000000    0.4424329
```

XYZ files do not contain cell information, so you have to manually pass cells to ReacNetGenerator.

## LAMMPS ReaxFF bonds file

type: `bond`

When ReaxFF is used as the pair style, LAMMPS ReaxFF bonds files are generated by [`fix reaxff/bonds` command](https://docs.lammps.org/fix_reaxff_bonds.html).{cite:p}`Aktulga_ParallelComputing_2012_v38_p245`

```lammps
fix 1 all reaxff/bonds 100 bonds.reaxff
```

The atomic names passed to ReacNetGenerator must map to atomic types in the bond file.
