Add reproducible structural visualization workflows - #5
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cbdb84cb4b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| data = report.get("data", report) | ||
| output: set[str] = set() | ||
| for group in data.get("ligand_groups", []): | ||
| for residue in group.get("contact_residues", []): |
There was a problem hiding this comment.
Read contact residues from the correct key
When proteus.py compare ... --ligand is used, this loop never collects any contacts because interaction_report.analyze_interactions() emits each ligand group's residues under contacting_residues, not contact_residues. As a result reference_contacts, mobile_contacts, gained_in_mobile, lost_in_mobile, and preserved are all reported as empty even for structures with ligand contacts.
Useful? React with 👍 / 👎.
| residue_arg = parsed["value"] if parsed["kind"] == "residue" else None | ||
| variant_arg = parsed["value"] if parsed["kind"] == "variant" else None |
There was a problem hiding this comment.
Respect chain overrides for variant context
For variant-focused residue stories with --chain, the visual selection and mutation triage use the requested chain, but the pocket/interface context gets only variant_arg; downstream selectors therefore have chain: null and include every chain with the same residue number. In multichain structures this can report ligand/interface context for the wrong chain, so pass a chain-qualified residue selector for variants when chain is set.
Useful? React with 👍 / 👎.
Summary
Verification