Skip to content

Implement Protein Design Workflow #19

@TKanX

Description

@TKanX

Description:

This task involves implementing the protein design workflow, which enables the exploration of sequence space to find mutations that optimize stability or other properties. This is a significantly more complex workflow that performs a co-optimization of both sequence and conformation.

Tasks:

  • Phase 0 & 1: Setup & Pre-computation:
    • Adapt the setup phase to load all required rotamer libraries for every possible ResidueType specified in the DesignSpec.
    • Ensure the el_energy task computes EL energies for every allowed ResidueType at each design site.
  • Phase 2: Initialization: Initialize the system with the template sequence or another reasonable starting guess.
  • Phase 3: Sequence-Conformation Co-optimization:
    • Implement a main iterative loop for exploring sequence space (e.g., using Monte Carlo).
    • In each iteration, select a design site to mutate (e.g., randomly or in a fixed order).
    • For the selected site, evaluate the fitness of each allowed ResidueType from the DesignSpec. This evaluation sub-process involves:
      • Temporarily applying the mutation to the system.
      • Running a rapid, localized repacking/refinement on the mutated site and its immediate neighbors (a "mini-placement" workflow).
      • Scoring the resulting state to determine the fitness of the mutation.
    • Stochastically (e.g., via a Metropolis criterion) or greedily accept the best mutation for the selected site and update the working_system.
    • Periodically trigger a full repacking of all neighbors_to_repack to allow the system's conformation to adapt to the accumulated sequence changes.
    • Submit promising full system states (sequence + structure) to the OptimizationState.
  • Phase 4: Finalization: Return the top N best-scoring designed sequences and their corresponding optimized structures.

Metadata

Metadata

Assignees

Labels

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions