Skip to content

Fix publish workflow#5

Merged
delalamo merged 25 commits intomainfrom
fix-publish-workflow
Jan 11, 2026
Merged

Fix publish workflow#5
delalamo merged 25 commits intomainfrom
fix-publish-workflow

Conversation

@delalamo
Copy link
Copy Markdown
Owner

No description provided.

delalamo and others added 25 commits January 11, 2026 12:42
- Vendor LigandMPNN files into graphrelax/LigandMPNN/ instead of submodule
- Fix np.int -> np.int64 in residue_constants.py for NumPy 1.24 compat
- Add download script for LigandMPNN model weights
- Update GitHub Actions to download weights and run integration tests
- Add ubiquitin (1UBQ) as realistic integration test case
- Update imports in designer.py and relaxer.py

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update simtk.openmm imports to fallback to openmm namespace
- Use conda for openmm/pdbfixer in GitHub Actions integration tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move math import to top of utils.py
- Move openmm imports to top of relaxer.py
- Keep cli.py imports lazy (required for fast CLI startup and test isolation)
- Remove HAS_PDBFIXER fallback logic - pdbfixer is now required

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add openfold/data/data_transforms.py for sc_utils dependency
- Add openfold/utils/{feats,loss,rigid_utils,tensor_utils}.py for loss.py dependency
- Add openfold/config.py for ml_collections replacement
- Fix unit conversion in _add_restraints() to use OpenMM internal units
  (kJ/mol/nm^2 instead of kcal/mol/A^2) for CustomExternalForce

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move graphrelax/ to src/graphrelax/
- Update pyproject.toml to use src layout
- Update pre-commit exclude paths for new layout

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix tolerance units in relaxer.py and amber_minimize.py:
  OpenMM minimizeEnergy expects kJ/mol/nm, not kcal/mol
- Fix from_pdb_string to use io.StringIO for PDB parsing:
  PDBParser.get_structure expects file handle, not raw string
- Update .gitignore (linter modification)

These fixes resolve:
- TypeError: Unit "kilocalorie/mole" is not compatible
- OSError: File name too long (PDB string used as filename)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Vendor LigandMPNN files into graphrelax/LigandMPNN/ instead of submodule
- Fix np.int -> np.int64 in residue_constants.py for NumPy 1.24 compat
- Add download script for LigandMPNN model weights
- Update GitHub Actions to download weights and run integration tests
- Add ubiquitin (1UBQ) as realistic integration test case
- Update imports in designer.py and relaxer.py

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move math import to top of utils.py
- Move openmm imports to top of relaxer.py
- Keep cli.py imports lazy (required for fast CLI startup and test isolation)
- Remove HAS_PDBFIXER fallback logic - pdbfixer is now required

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Keep HETATM separation fix for proper terminal detection in pdbfixer.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Trigger on v* tags instead of GitHub release events
- Use PYPI_API_TOKEN secret instead of trusted publishing
- Add workflow_dispatch for manual triggering
- Matches working SAbR publish workflow

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@delalamo delalamo merged commit 7b163f4 into main Jan 11, 2026
3 checks passed
@delalamo delalamo deleted the fix-publish-workflow branch January 11, 2026 22:20
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