Skip to content

Per-residue parallelization in alasan #1317

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 10 commits into
base: main
Choose a base branch
from
Draft

Conversation

AnnaKravchenko
Copy link
Contributor

@AnnaKravchenko AnnaKravchenko commented Jul 3, 2025

  • Tests added for the new code
  • Documentation added for the code changes
    not applicable >> Modifications / enhancements are reflected on the haddock3 user-manual
  • CHANGELOG.md is updated to incorporate new changes
  • Does not break licensing
  • Does not add any dependencies, if it does please add a thorough explanation

Summary of the Pull Request

Alascan already parallelizes per-model comutations. But if we’re working with a few models, a large number interface residues, and sufficient number of available cores (after per-model parallelization), then per-residue parallelization speeds up alascan. This is achieved by moving main computation loop (mutate residue -> calculate score -> calculate delta-score) in new functinon process_residue_task, and using libparallel’s GenericTask and Scheduler to run it as a task for each interface residue.

Related Issue

Closes #1307

Additional info

KeyboardInterrupt or parallel procrssing per-residue gave error “There appear to be X leaked semaphore objects to clean up at shutdown”, added functinons to handle this.

@AnnaKravchenko AnnaKravchenko self-assigned this Jul 3, 2025
@AnnaKravchenko AnnaKravchenko added enhancement Improving something in the codebase m|alascan labels Jul 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improving something in the codebase m|alascan
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Per-residue parallelization in [alascan]
1 participant