NameError: global name 'tmpdir' is not defined


I’m trying my first local docking run. I got the following error:

reading parameters from the file ./run.param
setting some variables:
N_COMP set to: 2
RUN_NUMBER set to: 1
HADDOCK_DIR set to: …/…/SOFTWARE/haddock2.4
PDB_FILE1 set to: ./EIC_mol3-noligand.pdb
AMBIG_TBL set to: ./eicmol3-ambig.tbl
PROJECT_DIR set to: .
PDB_FILE2 set to: ./mol3.pdb
runDir= ./run1
project . exists, run 1 does not exist
create the new run 1
./EIC_mol3-noligand.pdb copied to ./run1/data/sequence after removing the chain and segIDs
./mol3.pdb copied to ./run1/data/sequence after removing the chain and segIDs
editing run.cns: setting the default values
Traceback (most recent call last):
File “/work/LAS/potoyan-lab/Dan/SOFTWARE/haddock2.4/Haddock/”, line 156, in
File “/work/LAS/potoyan-lab/Dan/SOFTWARE/haddock2.4/Haddock/Main/”, line 385, in SetupNewProject
if not segiddict[ccjj]: segiddict[ccjj] = tmpdir[ccjj]
NameError: global name ‘tmpdir’ is not defined

Thank you,


Which version of HADDOCK are you running?

This should be corrected in the July release.

Also your version might still work if you define the segid for each molecule in run.param, e.g.:


I’m using 2.4. Do I need to add a chain ID “A” column to the pdb file for the PROT_SEGID_1=A to work?


2.4 but which release?

No need in principle to modify your PDBs, but do define the PROT_SEGID… in run.param for each molecule.

And/or get the latest July release.

I’ve got an April, 2018 release. Adding the seg_id fixed it!

Thank you!


Good - but you might want the latest release - e.g. support for glycosylated proteins and various fixes.
Drop me an email.