Prepare and run a hex docking for one or several models of a receptor
and ligand pair. Collect docking results into a growing ComplexList.
The docking runs are started in seperate Threads. External objects can
register a method with call_when_done() that is called whenever a docking
has finished. The waitForLastHex() method can be called to wait until all
currently running dockings are finished.
The models in the 2 given dictionaries might get different chainIds
but Docker doesn't save them.
|
__init__(self,
recDic,
ligDic,
recPdb=None,
ligPdb=None,
comPdb=None,
out='hex_%s',
soln=512,
recChainId=None,
ligChainId=None,
macDock=None,
bin=settings.hex_bin,
verbose=1)
|
str
|
prepareOutFolder(self,
fout)
Setup an output folder
|
PDBModel
|
__setChainID(self,
m,
ids)
set chaiID for Hex pdb files
|
dict
|
prepareHexPdbs(self,
modelDic,
idList,
subDir)
create HEX-formatted PDB for each model
|
(str, str)
|
createHexInp(self,
nRec,
nLig)
Create a HEX macro file for docking a rec lig pair.
|
|
runHex(self,
finp,
log=0,
ncpu=2,
nice=0,
host=os.uname() [1])
|
|
countDifferentModels(self,
lst)
|
|
doneHex(self,
runner)
Do something after hex has finished.
|
|
failedHex(self,
runner)
notify of failed hex run.
|
|
waitForLastHex(self)
Return after the last hex thread has finished.
|
|
set_call_when_done(RunThread)
|
|
set_call_when_failed(RunThread)
|