Generative Glide Config File Keywords
The Generative Glide workflow is controlled by a YAML configuration file, config.yaml, organized into sections. This topic describes the keywords in each section. For how to generate a template and run the workflow, see Running Generative Glide from the Command Line. For the molecular properties you can set as targets in the agent section, see Generative Glide Target Property Keywords.
Each keyword below is labeled to indicate how often you need to set it:
| Label | Meaning |
|---|---|
| Required | You must set this keyword. The workflow does not start without it. |
| Commonly used | Optional, but most users review or change this value. |
| Advanced | Optional. The default works well for most projects. |
workflow
The workflow section names the job and specifies the compute hosts.
| Keyword | Label | Description |
|---|---|---|
jobname
|
Required | A short, descriptive name for the run. The workflow creates a directory with this name and stores all results and intermediate files in it. If the directory already exists, the workflow resumes from where it left off. |
gpu_host
|
Commonly used | The host or queue for GPU jobs. The prior model and the supervised model are trained on GPUs, so this host must have GPU resources. The default is localhost. |
cpu_host
|
Commonly used | The host or queue for CPU jobs. This host is used for agent training and, by default, for Glide docking. Agent training requires non-preemptible CPUs because the jobs are long-running. If not set, the workflow uses the host given with -HOST on the command line. |
glide_cpu_host
|
Commonly used | A separate host or queue for Glide docking jobs. Because docking subjobs are short-lived, you can run them on cheaper preemptible nodes. If not set, docking runs on cpu_host. |
random_seed
|
Advanced | The seed for random data selection steps, such as sampling a subset of training data. This controls data selection only. The generative model training is not fully deterministic, so results vary between runs even with the same seed. The default is 37. |
prior
The prior is a recurrent neural network that generates valid, drug-like SMILES strings. You can train a new prior from your own data, or reuse an existing one.
| Keyword | Label | Description |
|---|---|---|
use_existing_prior_dir
|
Commonly used | The path to a directory that already contains a trained prior model, or to a .zip or .gz archive of one. When you set this, all other prior settings are ignored. The default is null, which trains a new prior. |
training_data
|
Required (if not reusing a prior) | The path to the SMILES data used to train the prior. This can be a single .csv file with a SMILES column, or a directory of .csv files that are concatenated. You must provide either training_data or use_existing_prior_dir. |
ndata
|
Commonly used | How many compounds to use from training_data. Set to all to use the entire dataset, or to an integer to sample that many rows. A minimum of 50,000 compounds is recommended, because smaller datasets tend to produce unstable generative models. The default is all. |
epochs
|
Advanced | The number of training epochs for the prior. More epochs give more passes over the data but increase training time. The default is 10. |
batch_size
|
Advanced | The training batch size for the prior model. The default is 128. |
supervised
The supervised model is a machine-learning model that predicts Glide docking scores from SMILES. During agent training, this fast surrogate is used in place of Glide docking to score large numbers of molecules. You can train a new model or reuse an existing one.
| Keyword | Label | Description |
|---|---|---|
use_existing_ml_model
|
Commonly used | The path to an existing model directory, or to a .zip, .gz, or .qzip archive. When set, all other supervised settings are ignored. The default is null, which trains a new model. |
training_data
|
Required (if not reusing a model) | Where to get the training data for the surrogate model. Use the special value from_prior to have the workflow sample molecules from the prior and dock them with Glide automatically, or give the path to a .csv file of SMILES with optional pre-computed docking scores. The default is from_prior. |
ndata
|
Commonly used | The number of compounds used to train the surrogate model. When training_data is from_prior, this controls how many molecules are sampled and docked. Larger values generally produce better models but increase training time and Glide cost. The default is 20000. |
time
|
Commonly used | The maximum training time, in hours, for the model. Training stops and picks the best model found so far when this limit is reached. The default is 8. |
require_glide_run
|
Commonly used | Whether to run Glide docking on the training SMILES to generate docking scores. Set to true when your training data does not already contain scores, including the from_prior case. Set to false when your CSV already has a score column, and set target_col to that column. The default is true. |
target_col
|
Commonly used | The name of the column in your training CSV that contains pre-computed docking scores. Use this when you supply your own docking data and set require_glide_run to false. The default is null. |
smiles_col
|
Commonly used | The name of the SMILES column in your training CSV. Change this only if your CSV uses a non-standard column name. The default is SMILES. |
single_model
|
Advanced | Whether the surrogate is a single model or an ensemble. When false, the workflow trains an ensemble with cross-validation, which is more robust. When true, it trains a single graph convolutional network, which is faster and is recommended for intermediate rounds in active learning. The default is false. |
agent
Each agent is a copy of the prior model that is fine-tuned to generate molecules satisfying your targets. Multiple agents run in parallel, each exploring a different region of chemical space.
| Keyword | Label | Description |
|---|---|---|
n_agent
|
Required | The number of agents to train in parallel. More agents produce a more diverse set of molecules, at the cost of more compute. The template value is 10. |
target
|
Required | The properties the agents optimize for, given as a set of property names and their target values. Glide_score is always required. For the target specification formats and the full list of available properties, see Generative Glide Target Property Keywords. |
auto_target_percentage
|
Commonly used | How stringent the automatic cutoff is when a target is set to auto, such as Glide_score: min,auto. The workflow sets the cutoff at the value where only the top percentage of prior molecules would pass. A smaller percentage means a tighter target. The default is 1%. |
n_training_steps
|
Advanced | The number of reinforcement-learning steps per agent. More steps let agents explore further but take longer. The default is 1000. |
batch_size
|
Advanced | The number of molecules each agent generates and scores per training step. The default is 128. |
retrain
|
Advanced | When true, the workflow re-launches any agents that failed or stopped early in a previous run, without re-running agents that already finished. The default is false. |
use_gpu_host
|
Advanced | Whether to train agents on the GPU host. By default agents train on CPU, which is sufficient because each agent is a lightweight network. The default is false. |
other_ml_model
|
Advanced | Additional machine-learning models to use as scoring functions, given as a set of names and model directory paths. To use one as a target, add its name to the target section. See Generative Glide Target Property Keywords. The default is null. |
exclude_substructures
|
Advanced | Substructures to penalize during agent training, given as a set of SMARTS patterns and the maximum number of times each may appear before a molecule is penalized. The default is null. |
experience_replay
|
Advanced | The strategy for the experience replay buffer, which re-uses high-scoring molecules from past steps to stabilize training. Choose greedy to keep the top-scoring molecules, uniform to sample uniformly, or static to use a fixed buffer. The default is greedy. |
diversity_filter
The diversity filter, in the diversity_filter block of the agent section, encourages agents to explore a variety of scaffolds rather than repeatedly generating similar molecules. It groups molecules into buckets and penalizes an agent once a bucket fills up. You can usually leave these keywords at their defaults.
| Keyword | Label | Description |
|---|---|---|
filter_mode
|
Advanced | The bucketing strategy. Choose scaffold to group molecules by their scaffold, or fingerprint to group by full-molecule fingerprint. The default is scaffold. |
bucket_size
|
Advanced | The initial maximum number of molecules allowed per bucket. Once a bucket reaches this size, new molecules in it are penalized. The bucket size can grow over time to avoid being overly restrictive in long runs. The default is 50. |
mode_params
|
Advanced | Parameters specific to the chosen filter_mode, given as a nested set of values. An empty set uses the strategy defaults. For scaffold mode, you can set scaffold_type to Generic (scaffold with side chains removed and heteroatoms replaced by carbon) or Murcko (standard Murcko scaffold), and max_sim, the maximum similarity for two scaffolds to be treated as the same bucket (default 0.7). For fingerprint mode, set max_sim (default 0.35). |
sampling
After agent training, the sampling section controls how molecules are selected from the pool of generated molecules and what analyses are performed.
| Keyword | Label | Description |
|---|---|---|
num_samples
|
Required | How many molecules to select from the generated pool for validation docking. Set to a number, or to all to collect every generated molecule. A good starting point is 1000 times the number of Glide docking CPUs. The default is 20000. |
in_library_filter
|
Commonly used | When true, the workflow filters out generated molecules that are already present in a known library, using a Bloom filter, so that the results are genuinely novel. This requires library_bin to be set in the schrodinger section. The default is false. |
sample_mode
|
Advanced | How molecules are selected when num_samples is less than the number generated. Choose weighted to balance docking score and diversity, score to pick the top-scoring molecules, or random to select at random. The default is weighted. |
weight_score
|
Advanced | Used only when sample_mode is weighted. It balances predicted score against diversity, where 1.0 selects purely by score and 0.0 selects purely for diversity. The default is 0.8. |
drop_tail
|
Advanced | After validation docking, whether to discard molecules whose real Glide score is worse than the target cutoff. When false, all docked molecules are kept. The default is false. |
substructure_enrichment_analysis
|
Advanced | When true, the workflow identifies which molecular fragments are overrepresented in the generated molecules compared to the prior, and reports the results. The default is true. |
sample_from_ensemble_bucket
|
Advanced | When true, molecules are drawn from a merged bucket across all agents rather than from each agent independently, which can improve diversity when agents converge on similar solutions. The default is false. |
top_sample
|
Advanced | Triggers an additional analysis on a top-scoring subset of the generated molecules, given as a score type and cutoff such as [glide, -9]. The default is null. |
out_of_library_sample
|
Advanced | When in_library_filter is true, collects a separate set of molecules that are not in the library, so you can analyze out-of-library compounds alongside in-library ones. It accepts the sub-keys num_samples, sample_mode, and sample_from_ensemble_bucket. The default is null. |
glide
The glide section configures Glide docking, which is used both to score training compounds for the supervised model and to validate the final generated molecules.
| Keyword | Label | Description |
|---|---|---|
glide_grid_file
|
Required | The path to the Glide receptor grid file (.zip or .grd) that defines the binding site. |
use_glide
|
Commonly used | When true, the selected generated molecules are docked with Glide as a validation step, and the real Glide scores appear in the output alongside the predicted scores. Set to false to skip docking and report only predicted scores. The default is true. |
ncpu
|
Commonly used | The number of CPUs to allocate for Glide docking. More CPUs run the docking in parallel and finish faster. The default is 100. |
glide_mq
|
Advanced | When true, uses ZeroMQ-based job distribution for Glide, which can improve throughput on some cluster configurations. The default is false. |
num_glide_subjobs
|
Advanced | The number of subjobs to split the docking workload into. If not set, it defaults to the value of ncpu. |
ligprep_args
|
Advanced | Custom LigPrep arguments for 3D structure generation before docking, given as a single string. The default is null, which uses the default LigPrep settings. |
extra_docking_config
|
Advanced | Additional Glide docking keywords, given either as a set of keyword values or as the path to a Glide input file. They are appended to the Glide input, and are most often used to apply docking constraints, such as hydrogen-bond constraints, that were defined during grid generation. The default is null. |
schrodinger
The schrodinger section configures the Bloom-filter lookup that checks whether generated molecules already exist in a known library. Its keywords are in the in_library_query block. This section is required when in_library_filter is enabled.
| Keyword | Label | Description |
|---|---|---|
library_bin
|
Required (when in-library filtering is enabled) | The path to the Bloom filter file that represents your library. Use a .bin file for a single filter, or a directory for a partitioned filter. To build a Bloom filter from your own compound set, see Running Generative Glide from the Command Line. The default is null. |
identifier
|
Advanced | The identifier used in the Bloom filter, either canonical_smiles or inchi_key. This must match how the Bloom filter was built. The default is canonical_smiles. |
bin_file_handling
|
Advanced | How the Bloom filter file is made available to the compute node. Choose copy to copy the file to the node, or mounted when the file is already accessible through a shared filesystem, in which case its absolute path is used as-is. Use mounted for very large files on shared storage to avoid the copy. The default is copy. |
active_learning
Active learning runs the workflow multiple times in a loop. After each round, the real Glide scores of the generated molecules retrain the supervised model, producing a more accurate surrogate and better-targeted agents in the next round. This section is optional; if you omit it or set enabled to false, the workflow runs a single round.
| Keyword | Label | Description |
|---|---|---|
enabled
|
Commonly used | The master switch. Set to true to run the active learning loop. When false, all other keywords in this section are ignored. The default is false. |
num_iter
|
Required (when enabled) | The total number of iterations, which must be greater than 1. Each iteration retrains the supervised model on the previous round's Glide results, then retrains agents and generates new molecules. The default is 3. |
glide_score_percentile
|
Advanced | The percentile used to adjust the Glide score target between iterations, based on the previous round's real docking scores. A value of 50 sets the new target at the median score of the previous round; lower values set a more aggressive target. The default is 50. |
copy_from_non_al_workflow
|
Advanced | The path to an existing single-round workflow directory. When set, the first iteration copies the results from that directory instead of running from scratch, so you can extend a completed single-round run into a multi-round one. The default is null. |
final_diversity_pruning
|
Advanced | When true, a diversity filter is applied to the merged set of molecules from all iterations at the end, removing redundant compounds across rounds. The default is false. |
intermediate_round_overrides
|
Advanced | Settings that override the main configuration for all intermediate rounds, that is, iterations 1 through N-1. The final iteration always uses the main configuration. This lets you run faster, lower-fidelity intermediate rounds. The allowed override keys are agent.n_training_steps, supervised.single_model, sampling.num_samples, and sampling.out_of_library_sample. The default is no overrides. |