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:
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-*-remd copies).

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#
  1. 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