@@ -19,21 +19,23 @@ The run YAML file is divided into three sections grouped inside
1919 notification preferences, and artifact destination. ``run.output_folder `` is
2020 required and becomes the base path for ``<run.output_folder>/executions/<run_id>/ ``.
2121 ``run.system_type `` optionally overrides the builder selection inferred from the
22- protocol (``MABFE `` for ABFE/MD, ``MASFE `` for ASFE). This section is validated
23- by :class: `batter.config.run.RunSection `. Set ``run.clean_failures: true `` to
24- remove ``FAILED `` sentinels, ``job_attempt.txt `` retry counters, and progress
25- caches before rerunning an existing execution.
22+ protocol (``MABFE `` for ABFE/RBFE/MD-family runs, ``MASFE `` for ASFE). This
23+ section is validated by :class: `batter.config.run.RunSection `. Set
24+ ``run.clean_failures: true `` to remove ``FAILED `` sentinels,
25+ ``job_attempt.txt `` retry counters, and progress caches before rerunning an
26+ existing execution. Set ``run.store_debug_files: true `` to preserve
27+ intermediate scratch files that are otherwise pruned after successful stages.
2628``create ``
2729 Inputs required for system staging (protein/topology paths, ligands, force fields,
2830 optional anchors/restraints). The structure maps directly to
2931 :class: `batter.config.run.CreateArgs `.
3032``fe_sim ``
31- Overrides and controls for free-energy simulation stages. For ABFE/ASFE runs
32- these map to :class: `batter.config.run.FESimArgs `. MD-only runs automatically
33- coerce this section into :class: `batter.config.run.MDSimArgs `, so fields like
34- `` lambdas `` or SDR restraints are no longer required. Equilibration controls
35- are expressed via ``eq_steps `` which now represents the **total ** equilibration
36- steps. The value is written into ``mdin-template `` as ``! total_steps=<total> ``,
33+ Overrides and controls for simulation stages. FE protocols map this section to
34+ :class: `batter.config.run.FESimArgs `. MD-only runs automatically coerce it into
35+ :class: `batter.config.run.MDSimArgs `, so fields like `` lambdas `` or SDR
36+ restraints are no longer required. Equilibration controls are expressed via
37+ ``eq_steps `` which now represents the **total ** equilibration steps. The value
38+ is written into ``mdin-template `` as ``! total_steps=<total> ``,
3739 letting runtime scripts determine the target length without regenerating inputs.
3840 Legacy production extend knobs (``num_fe_extends ``) are rejected; set
3941 ``n_steps `` to total steps instead. ``analysis_range `` is likewise
@@ -52,9 +54,10 @@ Per-component steps and lambdas
5254
5355Component steps are supplied via ``fe_sim.n_steps `` as dicts keyed by the
5456single-letter component (e.g. ``z: 100000 ``). Keys like ``y_n_steps `` are also
55- accepted and folded into this map automatically. Each protocol enforces the
56- required components: ABFE fills ``z `` defaults if omitted, and ASFE fills
57- ``y ``/``m `` defaults.
57+ accepted and folded into this map automatically. Each FE protocol enforces the
58+ components it needs: ABFE requires ``z ``, standard and SEPTOP RBFE require ``x ``,
59+ and ASFE requires ``y ``/``m ``. Set the corresponding ``<comp>_n_steps `` or
60+ ``fe_sim.n_steps `` entry explicitly in production YAMLs.
5861
5962Lambda schedules can be customized per component using ``fe_sim.component_lambdas ``
6063(or ``<comp>_lambdas `` keys). When a component is missing from that map, it
@@ -64,12 +67,23 @@ or comma/space separated strings; validation ensures ascending order.
6467RBFE mapping options
6568--------------------
6669
67- For ``protocol: rbfe ``, the ``rbfe `` block controls network planning and atom mapping.
70+ For ``protocol: rbfe `` or ``protocol: rbfe_septop ``, the ``rbfe `` block controls
71+ network planning and atom mapping/scoring.
6872
6973* ``rbfe.mapping `` – mapping strategy (for example ``default `` or ``konnektor ``).
7074* ``rbfe.mapping_file `` – explicit pair list file; takes precedence over ``mapping ``.
7175* ``rbfe.atom_mapping_file `` – optional JSON/YAML atom mapping overrides for
7276 selected pairs; uncovered pairs use ``rbfe.atom_mapper ``.
77+ * ``rbfe.network_scorer `` – edge scorer for Konnektor planning. ``auto `` uses the
78+ LoMap scorer for standard RBFE and pocket-shape scoring for ``rbfe_septop ``.
79+ Other accepted values include ``lomap ``, ``shape_difference `` and
80+ ``pocket_shape ``.
81+ * ``rbfe.direction_policy `` – ``larger_volume `` (default) or ``preserve ``. Generated
82+ networks are oriented with the larger grid-volume ligand as reference unless a
83+ mapping file explicitly fixes the direction.
84+ * ``rbfe.minimal_mapping_atom `` – minimum mapped-atom count required for standard
85+ RBFE edges. This check is not used to reject ``rbfe_septop `` edges because SEPTOP
86+ uses full-ligand softcore setup.
7387* ``rbfe.add_atom_mapping_edges `` – default ``false ``; append valid
7488 atom-mapping override pairs when neither direction was selected by network
7589 planning.
@@ -101,18 +115,22 @@ See :doc:`rbfe` for RBFE-specific examples.
101115Anchor selection
102116----------------
103117
104- ``create.anchor_atoms `` is optional. If it is omitted, BATTER resolves the
105- anchor triplet during ``system_prep `` and records the selections in
106- ``executions/<run_id>/all-ligands/manifest.json ``:
118+ ``create.anchor_atoms `` is optional. If it is omitted, BATTER resolves the anchor
119+ triplet during ``system_prep `` and stores the resolved global selections in
120+ ``executions/<run_id>/all-ligands/manifest.json ``. Prepared-system anchor masks
121+ used by later equilibration/FE setup are also written per ligand to
122+ ``equil/anchors.json ``.
107123
108124* For runs with real ligands, the first available real ligand pose drives a
109125 ligand-guided receptor-anchor heuristic.
110126* For apo-only MD, BATTER switches to a protein-only heuristic so dummy ligand
111127 coordinates do not determine the anchor geometry.
112128
113- Use explicit ``create.anchor_atoms `` only when you need to pin a known
114- binding-site geometry or override the heuristic. The value must contain exactly
115- three MDAnalysis selection strings, ordered as P1, P2, and P3.
129+ If you know the receptor interaction that should define the Boresch reference,
130+ provide one selection. BATTER treats that atom as P1 and chooses P2/P3
131+ automatically. Prefer the binding-site Cα of a residue associated with a
132+ conserved ligand interaction, such as the residue forming a salt bridge. Provide
133+ three selections only when you need fully manual P1/P2/P3 geometry.
116134
117135Component-Specific Inputs
118136-------------------------
@@ -153,8 +171,9 @@ feed into the low-level ops documented in :doc:`../developer_guide/internal_buil
153171 - JSON specification for conformational restraints.
154172 * - ``anchor_atoms ``
155173 - ``system_prep `` / restraint ops
156- - Optional P1/P2/P3 receptor-anchor override. Empty means BATTER selects
157- anchors heuristically and stores the resolved selections in the manifest.
174+ - Optional receptor-anchor override. Empty means BATTER selects anchors
175+ heuristically; one selection pins P1 and auto-selects P2/P3; three
176+ selections provide explicit P1/P2/P3 geometry.
158177 * - ``lipid_mol ``
159178 - Build/ops helpers
160179 - Identifies membrane residues when trimming waters.
0 commit comments