Skip to content

fix(protpardelle): pipe sampling options through guidance CLI#270

Open
xraymemory wants to merge 8 commits into
mdc/add-protpardellefrom
michaelanzuoni/issue-258-protpardelle-options
Open

fix(protpardelle): pipe sampling options through guidance CLI#270
xraymemory wants to merge 8 commits into
mdc/add-protpardellefrom
michaelanzuoni/issue-258-protpardelle-options

Conversation

@xraymemory

Copy link
Copy Markdown
Collaborator

Summary

  • add Protpardelle-specific CLI flags for config path and sampling controls
  • forward config path into ProtpardelleWrapper construction
  • forward sampling options into annotate_structure_for_protpardelle
  • keep guidance --help lightweight by lazy-loading runtime dependencies

Fixes #258

Validation

  • uvx ty check src/sampleworks/utils/guidance_script_arguments.py src/sampleworks/utils/guidance_script_utils.py src/sampleworks/cli/guidance.py tests/cli/test_guidance_cli.py tests/models/protpardelle/test_protpardelle_wrapper.py
  • uvx ruff check src/sampleworks/utils/guidance_script_arguments.py src/sampleworks/utils/guidance_script_utils.py src/sampleworks/cli/guidance.py tests/cli/test_guidance_cli.py tests/models/protpardelle/test_protpardelle_wrapper.py
  • PYTHONPATH=src uvx --python 3.12 --with pytest pytest --noconftest tests/cli/test_guidance_cli.py -q
  • PYTHONPATH=src uvx --python 3.12 --with pytest pytest --noconftest tests/models/protpardelle/test_protpardelle_wrapper.py -q (skipped locally: Protpardelle not installed)

marcuscollins and others added 7 commits June 1, 2026 13:11
Wrap sequence-conditioned all-atom Protpardelle-1c models (task
"ai-allatom", e.g. cc89.yaml) under the StructureModelWrapper protocol.
featurize() derives sequence conditioning (aatype/seq_mask/residue_index/
chain_index/atom37 mask) from an Atomworks structure's chain_info, and
step() runs the full reverse-diffusion trajectory internally via
Protpardelle.sample(gt_aatype=...), returning [batch, atoms, 3] coords.

- Register PROTPARDELLE_AVAILABLE / require_protpardelle /
  check_protpardelle_available (catching OSError from protpardelle.env).
- Add StructurePredictor.PROTPARDELLE.
- Tests build a small random ai-allatom model (no weights needed);
  cover sequence extraction, featurization shapes, prior init, protocol
  conformance, and an end-to-end short-trajectory sampling smoke test.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: baac80a0-2f6a-42fb-94d5-141f7b145c68

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch michaelanzuoni/issue-258-protpardelle-options

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@manzuoni-astera

Copy link
Copy Markdown
Contributor

ACTL validation update:

  • Started a fresh sampleworks-258 ACTL workspace in diffuse using the sampleworks image.
  • Found and fixed an ACTL sync issue from the Protpardelle base branch: .actlignore was excluding src/sampleworks/data/, so the bundled Protpardelle config did not sync. Added fix(actl): sync packaged data files (fb88333).
  • ACTL tests passed on the synced workspace:
    • RUNTIME_PIXI=1 pixi run -e protpardelle-dev pytest tests/cli/test_guidance_cli.py tests/models/protpardelle/test_protpardelle_wrapper.py::TestAnnotateStructure::test_adds_sampling_options -q56 passed
  • A full standalone smoke for this PR now reaches model setup/config loading, then hits the known Protpardelle runtime/device issue fixed in sibling PR fix(protpardelle): complete denoising step wiring #267.
  • To validate the intended stacked state, I locally applied fix(protpardelle): complete denoising step wiring #267 on top of this branch (not pushed) and reran the reduced Protpardelle smoke with the new Pipe protpardelle options through to the model #258 options (--protpardelle-config-path, --protpardelle-s-churn, --protpardelle-step-scale, --protpardelle-temperature, --protpardelle-top-p). That completed with Guidance run successfully!.

So: parser/annotation behavior is directly validated on ACTL for #270, and the end-to-end Protpardelle smoke passes on ACTL once #267 is included/merged first.

@marcuscollins marcuscollins force-pushed the mdc/add-protpardelle branch from 52be76a to 6713208 Compare June 29, 2026 16:40
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.

3 participants