The GALigandDock mover is meant to be used in combination with the generic-potential. It uses a genetic algorithm to sample/evolve a population of ligand conformers, and takes advantage of pre-computation of scoreterms on a grid to speed up docking.
The docking mover is exposed through the RosettaScripts application, and the XML format is quite flexible.
The tag <GALigandDock>
defines several options associated with the mover, mostly dealing with properties of the grid computation, but several "global" protocol options as well:
An example script:
<ScoreFunction name="dockscore" weights="beta">
<Reweight scoretype="fa_rep" weight="0.2"/>
<Reweight scoretype="coordinate_constraint" weight="0.1"/>
</ScoreFunction>
<ScoreFunction name="relaxscore" weights="beta_cart"/>
<GALigandDock name="dock" runmode="%%runmode%%" scorefxn="dockscore" scorefxn_relax="relaxscore" />
Example xml scripts using "runmode" argument are provided below.
Self docking Self docking, when no change in receptor conformation is expected. 1~5 repeats recommended, each takes 3~10 minutes:
<GALigandDock name="dock" runmode="dockrigid" scorefxn="dockscore" scorefxn_relax="relaxscore" />
Cross docking
When change in receptor conformation is expected. 5~10 repeats recommended, each takes 15~30 minutes:
<GALigandDock name="dock" runmode="dockflex" scorefxn="dockscore" scorefxn_relax="relaxscore"/>
Virtual screening-High accracy
Allow receptor flexibility and more rigorous entropy calculation. Single run recommended for efficiency. Each takes 10~15 minutes.
<GALigandDock name="dock" runmode="VSH" scorefxn="dockscore" scorefxn_relax="relaxscore" nativepdb="holo.pdb"/>
Virtual screening, fast version Without receptor flexibility and simpler entropy calculation. Single run recommended for efficiency. Don't use this mode now -- under development.
<GALigandDock name="dock" runmode="VSX" scorefxn="dockscore" scorefxn_relax="relaxscore" nativepdb="holo.pdb"/>
An example shown below:
<ScoreFunction name="dockscore" weights="beta">
<Reweight scoretype="fa_rep" weight="0.2"/>
<Reweight scoretype="coordinate_constraint" weight="0.1"/>
</ScoreFunction>
<ScoreFunction name="relaxscore" weights="beta_cart"/>
<GALigandDock name="dock" scorefxn="dockscore" scorefxn_relax="dock" grid_step="0.25" padding="5.0" hashsize="8.0" subhash="3" nativepdb="holo.pdb" final_exact_minimize="sc" random_oversample="10" rotprob="0.9" rotEcut="100" sidechains="aniso" initial_pool="holo.pdb" >
<Stage repeats="100" npool="50" pmut="0.2" smoothing="0.375" rmsdthreshold="2.0" maxiter="50" pack_cycles="100" ramp_schedule="0.1,1.0"/>
</GALigandDock>
Arguments called inside GALigandDock line:
Grid setup
General parameters
Receptor flexibility setup
Final processing
Reference-guided docking
<Stage>
tags defines the protocol. These tags, when applied in order, define the flow of the genetic algorithm.Arguments called with separate "Stage" tags.
The input file should be a pdb with the ligand placed approximately in the pocket to be searched. Only the center-of-mass and radius of this ligand is used by the protocol. More information can be found here.
Outputs use the RosettaScripts multi-output framework, and thus recognize any RosettaScripts output flag for controlling output. The entire ensemble is output by the mover (thus a single input will have many output structures).
Possible tricky issues: