Skip to content

feat(analysis): bind CIF source identities to H5MD atom order - #6

Merged
xiaoxuan-yu merged 1 commit into
codex/xpongecpp-v1from
feat/cif-h5md-source-order-binding
Sep 28, 2026
Merged

xiaoxuan-yu merged 1 commit into
codex/xpongecpp-v1from
feat/cif-h5md-source-order-binding

Conversation

@xiaoxuan-yu

Copy link
Copy Markdown
Collaborator

This pull request introduces support for source atom identity order binding in the CIF/H5MD bundle workflow, ensuring that exported atom order and provenance are verifiable and consistent across tools and analysis pipelines. The changes add a new binding schema, implement order binding and validation logic, and update the bundle saver and analysis routines to use these features.

Source order binding and validation:

  • Added a new source_order.py module implementing versioned source atom order binding, hash calculation, and validation methods, including make_source_order_binding, validate_source_order_binding, bind_bundle_source_order, and validate_trajectory_source_order (src/XpongeCPP/io_bundle/source_order.py).
  • Updated the bundle saver to support binding source atom identities in the final serialization order, writing binding information and hashes to the output files, and validating source_atom_ids for uniqueness and completeness (src/XpongeCPP/io_bundle/saver.py) [1] [2] [3] [4].

Analysis and validation integration:

  • Integrated source order binding validation into the CIF/H5MD analysis pipeline, verifying mapping files and trajectory hashes against the new binding schema, and exposing validation results in metadata (src/XpongeCPP/analysis/cif_mdanalysis.py) [1] [2] [3] [4].

Documentation:

  • Added a comprehensive markdown document explaining the source-order binding schema, hash contract, mapping sidecar, and analysis validation, including expected file outputs and validation logic (docs/source_order_binding.md).

Compatibility:

  • Provided a compatibility import for the new source order binding logic in the Xponge Python interface (src/Xponge/io_bundle/source_order.py).

@xiaoxuan-yu
xiaoxuan-yu merged commit c98d9e3 into codex/xpongecpp-v1 Sep 28, 2026
15 of 16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant