Skip to content

SASA computation fails in analysis step for example inputs (Coordinates are empty) #166

Open

Description

@juliocesar-io

Running the unmodified example Exmaple small_molecule_from_file_and_smiles in v0.2.0 fails during the analysis step.
All previous steps complete successfully.

Possibly related to:
#150

boltzgen run example/small_molecule_from_file_and_smiles/4g37.yaml \
  --output workbench \
  --protocol protein-anything \
  --num_designs 2

Environment
• boltzgen v0.2.0
• Python 3.12
• NVIDIA GPU RTX A6000

Error

ValueError: Coordinates are empty
  File "boltzgen/task/analyze/analyze_utils.py", line 692, in get_delta_sasa
    target_area = sasa(...)
  File "biotite/structure/sasa.pyx", line 184

Pipeline exits during step 5/6: analysis.

Complete error log atteched:

error.log

Notes
• design, inverse_folding, folding, design_folding succeed
• CIFs are generated in earlier steps
• Failure occurs while computing SASA

Activity

  1. buerbaumer commented on Feb 1, 2026

    @buerbaumer
    Contributor

    I can confirm this issue.

    Environment:

    • AWS EC2 g5.2xlarge (NVIDIA A10G, 24GB VRAM)
    • BoltzGen via Docker (CUDA 12.2.2)
    • Ubuntu 22.04

    Reproduction:

    boltzgen run example/small_molecule_from_file_and_smiles/4g37.yaml \
      --output workbench \
      --protocol protein-anything \
      --num_designs 10
    Result:
    Pipeline fails at step 5 (analysis) with ValueError: Coordinates are empty.
    
    Steps 1-4 (design, inverse_folding, folding, design_folding) complete successfully before the crash.
    
    <details> <summary>Full traceback</summary>
    
    File "/app/src/boltzgen/task/analyze/analyze.py", line 237, in run
        self.distribute_tasks()
    File "/app/src/boltzgen/task/analyze/analyze.py", line 258, in distribute_tasks
        sample_ids = self.run_parallel(num, num_processes)
    File "/app/src/boltzgen/task/analyze/analyze.py", line 214, in run_parallel
        sid = f.result()
    File "/usr/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
        raise self._exception
    ValueError: Coordinates are empty
    </details>
    Happy to test PR #167 if helpful.
  2. buerbaumer commented on Feb 1, 2026

    @buerbaumer
    Contributor

    Update: Tested PR #167 - Confirmed Fix

    I tested PR #167 and can confirm it resolves this issue.

    Installation:

    pip install git+https://github.com/HannesStark/boltzgen.git@refs/pull/167/head

    Test Command:
    boltzgen run /designs/4g37.yaml --output /output --protocol protein-anything --num_designs 2 --devices 1

    Result: All 6 pipeline steps completed successfully:

    ✓ Step design completed successfully in 149.6s
    ✓ Step inverse_folding completed successfully in 11.1s
    ✓ Step folding completed successfully in 209.0s
    ✓ Step design_folding completed successfully in 209.0s
    ✓ Step analysis completed successfully in 17.5s ← Previously crashed here
    ✓ Step filtering completed successfully in 10.4s

    Output verification:

    2/2 designs made it to final_ranked_designs/
    Metrics CSV generated with all expected columns
    SASA values are empty/NaN as expected (the fix returns NaN when atom selection fails rather than crashing)
    All other metrics computed normally (pLDDT, pTM, ipTM, liabilities, etc.)
    The fix gracefully handles the edge case where SASA atom selection is empty for small molecule conjugates.

    @juliocesar-io Nice fix! This PR is ready to merge.

  3. added a commit that references this issue on Sep 27, 2026
    181f4fd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions