# MAINFEST

## `small-molecule/`

* `toolkit-to-interchange.json`: Generated by `create-expected-changes.py`, renamed from `toolkit-0-10-x-to-0-11-x.json`
* `old-toolkit-env.txt`: A record of the conda environment used to create the reference systems (`conda list > old-toolkit-env.txt`)
* `regression_tests/default-comparison-settings.json`:  Generated by `regression_tests/default-comparison-settings.json`
* `dataset.smi`: An arbitrary slice of 16 molecules from the [small molecule dataset](https://raw.githubusercontent.com/openforcefield/qca-dataset-submission/master/submissions/2021-03-30-OpenFF-Industry-Benchmark-Season-1-v1.0/dataset.smi) used in Season 1 of `openff-benchmark`
* `small-molecule/input_topologies.json`: A JSON representation of `dataset.smi`, generated by running `create-small-molecule-inputs.py` on it
* `small-molecule/omm-systems-toolkit-0.10.6/*.xml`: Serialized OpenMM `System` objects generated from the above dataset by running the below command using the above conda environment

```shell
$ create_openmm_systems \
--input "small-molecule/input-topologies.json" \
--output "small-molecule/" \
--using-toolkit \
--force-field "openff-2.0.0.offxml" \
--n-procs 10
```

To run tests, create new OpenMM `System` XML files from the same data:

```shell
$ create_openmm_systems \
--input "small-molecule/input-topologies.json" \
--output "small-molecule/" \
--using-interchange \
--force-field "openff-2.0.0.offxml" \
--n-procs 10
```

And finally, compare by:

```shell
$ export INTERCHANGE_VERSION=$(python -c "import openff.interchange; print(openff.interchange.__version__)")
$ compare_openmm_systems \
--input-dir-a "small-molecule/omm-systems-toolkit-0.10.6" \
--input-dir-b "small-molecule/omm-systems-interchange-$INTERCHANGE_VERSION" \
--output "tmp.json" \
--expected-changes "toolkit-to-interchange.json" \
--n-procs 10
```
