A colleague of mine was so impressed with the ease of scripting serial docking in the (UNIX) Bash shell that he wrote some DOS batch files that can accomplish the same. I will ask him if he would share them here.
Edit: He provided me with his script file, which was rather extensive. However, he only agreed to sharing the part which does a batch docking. To rank ligands there is a python script named 'sortscript.py' (I think) that someone, probably Dr. Trott, provided.
You can paste the following lines into a text file and save it with the extension .bat to make the serial docking script:
Code:
::cmd
@echo off
TITLE VINA BAT
:start
color b1
echo * * * *
echo * * * * * * *
echo * * * * * *
echo * ** ** *
echo * HELLO. I AM VINA BAT. *
echo * *
echo * * * * * * * * * *
echo * * * * *
pause
echo VINA BAT expects:
echo The configuration file is named "vina.txt".
echo Ligands are located in a directory named "ligands."
echo vina.exe is copied to the current directory or in the user's PATH.
pause
echo Output (results) and logs will be put in directories named "out" and "log".
echo These directories will be created if they do not already exist.
echo Vina will run as a low priority process.
pause
mkdir out
mkdir log
start /low /b for %%T in (ligands/*.pdbqt) do (vina --ligand ligands/%%T --config vina.txt --log log/%%~nT.txt --out out/%%T)
The script starts vina in a low-priority mode in case you are running it on your workstation and want the system to remain responsive for your other work.
I've tried to make sure the usage instructions (in the script) are clear but I am assuming a basic level of familiarity with command-line operations. Please try it and let me know if you need help.