This document provides comprehensive details on all DiffDock configuration parameters and command-line options.
--model_dir: Directory containing the score model checkpoint./workdir/v1.1/score_modelDiffDock-L model (current default)
--confidence_model_dir: Directory containing the confidence model checkpoint
Default: ./workdir/v1.1/confidence_model
--ckpt: Name of the score model checkpoint file
Default: best_ema_inference_epoch_model.pt
--confidence_ckpt: Name of the confidence model checkpoint file
best_model_epoch75.pt--old_score_model: Use original DiffDock model instead of DiffDock-LDefault: false (uses DiffDock-L)
--old_filtering_model: Use legacy confidence filtering approach
true--protein_path: Path to protein PDB file--protein_path protein.pdbAlternative to --protein_sequence
--protein_sequence: Amino acid sequence for ESMFold folding
Alternative to --protein_path
--ligand_description: Ligand specification (SMILES string or file path) for single-complex inference
--ligand_description "COc(cc1)ccc1C#N"--ligand_description ligand.sdf or .mol2Note: some upstream README text still mentions --ligand, but current inference.py registers --ligand_description
--protein_ligand_csv: CSV file for batch processing
complex_name, protein_path, ligand_description, protein_sequence--protein_ligand_csv data/protein_ligand_example.csv--out_dir: Output directory for predictionsExample: --out_dir results/user_predictions/
--save_visualisation: Export predicted molecules as SDF files
--inference_steps: Number of planned inference iterations20Higher values may improve accuracy but increase runtime
--actual_steps: Actual diffusion steps executed
Default: 19
--no_final_step_noise: Omit noise at the final diffusion step
Default: true
--resample_rdkit: Resample the RDKit ligand conformer before inference
false--samples_per_complex: Number of samples to generate per complex10More samples provide better coverage but increase computation
--sigma_schedule: Noise schedule type
Default: expbeta (exponential-beta)
--inf_sched_alpha / --inf_sched_beta: Inference schedule shape parameters
Default: 1 / 1
--initial_noise_std_proportion: Initial noise standard deviation scaling
1.46--temp_sampling_tr: Translation sampling temperatureDefault: 1.17
--temp_sampling_rot: Rotation sampling temperature
Default: 2.06
--temp_sampling_tor: Torsion sampling temperature
7.04--temp_psi_tr: Translation psi temperatureDefault: 0.73
--temp_psi_rot: Rotation psi temperature
Default: 0.90
--temp_psi_tor: Torsion psi temperature
0.59--temp_sigma_data_tr: Translation data distribution scalingDefault: 0.93
--temp_sigma_data_rot: Rotation data distribution scaling
Default: 0.75
--temp_sigma_data_tor: Torsion data distribution scaling
0.69--batch_size: Processing batch size10Larger values increase throughput but require more memory
--tqdm: Enable progress bar visualization
--chain_cutoff: Maximum number of protein chains to process--chain_cutoff 10Useful for large multi-chain complexes
--esm_embeddings_path: Path to pre-computed ESM2 protein embeddings
--split: Dataset split to use (train/test/val)--no_model: Disable model inference (debugging)Default: false
--no_random: Disable randomization
falseUseful for reproducibility testing
--no_random_pocket: Disable random pocket randomization
false--ode: Use ODE solver instead of SDEfalseAlternative sampling approach
--different_schedules: Use different noise schedules per component
false--limit_failures: Maximum allowed failures before stopping5All parameters can be specified in a YAML configuration file (typically default_inference_args.yaml) or overridden via command line:
python -m inference --config default_inference_args.yaml --samples_per_complex 20
Command-line arguments take precedence over configuration file values.