A vendored, citable archive of the exact computational environment that generated the data for our IEEE submission "Making Algebraic Parameter Estimation Practical for Noisy Data via Gaussian Process Regression" (Bassik, Demin, Ovchinnikov 2026), and a harness for producing successor snapshots when we re-run the benchmark with newer code or new ODE systems.
julia/: vendored source for the five Julia packages that constitute the paper-era environment (ODEParameterEstimationand four dependencies that aren't in the Julia General registry or that the paper relied on at specific patched commits).julia/env/: theProject.tomlandManifest.tomlthat resolve the benchmark environment under Julia 1.11.5.pipeline/: the Python wrapper (generate_data.py,generate_scripts.py,estimate.py), the Julia/Mustache estimation template, and the configuration files (config.json,systems.json) that drive the benchmark.python/requirements.txt: the paper-era pin of the Python wrapper's dependencies.data/source_csvs/: the two CSV files that the paper'sdataset_package/combined_results_filtered.csvwas assembled from.data/per_experiment/: 2200 per-experiment directories across four variants. ODEPE side: 550 cells inodepe/and 550 inodepe_polish/, each withscript.jl,data.csv,result.csv. AMIGO2 side: 550 cells inamigo2_0_10/(search bounds [0,10]) and 550 inamigo2_0_100/(bounds [0,100]), each withscript.m,data.csv,objf_nl2sol.m, and eitherresult.csv(parameters extracted from AMIGO2'sEstimated global parameterssection) orno_result_in_paper.txt(138 cells where AMIGO2 hit a known MATLAB postprocessing crash; preserved as paper-era failures).bin/gcc: 3-line GCC wrapper required for AMIGO2 MEX compilation on modern Linux (GCC 14+). Seedocs/AMIGO2_SETUP.md.SNAPSHOT.toml: a single TOML manifest declaring the version and upstream commit of every vendored component. The harness reads this.setup.sh,reproduce_one.sh,reproduce_all.sh,expand_with_new_system.sh: the run scripts.docs/RECIPE.md: a condensed reproducibility recipe (the long form lives in the paper repo'sdocs/reproducibility_audit.md).
git clone https://github.com/orebas/parameter-estimation-snapshots
cd parameter-estimation-snapshots
./setup.shsetup.sh:
- Installs Julia 1.11.5 via
juliaupif not already installed. - Builds a
uv venvunderpython/.venvand installspython/requirements.txt. - Runs
Pkg.instantiate()onjulia/env/, which resolves the vendored path-dependencies and precompiles ~600 packages (around one minute on a warm cache, ten to thirty minutes from cold).
./reproduce_one.sh harmonic_0_0 # ODEPE (default)
./reproduce_one.sh -v odepe_polish harmonic_0_0 # ODEPE with polish
./reproduce_one.sh -v amigo2_0_10 harmonic_0_0 # AMIGO2 (needs MATLAB)
./reproduce_one.sh -v amigo2_0_100 harmonic_0_0 # AMIGO2 wider boundsFor ODEPE variants: runs the paper-era preserved script.jl against
the vendored Julia env, diffs the resulting result.csv against the
paper's preserved result.csv. Verification passes when values agree
to within roughly 1e-9 (residual gap from HomotopyContinuation's
unseeded RNG, measured directly).
For AMIGO2 variants: runs the paper-era preserved script.m against
your MATLAB + AMIGO2 install, with the snapshot's gcc wrapper for
MEX compatibility. Verification tolerance defaults to 1e-2 because
AMIGO2 is a stochastic global optimizer (eSS), not bit-exact. See
docs/AMIGO2_SETUP.md for MATLAB / AMIGO2_PATH setup.
Wall-clock time ranges from ~5 minutes (harmonic) to ~30 minutes (heaviest crauste + biohydrogenation runs).
./reproduce_all.shRuns all 1100 experiments serially. Estimated wall-clock time: ~10 days
single-core; substantially less if the script is invoked under a Slurm
array job (template at pipeline/hpc/array_job_odepe.s).
./expand_with_new_system.sh path/to/new_systems.jsonRe-runs the full pipeline (Python data generation + Julia estimation)
under this snapshot's pinned environment, treating the user-provided
systems.json as input. Output lands under data/per_experiment/ for
inclusion in the next snapshot version. See docs/ADDING_A_SYSTEM.md
for details.
| tag | created | what it captures |
|---|---|---|
v1.0 |
2026-05-01 | The original IEEE-paper environment: Julia 1.11.5, ODEParameterEstimation@7f2b313, AMIGO2_R2025. Reproduces the paper's combined_results_filtered.csv ODEPE side bit-exactly (1e-9), AMIGO2 side within optimizer stochastic spread (1e-2). |
Successor tags will be listed here as we cut them.
If you use this archive, please cite both the paper and the specific
snapshot tag's DOI (issued by Zenodo on each GitHub release). For
the canonical paper data, cite v1.0.
GPL-3.0 (inherited from ODEParameterEstimation). See LICENSE and
NOTICES.md for the full list of vendored components and their
individual licenses.