-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancement ✨New feature or requestNew feature or request
Description
Description:
This task focuses on creating a dedicated analysis workflow. Instead of optimizing a structure, this workflow uses the SCREAM++ force field and scoring engine to perform specific calculations on a given molecular system and report the results. This provides a powerful utility for users to probe molecular interactions and properties.
Tasks:
-
runFunction Signature: Define the main function inworkflows/analyze.rsthat accepts aninitial_system, anAnalyzeConfig, and aProgressReporter, returning aResult<AnalysisReport, EngineError>. - Phase 0: Setup: Load the
Forcefieldand fully parameterize a copy of the input system. - Phase 1: Dispatch & Execute:
- Implement a
matchstatement on theanalysis_typefield from theAnalyzeConfigto dispatch to the correct analysis logic. - For
InteractionAnalysis:- Resolve the two
AtomSelectiongroups (e.g.,Residue A,Chain B) into concreteVec<AtomId>. - Create a
Scorerinstance. - Call
score_interactionon the two resolved atom groups. - Populate and return an
AnalysisReportwith the resultingEnergyTermbreakdown (VDW, Coulomb, HBond).
- Resolve the two
- For
ClashDetectionAnalysis:- Resolve the selection of atoms to check for clashes (e.g., all atoms).
- Iterate through all relevant non-bonded atom pairs in the selection.
- Calculate the interaction energy for each pair using the
Scorer. - If the energy exceeds the configured
threshold_kcal_mol, add the pair's details (atom identifiers, distance, energy) to a list within theAnalysisReport. - Return the final
AnalysisReport.
- Implement a
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancement ✨New feature or requestNew feature or request
Type
Projects
Status
Todo