Skip to content
This repository was archived by the owner on Mar 10, 2026. It is now read-only.

Commit 17b1a80

Browse files
committed
docs(cli): Update configuration file template for clarity and completeness
1 parent 7d1a1d0 commit 17b1a80

1 file changed

Lines changed: 69 additions & 71 deletions

File tree

docs/cli/USAGE.md

Lines changed: 69 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -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
247242
num-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.
296288
type = "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

Comments
 (0)