**Download.** [`F0001.zip`](F0001.zip) holds everything below: the data, the scripts and the input file. | File | What it is | |---|---| | [`check.py`](check.py) | Recomputes every number in this report from `data/`. Needs only Python 3. | | [`reproduce/figures.py`](reproduce/figures.py) | Redraws the figure. Needs matplotlib. | | [`reproduce/build_tables.py`](reproduce/build_tables.py) | Builds the three tables in `data/` from the screen's output and the Reaction-QM files. | | [`reproduce/quick_rerun.py`](reproduce/quick_rerun.py) | Reruns the screen on a random sample of reactions and compares each outcome with the stored one. | | [`reproduce/rerun/`](reproduce/rerun/) | The screen's code (`src/benchmark/`) and the mepd input file `mepd_profile.toml`. | **Check the numbers** (a few seconds): ``` python check.py ``` **Rerun the screen.** This needs mepd (not public yet), g-xTB 2.0.1 on PATH as `gxtb-xtb`, and h5py, ASE and Sella. The screen ran with mepd git commit `4f17c0b` plus local changes that were not saved, so a rerun uses current mepd: on a 48-reaction sample, 46 outcomes matched (see Reproductions below). The original run screened 63,954 reactions in about 326 core-hours. ``` cd reproduce/rerun # From doi:10.5281/zenodo.18551029, put B3LYPD3_TZVP.h5 and B3LYPD3_TZVP_reaction_info.csv in data/reaction_qm/ export PYTHONPATH=$PWD/src OMP_NUM_THREADS=1 python ../quick_rerun.py --n 48 --jobs 3 # a sample, compared with the stored outcomes python -m benchmark.screen_gxtb --jobs 6 # the whole dataset, written to gxtb_screen/results.jsonl cd ../.. python reproduce/build_tables.py --screen reproduce/rerun/gxtb_screen/results.jsonl \ --reaction-qm reproduce/rerun/data/reaction_qm --out rerun_data ``` The screen goes through the dataset in the h5 file's order. The original run was stopped after the first 63,954 reactions, so compare `rerun_data/` with `data/` on those reactions. These are the scripts the original screen used, tidied for reuse: files renamed, and code for building a later test set removed. The dataset reader `reaction_qm.py` is the version of 2026-10-03, edited after the screen; how it reads the dataset did not change.