Impress r - #58
Closed
drawadiagram wants to merge 13 commits into
Closed
Conversation
…eviews Pipeline changes (examples/small_molecule_binding/): - Rewrite all tasks from capture_stdio to local_task=True using asyncio.create_subprocess_shell; redirect stdout+stderr to per-task .log files (only surface on failure) - Add _gpu_env() helper to propagate Dragon Policy gpu_affinity via CUDA_VISIBLE_DEVICES - Add CIF.GZ→PDB gemmi conversion before MPNN (LigandMPNN only reads PDB format) - Make scripts_path overridable via kwargs - Add mpnn_run.py: numpy deprecated alias shim for LigandMPNN's bundled openfold af2.sh: - Detect colabfold_batch from active venv or pixi env; error if not found - Use COLABFOLD_CACHE_DIR env var for model weights; fallback to ~/.cache/colabfold - Pass --data flag (not --data-dir) and --num-models 1 for integration runs rfd3.sh: - Add --writable-tmpfs --bind /scratch:/scratch to apptainer exec (required on Delta) - Set PYTHONNOUSERSITE=1 to prevent host .local packages contaminating container impress_manager.py (bug fix): - kill_parent path appended bare pipeline instead of (pipeline, future) tuple → ValueError on unpack in cleanup loop; fixed to append (pipeline, pipeline_future) - Surface pipeline exceptions via future.exception() and log via pipeline_failed() logger.py: - Add pipeline_failed() method for error-level pipeline failure reporting Code reviews: - src/CODE_REVIEW.md: bugs and quality issues in impress src/ - examples/small_molecule_binding/CODE_REVIEW.md: pipeline + scripts review - examples/protien_binding_usecase/CODE_REVIEW.md: protein binding example review Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DbNxkFCwkCEEkHnN8xGH7Q
File was present in origin/main but absent from the ipdps_pdz_usecase base branch. Added with the same DragonExecutionBackendV3 → DragonExecutionBackend update applied to run_small_molecule_binding.py. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DbNxkFCwkCEEkHnN8xGH7Q
Conflict resolutions: - examples/protein_binding/protein_binding.py: took origin/main version (standalone Boltz-capable pipeline; moved out of src/impress/pipelines/) - examples/small_molecule_binding/run_nonadaptive.py: kept HEAD version (DragonExecutionBackend, not V3) - examples/protien_binding_usecase/run_protein_binding.py: accepted deletion (file lives in examples/protein_binding/ in main) - AU files (CODE_REVIEW.md, SKILL.md, delta_env_setup.sh, delta_gpu_run.sh): staged at their new location in examples/protein_binding/ per main's rename src/impress/pipelines/protein_binding.py deleted: concrete pipeline moved to examples/protein_binding/protein_binding.py in main branch. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DbNxkFCwkCEEkHnN8xGH7Q
- src/: remove all protein_binding.py findings (file moved to examples/protein_binding/ in main merge); add note at header - examples/small_molecule_binding/: add run_nonadaptive.py to scope; extend debug-logging finding to cover both runner files; add findings for commented-out backend and hardcoded pipeline index list - examples/protein_binding/: full rewrite — new header (directory renamed protein_binding/), expanded scope to cover protein_binding.py (Boltz), protein_binding_run.py, run_nonadaptive.py; add findings for hardcoded Anvil MPNN_PATH, hardcoded peptide sequence, concurrent Boltz gather, unguarded os.unlink, DragonExecutionBackendV3 rename in all three runner files, stale delta_gpu_run.sh paths; remove resolved typo-directory finding and fixed log-message typo finding Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DbNxkFCwkCEEkHnN8xGH7Q
…nding/, protein_binding/ Bugs fixed: - filter_shape.py: undefined sfxn → sfxn_clean in RosettaScripts XML; add argparse - packmin.py: rosetta.* → pyrosetta.rosetta.* imports; remove commented dead code - mpnn_wrapper.py (pb): #!/bin/sh shebang → #!/usr/bin/env python3 - mpnn_wrapper.py (pb): temperature type=int → type=float - impress_manager.py: WorkflowEngine shutdown in try/finally; flow=None in __init__; guard submit_new_pipelines - impress_pipeline.py: remove @AbstractMethod from finalize; add no-op base impl Potential issues: - protein_binding.py, small_molecule_binding.py: Anvil hardcoded paths → None + ValueError - protein_binding.py: os.unlink → Path.unlink(missing_ok=True) - protein_binding.py: Boltz gather gated with Semaphore(2) via _guarded_s4 - protein_binding_run.py, run_protein_binding.py, run_nonadaptive.py (pb): DragonExecutionBackendV3 → DragonExecutionBackend - run_protein_binding.py: adaptive_criteria async→def; CSV path uses pipeline.base_path - delta_gpu_run.sh: path typo protien→protein; LD_LIBRARY_PATH guarded; tasks-per-node=1; eval→source Code quality: - run_small_molecule_binding.py: DEBUG→INFO logging; remove unused ThreadPoolExecutor imports - run_nonadaptive.py (smb): DEBUG→INFO; remove commented-out LocalExecutionBackend import - protein_binding_run.py, run_nonadaptive.py (pb): DEBUG→INFO logging - filter_shape.py: remove redundant .close() in with blocks - filter_energy.py: remove unconditional print to stdout - fastrelax.sh: quote $0 in dirname - af2.sh: remove diagnostic echo lines - af2_multimer_reduced.sh: remove unused /tmp/work /tmp/upper - rfd3.sh: fix comment arg order ($4=diffusion_batch_size $5=scaffold_arg) - small_molecule_binding.py: remove dead fixed_residues_file comment - mpnn_wrapper.py (pb): chains==None → chains is None - impress_manager.py: log buffered count before clear (fix stale-0 bug) - logger.py: add min_level filtering; fix error()/critical() to use output_stream Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DbNxkFCwkCEEkHnN8xGH7Q
…g integration Combines modern IMPRESS protein_binding (Boltz structure prediction) with ROME-A online ProteinMPNN fine-tuning. ROME hooks live entirely in the adaptive function so the pipeline class stays clean. Includes SLURM scripts, env setup, score analysis plotting script, and run 21736435 report. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DbNxkFCwkCEEkHnN8xGH7Q
Plot 3 now shows depth-stratified mean trajectories (root/sub1/sub2/sub3) instead of a single global mean, surfacing the ROME signal more clearly. Report updated with final 296-design stats, per-depth table, and revised key observations. plot_rome_scores.py updated to match. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DbNxkFCwkCEEkHnN8xGH7Q
- delta_env_setup.sh (all examples): source lmod in non-interactive bash, use `module load python` for Python detection, fix version formula (major*100+minor), add matplotlib, export VIRTUAL_ENV before PyRosetta installer, pin dragonhpc==0.14.1 (0.14.2 breaks on Delta runtime), remove hardcoded bblj allocation from MINIFORGE and _scratch fallbacks - delta_gpu_run.sh: point default IMPRESS_VENV to correct per-example venv - impress_r/plot_rome_scores.py: remove hardcoded bblj allocation from SCRATCH fallback; require --csv-dir when SCRATCH is unset - small_molecule_binding/small_molecule_binding.py: prefix scaffold_arg with + for Hydra append semantics (scaffoldguided.target_pdb) - small_molecule_binding/delta_env_setup.sh: wrap COLABFOLD_CACHE_DIR in pathlib.Path() for download_alphafold_params Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DbNxkFCwkCEEkHnN8xGH7Q
Contributor
Author
|
test branch only. mergeable activities moved to other branches. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
add impress_r use case