@@ -185,136 +185,134 @@ Here is an example configuration file with all common options and detailed comme
185185
186186``` toml
187187# =============================================================================
188- # SCREAM++ Example Configuration File
188+ # SCREAM++ Complete Configuration File Template
189189# =============================================================================
190+ #
191+ # This file contains ALL available settings for a `scream place` run.
192+ # - To use a setting, uncomment it and modify its value.
193+ # - Settings that are commented out will use the application's default value,
194+ # which is shown in the comment for reference.
195+ # - For detailed explanations, please refer to the full user manual.
190196
191197# -----------------------------------------------------------------------------
192- # [forcefield] - Energy Function & Parameters
198+ # [forcefield] - Energy function and forcefield parameters
193199# -----------------------------------------------------------------------------
194200[forcefield ]
195201
196- # -- Core Parameters --
202+ # s-factor for the flat-bottom potential. This is a critical parameter for accuracy.
203+ # Its optimal value is dependent on the diversity of the chosen rotamer library.
204+ # Default: 1.1 (optimized for rmsd-1.0 libraries)
205+ s-factor = 1.1
197206
198207# Path or logical name for the main forcefield parameter file.
199208# Logical names: 'exp-6@0.4', 'lj-12-6@0.4', etc.
200209# Default: "exp-6@0.4"
201- forcefield-path = " exp-6@0.4"
210+ # forcefield-path = "exp-6@0.4"
202211
203- # Path or logical name for the flat-bottom delta parameters .
204- # The diversity (e.g., "rmsd-1.0") should match your rotamer library.
212+ # Path or logical name for the flat-bottom delta parameter file .
213+ # The diversity (e.g., "rmsd-1.0") should match the rotamer library.
205214# Default: "rmsd-1.0"
206- delta-params-path = " rmsd-1.0"
207-
208- # The 's-factor' for the flat-bottom potential. This is a critical parameter
209- # that tunes the tolerance for atomic clashes.
210- # Default: 1.1
211- s-factor = 1.1
215+ # delta-params-path = "rmsd-1.0"
212216
213- # -- [Optional] Advanced Energy Weighting --
214- #
215- # This section allows you to scale energy terms for interactions between
217+ # [Optional] Rules for applying custom weights to energy components between
216218# different types of atoms (Atom Roles: Backbone, Sidechain, Ligand, Water, Other).
217- # By default, all weights are 1.0.
218- #
219+ # By default, all interactions have a weight of 1.0.
219220# [[forcefield.energy-weights.rules]]
220221# groups = ["Backbone", "Sidechain"]
221- # weights = { vdw = 0.8, coulomb = 0.8, hbond = 1.0 }
222- #
223- # [[forcefield.energy-weights.rules]]
224- # groups = ["Sidechain", "Ligand"]
225- # weights = { vdw = 0.5, coulomb = 1.0, hbond = 1.2 }
226-
222+ # weights = { vdw = 1.0, coulomb = 1.0, hbond = 1.0 }
227223
228224# -----------------------------------------------------------------------------
229- # [sampling] - Conformational Sampling
225+ # [sampling] - Side-chain conformation sampling
230226# -----------------------------------------------------------------------------
231227[sampling ]
232228
233229# Path or logical name for the rotamer library.
234- # The diversity (e.g., "rmsd-1.0") should match your delta-params-path.
230+ # The diversity (e.g., "rmsd-1.0") should match ` delta-params-path` .
235231# Logical names: 'charmm@rmsd-1.0', 'amber@rmsd-1.0', etc.
236232# Default: "charmm@rmsd-1.0"
237- rotamer-library = " charmm@rmsd-1.0"
238-
233+ # rotamer-library = "charmm@rmsd-1.0"
239234
240235# -----------------------------------------------------------------------------
241- # [optimization] - Algorithm Control
236+ # [optimization] - Algorithm control
242237# -----------------------------------------------------------------------------
243238[optimization ]
244239
245- # Number of lowest-energy, unique solutions to generate and save.
240+ # The number of lowest-energy, unique solutions to generate and save.
246241# Default: 1
247242num-solutions = 1
248243
249- # Maximum number of iterations for the primary clash- resolution loop .
244+ # Maximum number of iterations for the main clash resolution algorithm .
250245# Default: 100
251- max-iterations = 100
246+ # max-iterations = 100
252247
253- # If true, the original side-chain conformation from the input structure
254- # will be included as a candidate during the optimization.
248+ # Whether to include the input structure's original side-chain conformation as
249+ # a candidate solution during the optimization.
255250# Default: true
256- include-input-conformation = true
251+ # include-input-conformation = true
257252
258- # Number of refinement iterations (singlet optimization) to perform after the
259- # main clash-resolution loop has converged . Set to 0 to disable.
253+ # Number of refinement iterations (singlet optimization) to run after the
254+ # main loop converges . Set to 0 to disable.
260255# Default: 2
261- final-refinement-iterations = 2
256+ # final-refinement-iterations = 2
262257
263- # -- [Optional] Simulated Annealing --
264- #
265- # To enable simulated annealing for better global energy landscape exploration,
266- # uncomment this entire section. This may improve results but will increase runtime.
267- #
268- # [optimization.simulated-annealing]
269- # initial-temperature = 5.0 # Starting temperature (in energy units).
270- # final-temperature = 0.1 # Temperature at which to stop the annealing.
271- # cooling-rate = 0.9 # Multiplicative factor to decrease temperature (e.g., T_new = T_old * 0.9).
272- # steps-per-temperature = 100 # Number of Monte Carlo moves to attempt at each temperature step.
258+ # [optimization.convergence]
259+ # --- Convergence Criteria ---
260+ # The algorithm is considered converged if the best energy improves by less than
261+ # this threshold over a 'patience' number of iterations.
262+ # Default: 0.01 (kcal/mol)
263+ # energy-threshold = 0.01
273264
274- # -- Convergence Criteria --
275- #
276- # Defines the conditions for stopping the clash-resolution loop.
277- #
278- [optimization .convergence ]
279- # The loop will stop if the best energy found does not improve by at least
280- # this amount (in kcal/mol) over a 'patience' number of iterations.
281- # Default: 0.01
282- energy-threshold = 0.01
283-
284- # The number of consecutive iterations without sufficient energy improvement
285- # before the algorithm is considered to have converged.
265+ # The number of consecutive iterations with insufficient energy improvement
266+ # before the optimization loop terminates.
286267# Default: 5
287- patience-iterations = 5
268+ # patience-iterations = 5
288269
270+ # [optimization.simulated-annealing]
271+ # --- [Optional] Simulated Annealing ---
272+ # To enable, uncomment this entire section. This can help the algorithm escape
273+ # local energy minima but will increase runtime.
274+ # initial-temperature = 5.0
275+ # final-temperature = 0.1
276+ # cooling-rate = 0.9
277+ # steps-per-temperature = 100
289278
290279# -----------------------------------------------------------------------------
291- # [residues-to-optimize] - Defines the Scope of Optimization
280+ # [residues-to-optimize] - Defines which residues to modify
292281# -----------------------------------------------------------------------------
293282[residues-to-optimize ]
294283
295- # TYPE 1: Optimize all residues in the protein.
284+ # Choose ONE of the following types: "all", "list", or "ligand-binding-site".
285+
286+ # TYPE 1: Optimize all residues.
287+ # This is the default if the section is omitted.
296288type = " all"
297289
298290# TYPE 2: Optimize a specific list of residues.
291+ # `include` specifies which residues to target. If `include` is empty, it defaults to all residues.
292+ # `exclude` specifies which residues to ignore, even if they are in the `include` selection.
299293# type = "list"
300- # # 'include' defines a whitelist. If 'include' is empty, all residues are selected.
301294# include = [
302295# { chain-id = 'A', residue-number = 25 },
303296# { chain-id = 'A', residue-number = 101 },
304297# ]
305- # # 'exclude' defines a blacklist that overrides the selection.
306- # exclude = [
307- # { chain-id = 'A', residue-number = 50 },
308- # ]
298+ # exclude = []
309299
310- # TYPE 3: Optimize residues within a radius of a ligand.
300+ # TYPE 3: Optimize residues within a certain radius of a ligand.
301+ # The radius is measured from any heavy atom of the ligand to any heavy atom of a protein residue.
311302# type = "ligand-binding-site"
312- # # Specify the ligand's location.
303+ # radius-angstroms = 5.0
313304# [residues-to-optimize.ligand-residue]
314305# chain-id = 'X'
315306# residue-number = 999
316- # # Define the radius in Angstroms from any heavy atom of the ligand.
317- # radius-angstroms = 5.0
307+
308+ # -----------------------------------------------------------------------------
309+ # Global Settings
310+ # -----------------------------------------------------------------------------
311+
312+ # Path or logical name for the residue topology registry.
313+ # In most cases, the default is sufficient.
314+ # Default: "default"
315+ # topology-registry-path = "default"
318316```
319317
320318### Detailed Configuration Options
0 commit comments