Hello everyone,
I’m facing a significant issue with the HADDOCK3 rigid-body docking step. The process fails completely, and I receive the following error:
RuntimeError: 100.00% of output was not generated for this module and tolerance was set to 5.00%.
I am attempting to perform a flexible peptide docking of the 4dx5 protein with the CaNCR36 peptide.
System & Setup Details
HADDOCK3 Version: v2025.9.0
Operating System: Linux, Ubuntu 24.04
CPU Cores: 12 available, 6-10 used
RAM: 8 GB
Python Version: 3.9.23
CNS: Confirmed as installed for non-commercial use
Command Run: haddock3 config.toml
Troubleshooting Steps I’ve Taken
I have already tried a number of common solutions, but none have resolved the issue:
Reduced the number of cores used from 10 to 6.
Checked my input PDB files (protein.pdb, peptide.pdb) in PyMOL for obvious steric clashes or broken chains.
Temporarily increased the tolerance value in the config.toml file.
Reduced the sampling size for the docking run.
Verified that my CNS installation and licensing are correct and functional.
Can you run any of the examples provided?
If this works fine, to further investigate you should set debug=true in the config file and check the out/err files in the rigidbody directory.
Also did you try a simple: pip install haddock3 ?
Hi,
Yes, I have installed HADDOCK3 using pip install haddock3
.
I also tried running one of the example workflows provided with HADDOCK3, and the example runs fine without errors.
However, in my protein-peptide docking case:
-
topoaa
runs successfully for both molecules.
-
rigidbody
module executes CNS jobs, but 100% output is missing, even with debug=true
.
I have checked the out/err
files in the rigidbody
directory, and the error persists.
Could you please advise why the rigid-body stage fails for my inputs while the examples run fine?
Can you share the err/out files from the rigidbody directory? The answer must be in those files (at the end of the file most likely)
%NEXTCD-ERR: Symbol not found:
if ($mol_fix_origin_$maxid
^^^^^^^^^^^^^^^^^^^^^^
%NEXTCD-ERR: Symbol not found:
if ($mol_fix_origin_$maxid
^^^^^^^^^^^^^^^^^^^^^^
%NEXTCD-ERR: Symbol not found:
if ($mol_fix_origin_$maxid
^^^^^^^^^^^^^^^^^^^^^^
%NEXTCD-ERR: Symbol not found:
if ($mol_fix_origin_$maxid
^^^^^^^^^^^^^^^^^^^^^^
%NEXTCD-ERR: Symbol not found:
if ($mol_fix_origin_$maxid
^^^^^^^^^^^^^^^^^^^^^^
%NEXTCD-ERR: Symbol not found:
if ($mol_fix_origin_$maxid
^^^^^^^^^^^^^^^^^^^^^^
%NEXTCD-ERR: Symbol not found:
if ($mol_fix_origin_$maxid
^^^^^^^^^^^^^^^^^^^^^^
%NEXTCD-ERR: Symbol not found:
if ($mol_fix_origin_$maxid
^^^^^^^^^^^^^^^^^^^^^^
%NEXTCD-ERR: Symbol not found:
if ($mol_fix_origin_$maxid
^^^^^^^^^^^^^^^^^^^^^^
%PARSER error encountered: Encountered too many parsing errors.
(CNS is in mode: SET ABORT=NORMal END)
ABORT mode will terminate program execution.
Program will stop immediately.
Maximum dynamic memory allocation: 2892037280 bytes
Maximum dynamic memory overhead: 1392 bytes
Program started at: 18:58:03 on 17-Sep-2025
Program stopped at: 18:58:05 on 17-Sep-2025
CPU time used: 2.0086 seconds
this is my config file , ====================================================================
HADDOCK3 Config – Protein-Peptide Docking
====================================================================
Global run parameters
run_dir = “run_targeted”
mode = “local”
ncores = 8
debug = true
Input molecules
molecules = [
“4dx5.pdb”,
“CaNCR36.pdb”
]
--------------------------------------------------------------------
Topology
--------------------------------------------------------------------
[topoaa]
autohis = true
delenph = true
--------------------------------------------------------------------
Rigid-body docking
--------------------------------------------------------------------
[rigidbody]
mol_fix_origin_1 = true
mol_fix_origin_2 = false
sampling = 10
tolerance = 20
ambig_fname = “ambig.tbl”
w_vdw = 0.01
w_elec = 1.0
w_desolv = 1.0
w_air = 0.1
debug = true
--------------------------------------------------------------------
Select top rigid-body solutions
--------------------------------------------------------------------
[seletop]
select = 2
--------------------------------------------------------------------
Flexible refinement
--------------------------------------------------------------------
[flexref]
sampling_factor = 2
tolerance = 5
mdsteps_rigid = 200
mdsteps_cool1 = 1000
mdsteps_cool2 = 1000
mdsteps_cool3 = 2000
--------------------------------------------------------------------
Energy minimization
--------------------------------------------------------------------
[emref]
sampling_factor = 2
tolerance = 5
nemsteps = 1000
--------------------------------------------------------------------
FCC Clustering
--------------------------------------------------------------------
[clustfcc]
clust_cutoff = 0.6
min_population = 4
--------------------------------------------------------------------
CAPRI evaluation
--------------------------------------------------------------------
[caprieval]
allatoms = true
Ok - you seem to have hit a bug actually (an unlikely one, but still a bug)
For now if you were to set mol_fix_origin_1 = false
it should run.
Thanks for the suggestion. I tried setting mol_fix_origin_1 = false
as you recommended, but unfortunately, the CNS script still fails with multiple %NEXTCD-ERR: Symbol not found
errors, as I shared earlier. It seems like the underlying issue might be a bug in the CNS/HADDOCK template itself, possibly related to how $mol_fix_origin_$ncount
is being expanded.
Could you advise on any alternative workaround, or should we try updating the CNS templates / HADDOCK version?
I can’t reproduce the error by setting mol_fix_origin_1 = true
in one of the examples.
Can you share (e.g. via email) all your input data and the workflow script so that we can try to reproduce the error?
Can I get email id, so I will send you input data files
One possible cause of your problem is that each molecule provided to HADDOCK (in docking mode) should have a unique chainID. It could be that your protein contains multiple chains, which causes this strange problem. So check your input PDBs and make sure they contain a unique chain.
For scoring scenarios this is not the case.
can you find out, what is the error ? i had share my input files my protein and receptor, restraint file and config file
(Attachment CaNCR36_4dx5.cfg is missing)
(attachments)
4dx5.pdb (4.01 MB)
CaNCR36.pdb (24 KB)
ambig.tbl (55.7 KB)
Simply check if each pdb you are providing has a unique chainID
yes 4dx5 have chain ID A,B,C,D and E and peptide have chain ID P
Then you will have to process your PDB to have a unique chain and non-overlapping numbering
Check our online tutorial
Which haddock should I have to use ? Haddock2.4 or 3
Doesn’t matter both will have the same requirements