batter.config.simulation.SimulationConfig#
- pydantic model batter.config.simulation.SimulationConfig[source]#
Simulation configuration for ABFE/ASFE/RBFE workflows. Values are fed by RunConfig.resolved_sim_config(), which merges create: and fe_sim:.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Fields:
- Validators:
_coerce_barostat»barostat_coerce_yes_no»enable_mcwat_coerce_yes_no»hmr_coerce_yes_no»neutralize_only_coerce_yes_no»remd_coerce_yes_no»rocklin_correction_finalize»all fields_lower_enums»dec_int_lower_enums»fe_type_parse_lambdas»lambdas_validate_anchor»p1_validate_anchor»p2_validate_anchor»p3
- field all_atoms: Literal['yes', 'no'] = 'no'#
save all atoms for FE
- Validated by:
_finalize
- field analysis_start_step: int = 0#
Analyze only steps after this (per FE window).
- Constraints:
ge = 0
- Validated by:
_finalize
- field anion: str = 'Cl-'#
Anion species
- Validated by:
_finalize
- field barostat: Literal[1, 2] = 2#
1=Berendsen, 2=MC barostat
- Validated by:
_coerce_barostat_finalize
- field blocks: int = 0#
MBAR blocks
- Validated by:
_finalize
- field buffer_x: float = 10.0#
Box buffer X (Å)
- Validated by:
_finalize
- field buffer_y: float = 10.0#
Box buffer Y (Å)
- Validated by:
_finalize
- field buffer_z: float = 15.0#
Box buffer Z (Å)
- Validated by:
_finalize
- field cation: str = 'Na+'#
Cation species
- Validated by:
_finalize
- field component_lambdas: Dict[str, List[float]] [Optional]#
Lambda schedule for each component
- Validated by:
_finalize
- field component_windows: Dict[str, List[float]] [Optional]#
Per-component lambda values for overrides
- Validated by:
_finalize
- field components: List[str] [Optional]#
List of components (v, o, z, etc.)
- Validated by:
_finalize
- field cut: float = 9.0#
Nonbonded cutoff (Å)
- Validated by:
_finalize
- field dec_int: Literal['mbar', 'ti'] = 'mbar'#
Integration method (mbar/ti)
- Validated by:
_finalize_lower_enums
- field dec_method: str | None = None#
Decoupling method (set for fe_type=’custom’)
- Validated by:
_finalize
- field dic_n_steps: Dict[str, int] [Optional]#
Steps per component
- Validated by:
_finalize
- field dt: float = 0.004#
Time step (ps)
- Validated by:
_finalize
- field enable_mcwat: Literal['yes', 'no'] = 'yes'#
Enable MC water exchange moves during equilibration templates.
- Validated by:
_coerce_yes_no_finalize
- field eq_steps: int = 1000000#
Total equilibration steps (entire run).
- Validated by:
_finalize
- field fe_type: Literal['custom', 'rest', 'sdr', 'dd', 'sdr-rest', 'express', 'relative', 'uno', 'uno_com', 'uno_rest', 'self', 'uno_dd', 'dd-rest', 'asfe', 'md'] [Required]#
Free-energy protocol type
- Validated by:
_finalize_lower_enums
- field gamma_ln: float = 1.0#
Langevin γ (ps^-1)
- Validated by:
_finalize
- field hmr: Literal['yes', 'no'] = 'no'#
Hydrogen mass repartitioning
- Validated by:
_coerce_yes_no_finalize
- field infe: bool = False#
Enable NFE (infinite) equilibration when true.
- Validated by:
_finalize
- field ion_conc: float = 0.15#
Target salt concentration (M)
- Validated by:
_finalize
- field ion_def: List[Any] [Optional]#
Ion tuple [cation, anion, conc]
- Validated by:
_finalize
- field l1_range: float | None = None#
L1 search radius (Å)
- Validated by:
_finalize
- field l1_x: float | None = None#
L1 center offset X (Å)
- Validated by:
_finalize
- field l1_y: float | None = None#
L1 center offset Y (Å)
- Validated by:
_finalize
- field l1_z: float | None = None#
L1 center offset Z (Å)
- Validated by:
_finalize
- field lambdas: List[float] [Optional]#
default lambda values
- Validated by:
_finalize_parse_lambdas
- field lig_angle_force: float = 0.0#
Ligand angle/dihedral spring (kcal/mol/rad^2)
- Validated by:
_finalize
- field lig_buffer: float = 10.0#
Ligand box buffer (Å)
- Validated by:
_finalize
- field lig_com_force: float = 0.0#
Ligand COM spring
- Validated by:
_finalize
- field lig_dihcf_force: float = 0.0#
Ligand dihedral spring (kcal/mol/rad^2)
- Validated by:
_finalize
- field lig_distance_force: float = 0.0#
Ligand COM distance spring (kcal/mol/Å^2)
- Validated by:
_finalize
- field ligand_dict: Dict[str, Any] [Optional]#
Ligand dictionary
- Validated by:
_finalize
- field ligand_ff: str = 'gaff2'#
Ligand FF
- Validated by:
_finalize
- field lipid_ff: str = 'lipid21'#
Lipid FF
- Validated by:
_finalize
- field lipid_mol: List[str] [Optional]#
Lipid molecules
- Validated by:
_finalize
- field max_adis: float | None = None#
Max anchor distance (Å)
- Validated by:
_finalize
- field membrane_simulation: bool = True#
Whether system includes a membrane
- Validated by:
_finalize
- field min_adis: float | None = None#
Min anchor distance (Å)
- Validated by:
_finalize
- field n_bootstraps: int = 0#
Number of MBAR bootstrap resamples used during FE analysis.
- Constraints:
ge = 0
- Validated by:
_finalize
- field n_steps_dict: Dict[str, int] [Optional]#
Per-component steps (keys: ‘{comp}_n_steps’)
- Validated by:
_finalize
- field neut: str = ''#
Alias of neutralize_only
- Validated by:
_finalize
- field neutralize_only: Literal['yes', 'no'] = 'no'#
Neutralize only
- Validated by:
_coerce_yes_no_finalize
- field ntpr: int = 100#
Print energy every ntpr steps
- Validated by:
_finalize
- field ntwe: int = 0#
Write energy every ntwe steps
- Validated by:
_finalize
- field ntwr: int = 10000#
Write restart every ntwr steps
- Validated by:
_finalize
- field ntwx: int = 2500#
Write trajectory every ntwx steps
- Validated by:
_finalize
- field other_mol: List[str] [Optional]#
Other co-binders
- Validated by:
_finalize
- field p1: str = ''#
Anchor P1 “RESID@ATOM” (e.g., “85@CA”)
- Validated by:
_finalize_validate_anchor
- field p2: str = ''#
Anchor P2 “RESID@ATOM”
- Validated by:
_finalize_validate_anchor
- field p3: str = ''#
Anchor P3 “RESID@ATOM”
- Validated by:
_finalize_validate_anchor
- field protein_align: str = 'name CA'#
Alignment selection
- Validated by:
_finalize
- field rec_com_force: float = 0.0#
Protein COM spring
- Validated by:
_finalize
- field receptor_ff: str = 'protein.ff14SB'#
Receptor FF
- Validated by:
_finalize
- field receptor_segment: str | None = None#
Segment to embed in membrane
- Validated by:
_finalize
- field release_eq: List[float] [Optional]#
Equilibration release weights (derived; fixed to [0.0]).
- Validated by:
_finalize
- field remd: Literal['yes', 'no'] = 'no'#
Enable REMD execution (submission only; inputs are always prepared).
- Validated by:
_coerce_yes_no_finalize
- field remd_nstlim: int = 100#
Steps per REMD segment (applied to
mdin-*-remdcopies).- Validated by:
_finalize
- field rest: List[float] [Optional]#
Packed restraint constants
- Validated by:
_finalize
- field rng: int = 0#
Range of release_eq
- Validated by:
_finalize
- field rocklin_correction: Literal['yes', 'no'] = 'no'#
Rocklin correction
- Validated by:
_coerce_yes_no_finalize
- field sdr_dist: float | None = 0.0#
SDR placement distance (Å)
- Validated by:
_finalize
- field slurm_header_dir: Path [Optional]#
Directory containing user Slurm header templates.
- Validated by:
_finalize
- field solv_shell: float | None = 15.0#
Initial solvent shell radius (Å)
- Validated by:
_finalize
- field system_name: str [Required]#
System name (required)
- Validated by:
_finalize
- field temperature: float = 298.15#
Temperature (K)
- Validated by:
_finalize
- field ti_points: int | None = 0#
TI points (not implemented)
- Validated by:
_finalize
- field unbound_threshold: float = 8.0#
Distance (Å) between ligand COMs that classifies equilibration as unbound.
- Constraints:
ge = 0.0
- Validated by:
_finalize
- field water_model: Literal['SPCE', 'TIP4PEW', 'TIP3P', 'TIP3PF', 'OPC'] = 'TIP3P'#
Water model
- Validated by:
_finalize