{"id":50332202,"url":"https://github.com/ericchansen/q2mm-data","last_synced_at":"2026-05-29T10:30:48.254Z","repository":{"id":360083013,"uuid":"1228178140","full_name":"ericchansen/q2mm-data","owner":"ericchansen","description":"Benchmark results and validation data for q2mm (Quantum to Molecular Mechanics)","archived":false,"fork":false,"pushed_at":"2026-05-24T22:10:10.000Z","size":1498,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-25T00:20:49.521Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ericchansen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-03T17:40:38.000Z","updated_at":"2026-05-03T17:42:11.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ericchansen/q2mm-data","commit_stats":null,"previous_names":["ericchansen/q2mm-data"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ericchansen/q2mm-data","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericchansen%2Fq2mm-data","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericchansen%2Fq2mm-data/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericchansen%2Fq2mm-data/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericchansen%2Fq2mm-data/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericchansen","download_url":"https://codeload.github.com/ericchansen/q2mm-data/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericchansen%2Fq2mm-data/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33648529,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-29T10:30:47.592Z","updated_at":"2026-05-29T10:30:48.246Z","avatar_url":"https://github.com/ericchansen.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# q2mm-data\n\nBenchmark results and validation data for\n[q2mm](https://github.com/ericchansen/q2mm) (Quantum to Molecular Mechanics).\n\nThis repository stores optimizer benchmark outputs (JSON result files,\noptimized force fields) and reference validation data separately from the\nmain codebase.  Numbers cited in the q2mm documentation trace back to the\nJSON files committed here.\n\n## Structure\n\n```\nbenchmarks/\n├── ch3f/                                # CH₃F small-molecule benchmark\n│   ├── convergence/                     # Ratio-gated end-to-end optimization (current pipeline)\n│   ├── results/*.json                   # 100 optimizer runs (L-BFGS-B, Nelder-Mead, Optax, …) — full-matrix CLI output\n│   └── forcefields/                     # Optimized force fields per run from the matrix output\n├── rh-enamide/                          # Rh-enamide TS (Donoghue 2008), 9 molecules\n│   └── convergence/                     # Ratio-gated end-to-end optimization\n├── heck-relay/                          # Heck relay (Rosales 2020), 23 molecules\n│   ├── convergence/                     # Ratio-gated end-to-end optimization\n│   └── diagnostic/                      # Three-baseline diagnostic (q2mm#277 loader bug)\n├── pd-allyl-amination/                  # Pd allyl amination (Wahlers 2021), 21 molecules\n│   └── convergence/\n├── pd-1,4-conjugate-addition/           # Pd 1,4-conjugate addition (Wahlers 2021), 10 molecules\n│   └── convergence/\n└── rh-1,4-conjugate-addition/           # Rh 1,4-conjugate addition (Wahlers 2022), 10 molecules\n    └── convergence/\n\nqfuerza-zenodo/                          # QFUERZA paper validation data (Farrugia 2025)\n├── README.md\n├── cisplatin/                           # Cisplatin ground state\n└── rh-enamide/                          # Rh-enamide QFUERZA/FUERZA force fields\n```\n\nTwo standard directory layouts:\n\n- `convergence/` — output of `scripts/regenerate_convergence_results.py`\n  in q2mm, the canonical end-to-end ratio-gated optimization pipeline.\n  Every published-FF system has exactly one of these.  Contains\n  `validation_results.json`, `paper_metrics.json`, and the optimized\n  `.fld` force field.\n- `results/` + `forcefields/` — output of the legacy full-matrix\n  `q2mm-benchmark` CLI.  Currently kept only for `ch3f/`, which is\n  the source of the optimizer-matrix table in\n  [`docs/systems/small-molecules.md`](https://github.com/ericchansen/q2mm/blob/master/docs/systems/small-molecules.md).\n  Do not add new `results/`/`forcefields/` directories for other\n  systems unless you also wire them into a docs page in the same PR\n  (see \"Stewardship rule\" below).\n\n## Stewardship rule — every committed file earns its place\n\nThis repo follows\n[q2mm AGENTS.md §2](https://github.com/ericchansen/q2mm/blob/master/AGENTS.md):\n\n\u003e *\"Every file earns its place. If you can't explain why a file exists\n\u003e and what would break without it, it probably shouldn't be there.\n\u003e No deprecated artifacts. If something is superseded, delete the old\n\u003e version in the same commit.\"*\n\nFor this repo specifically:\n\n- **Before committing data**, identify the doc page or test fixture that\n  references it.  Put the reference link in the PR description.\n- **Before deleting code in q2mm that produced a directory layout here**,\n  open a paired cleanup PR in q2mm-data — never let the layout\n  references go stale on either side.\n- **Don't commit speculative or exploratory output** — write it to a\n  local scratch dir.  Only artifacts that back a public claim\n  (documentation, paper figure, regression test) belong here.\n\nRun `scripts/audit-orphans.sh` (see below) periodically to catch any\ndirectories that have lost their references.  The same audit now runs\nautomatically on every pull request and weekly on Mondays.\n\n## Auditing for orphaned data\n\n```bash\n# from the q2mm-data repo root, point at a checkout of ericchansen/q2mm:\nscripts/audit-orphans.sh ../q2mm\n```\n\nThe audit also runs automatically in\n[Audit orphaned benchmark data](.github/workflows/audit-orphans.yml) on every\npull request, weekly on Mondays at 09:00 UTC, and on manual dispatch.\n\nThe script walks every `benchmarks/\u003csystem\u003e/\u003csubdir\u003e/` and searches the\nq2mm checkout (`docs/`, `test/`, `q2mm/`, `scripts/`, `examples/`) for\nreferences to that path.  Any subdirectory without a reference is\nreported as a candidate for deletion or wiring-in.\n\nHistory note: the systems' legacy `results/` / `forcefields/` directories\n(other than `ch3f/`) were dropped in\n[#7](https://github.com/ericchansen/q2mm-data/pull/7) after the audit\nflagged them as orphans — they had been speculatively populated by the\nold full-matrix CLI but never referenced anywhere.\n\n## JSON result format\n\nEach benchmark result JSON contains:\n\n| Key | Description |\n|-----|-------------|\n| `metadata` | System name, optimizer, backend, force field type |\n| `environment` | Python version, GPU model, package versions |\n| `qm_reference` | QM reference frequencies |\n| `seminario` | QFUERZA analytical starting point (RMSD, eigenvalues) |\n| `optimized` | Optimizer output: `rmsd`, `elapsed_s`, `converged`, `message`, `param_initial`, `param_final` |\n\n## Relationship to q2mm\n\n- **Documentation**: q2mm docs reference this repo for raw data backing\n  benchmark tables and literature reproduction pages.\n- **Test fixtures**: Small golden fixtures for CI tests remain in the main\n  q2mm repo (`test/fixtures/`).  This repo stores the full benchmark\n  outputs that are too large for the main codebase.\n- **Reproducibility**: Run `q2mm-benchmark --output \u003cdir\u003e` to regenerate\n  any benchmark.  See the\n  [q2mm benchmark docs](https://github.com/ericchansen/q2mm/tree/master/docs/benchmarks)\n  for details.\n\n## License\n\nSame as [q2mm](https://github.com/ericchansen/q2mm).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericchansen%2Fq2mm-data","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fericchansen%2Fq2mm-data","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericchansen%2Fq2mm-data/lists"}