Skip to content

Add single/mixture mode to gRASPA isotherm workflow#11

Merged
tdpham2 merged 1 commit into
mainfrom
feature/add-single-mixture-mode
Jun 2, 2026
Merged

Add single/mixture mode to gRASPA isotherm workflow#11
tdpham2 merged 1 commit into
mainfrom
feature/add-single-mixture-mode

Conversation

@tdpham2

@tdpham2 tdpham2 commented Jun 2, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add YAML-driven scripts/graspa/setup_isotherms.py with single and mixture modes for gRASPA isotherm batches
  • Optimize setup_batch: cache CIF reads, parallelize per-CIF setup with ThreadPoolExecutor, emit simulations.jsonl manifest
  • Sanitize multi-period CIF filenames (e.g. str_m5_o11_o18_sra_sym.22.cif) so gRASPA can parse FrameworkName; record renames in cif_mapping.json
  • Extract shared copy_template / render_template utilities and convert CLI/logging output to logging with a --verbose flag
  • Add PACMOF2 module for charge prediction on CIF files

Test plan

  • pytest tests/test_graspa.py (16 passed, including new sanitization + batch-mapping tests)
  • Run scripts/graspa/setup_isotherms.py end-to-end against a directory containing a multi-period CIF; confirm sanitized name appears in simulation.input and cif_mapping.json lists the rename
  • Spot-check single vs mixture mode output layouts against expected directory structure

gRASPA's input parser truncates FrameworkName at the first '.', so CIFs like 'str_m5_o11_o18_sra_sym.22.cif' fail to load. Replace '.' with '_' in the copied filename and template, and record renames in a per-batch cif_mapping.json.
@tdpham2 tdpham2 merged commit 2a05365 into main Jun 2, 2026
5 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