Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 819e261af8
ℹ️ 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".
| destination = Path(output_dir) if output_dir is not None else input_path.parent | ||
|
|
||
| if input_path.is_dir(): | ||
| if list(input_path.glob("result*.pkl")): |
There was a problem hiding this comment.
Detect gzip-compressed prediction pickles in plot_inputs
When users run predictions with --compress_result_pickles, AlphaPulldown converts result_*.pkl into result_*.pkl.gz and removes the original .pkl files (alphapulldown/utils/post_modelling.py). Here, directory detection only checks result*.pkl, so valid prediction directories containing only compressed pickles fall through and raise FileNotFoundError instead of generating plots. This breaks diagnostics for compressed runs even though the directory is a legitimate AlphaPulldown output.
Useful? React with 👍 / 👎.
| if "_and_" in job_name: | ||
| return [part for part in job_name.split("_and_") if part] | ||
| if "+" in job_name: | ||
| return [part for part in job_name.split("+") if part] | ||
| return [job_name] if job_name else [] |
There was a problem hiding this comment.
Parse AP-style homo job names before building interaction pairs
AlphaPulldown writes homo-oligomer output directories in AP style as <protein>_homo_<n>er (run_structure_prediction.py), and get_good_inter_pae.py copies that directory name into the jobs column. This splitter only handles _and_ and +, so homo job names stay as a single token; then _extract_pairs_for_row drops the row (len(interactors) < 2), which silently removes homo-oligomer edges from the interaction network.
Useful? React with 👍 / 👎.
Resolves #141
Resolves #256
Resolves #258
Resolves #293
Resolves #336
Resolves #456
Resolves #459
Resolves #463
Resolves #464
Resolves #471
Resolved on this branch:
#141 Plotting interaction network
#256 Generate distogram and MSA coverage
#258 Add an analysis script to draw MSA coverage, pLDDT plots, and distograms
#293 Reduced DB mode still touching full BFD paths
#336 Add generation of JSON for AlphaFold Server
#456 Prefilter for models_to_relax=Best
#459 Explain TrueMultimer logs better
#463 Residue ranges in TrueMultimer quick mode
#464 Expose threshold_clashes and plddt_threshold in quick mode
#471 Homo-oligomers in quick multimeric template mode
Short PR summary:
This PR fixes several multimer/TrueMultimer workflow issues and adds three new user-facing utilities. On the bugfix side, it improves TrueMultimer logging, fixes reduced-database handling, exposes quick-mode template filter thresholds, preserves duplicate quick-template entries for homo-oligomers, matches chopped interactors to quick-template rows, and tightens best-model relaxation gating.
On the tooling side, it adds a standalone AlphaFold Server JSON exporter, a diagnostics plotting script for ColabFold-style MSA coverage plus pLDDT/PAE/distogram outputs, and an interaction-network plotting script for AlphaPulldown score CSVs. All of these changes are covered by focused tests added on this branch.