Extracting docking poses after the virtual screening

Heya :smiley:

I’ve sucesfully finished a test run with my protein and managed to screen 20K ligands and my first impressions of VirtualFlow are good; relatively easy to use with prior experience in docking. Nice work!

Now the problem, during the post processing I was able to extract the poeses winning structures as a compoundID.pdbqt file. However, how/where can I find the name of this compound and where to buy it? Since all ligands are originated from the enamine REAL database, Ive tried searching the ID on their website, unfrotunalty I was not able to find the compound. I have also tried drawing the structure and searching it like that on several databases, but no luck!

Any methods on how to get the ligand name efficiently?

The command
head -n 100 ../../ranking/qvina02_rigid_receptor1/firstposes.all.minindex.sorted.clean > compounds
creates a list called compounds containing the top 100 docking poses with their respective score.

However, after running
vfvs_pp_prepare_dockingposes.sh ../../../output-files/complete/qvina02_rigid_receptor1/results/ meta_collection compounds dockingsposes overwrite

I only get one file with the docking poses of only my winning structure. How to alter the command that it produces a file with the docking poses of the top 100 ligands?

Hi kaneki :slight_smile:

Regarding your first question about finding the Enamine compounds online, it is now (together with the answer) in a separate topic: Finding extracted docking poses on the web

Regarding your second question about the extraction of the docking poses, it seems you are applying the command correctly. Is there any error message appearing when you run the command?

If not, can you post the first few lines of the file compounds?

So I think the previous errors were epxected: I wass calling the wrong folder, i was calling /qvina02_rigid_receptor1/ in VFTools, but it should be /qvina02_rigid_receptor1/ from VFVS

So now im running and it produces the following error

/home/virtualflow/VFVS-develop/VFTools/bin/vfvs_pp_prepare_dockingposes.sh /home/virtualflow/VFVS-develop/output-files/complete/qvina02_rigid_receptor1/results/ meta_collection compounds dockingsposes overwrite

*** Preparing structure PV-000276540002_2_T1 ***
cp: cannot stat ‘…/…/…/…//home/virtualflow/VFVS-develop/output-files/complete/qvina02_rigid_receptor1/results/DA/DABCBE/00000.tar.gz’: No such file or directory

  • Error, skipping this ligand

So the compounds contains the top 100 ligands with their respective docking score.
The vfvs_pp_prepare_dockingposes.sh seems to not be able to find the files with the ligands located in

However, when I cd into this directory i can clearly see each respective .tar.gz file. So could it be that …/…/…/… is telling the script to go too far back? Running with tar and sub instead of meta_collection doesnt work either.

So indeed it creates the folder called dockingsposes which contains the docking results folders by metatranches, tranches, and collections folders but only the folder names, there is nothing inside the folders because of the error.

But im confused what the purpose of compounds is here now? To find the top 100 ligands inside all ligands? Indeed, running the command with meta produces 1 structure, wheras meta_collection produces more

this might be unrelated to the above mentioned problem, if so then ignore this post, because i’ve produced the compound file containing the compound ID and docking score of the top 100 ligands

I think the problem might occurs actually before this at the command but im not sure: vfvs_pp_ranking_all.sh ../../output-files/complete/ 2 meta

qvina02_rigid_receptor1]$ /home/virtualflow/VFVS-develop/VFTools/bin/vfvs_pp_rankin g_all.sh /home/virtualflow/VFVS-develop/output-files/complete/ 2 meta

  • Starting to prepare the firstposes of docking-scenario qvina02_rigid_receptor1
    /home/virtualflow/VFVS-develop/VFTools/bin/vfvs_pp_ranking_all.sh: line 65: vfvs_pp_ranking_single.sh : command not found
    awk: fatal: cannot open file `qvina02_rigid_receptor1/firstposes.all.minindex.sorted.clean’ for reading (No su ch file or directory)

  • The first-poses of all docking runs have been prepared


The folder /home/virtualflow/VFVS-develop/output-files/complete/ stays empty other than a folder called qvina02_rigid_receptor1 which itself contains summaries, results, logfiles, and ligand-lists
it might be that this error causes me not to be able to get the docking poses of the top 100, just brainstorming

I dont understand why it cannot open that file because the sorted.clean file
is in
and when opened in texteditor i can see all ligands screened with their respective score

Hi Kaneki,

Did you put your VFTools/bin folder in your PATH as described here?


Also, all pathnames which are specified as arguments need to be relative pathnames to your current folder, rather than absolute ones (you used an absolute one it seems). You can use Bash autocompletion for directory path (using tab) to more easily navigate through the folder structure, it also helps to get the relative path right.

Does the above two points solve the problem?

I did exactly as what you mentioned but it didnt solve but the output error is quite strange:

./vfvs_pp_prepare_dockingposes.sh ../../output-files/complete/qvina02_rigid_receptor1/results/ meta_collection ../../pp/docking_poses/qvina02_rigid_receptor1/compounds ../../pp/docking_poses/qvina02_rigid_receptor1/posestest overwrite

So i run the ./vfvs_pp_prepare_dockingposes.sh in VFVS-develop/VFTools/bin/ the parent folder of virtualflow is VFVS-develop, hence everything related to bin is …/…/ which makes sense because using …/…/ results in the posestest folder being created. However, the error im given is this:

*** Preparing structure PV-000564964296_1_T3 ***
cp: cannot stat ‘…/…/…/…/…/…/output-files/complete/qvina02_rigid_receptor1/results//DA/DABCBE/00000.tar.gz’: No such file or directory

  • Error, skipping this ligand

So it seems that the sccipt is now using atleast 7x …/…/…/…/…/…/ which then ofcourse would not result in reaching the tar.gz files

Thanks for the additional information.

As a first step, could you try it as described in the tutorials?


The part

cd ..
mkdir -p docking_poses/qvina02_rigid_receptor1
cd docking_poses/qvina02_rigid_receptor1

from the tutorial is a continuation from the previous steps of the tutorial, meaning the previous directory was pp/ranking. You seem to be in a completely different directory.

In the beginning of this thread, so you seemed to have started in the correct folder.

Okay my mistake, i misinterpet how to make the directory, however now we still get the same problem as described before:
after i run the command vfvs_pp_prepare_dockingposes.sh

*** Preparing structure PV-000320859287_1_T1 ***
/home/VFVS-develop/VFTools/bin/vfvs_pp_prepare_dockingposes.sh: line 155: obabel: command not found
Error was trapped
Error in bash script vfvs_pp_prepare_dockingposes.sh
Error on line 155

The command creates a docking.out.pdbqt file with only the pose of the best ligand (and all of its poses with lower docking score). I cannot think of a reason why it is not extracting the others: it might be due to the error that occrus after getting the first pose and then is not able to continue

Hi Kaneki,

Yes, you need to have Open Babel installed, like for VFLP. This information was missing in the VFTools section of the documentation, but I have now updated it:


Thank you for finding this problem.

i have installed openbabel previously, but not correctly i guess?
But then howcome it can extract 1 pose but not the other poses of other ligands?

Hi kaneki,

I think I experienced a similar problem at some point.
For me I was specifiying the wrong format of the output folder.
If you have *.tar.gz files in output-files/complete/<docking_scenario>/results/XX I think you need to specify meta_tranch.

So instead of meta_collection in the command try to use meta_tranch if your output folder contains *.tar.gz files at the tranch level.



@kaneki: It seems so, you need to have the command “obabel” in in your PATH.

The script extracts the first ligand successfully, then tries to run obabel to convert it into a more convenient format (PDB), and fails since the command is not found. Thus the script does not proceed to the next ligand.

@Christoph @_Chris_Secker: Hey guys thanks for the replies. Indeed, it seems that obabel is given problems. Ive noticed that we are running obabel which is not compatilbe with our curret batchsystem Ive been told. So I guess I have to wait till its updated.

As for

If you have *.tar.gz files in output-files/complete/<docking_scenario>/results/XX I think you need to specify meta_tranch .
I will try this as well!

Have a nice weekend,


Hello all,

I had the same problem as kaneki,
After i run the command vfvs_pp_prepare_dockingposes.sh, i see a list of errors like this:

 * Preparing structure PV-001282503720_2 *
cp: cannot stat ‘../../../../../../output files/complete/qvina02_rigid_receptor1/results//HA/HACBCE/00000.tar.gz’: N
o such file or directory
 * Error, skipping this ligand

When i navigated to this directory, i saw a list of *.tar files like HACBCE.tar but no “HACBCE” directory. Did i missed anything in previous steps? Any ideas how i can resolve this issue?

[geyang672858_gmail_com@g1-login0 qvina02_rigid_receptor1]$ ls ../../output-files/complete/qvina02_rigid_receptor1/r


Dear Yang,

Welcome to the forum. Did you try the steps which Kaneki has reported which solved the problem for him?


Seems like i still have an issue.

This is my current directory:

[geyang672858_gmail_com@g1-login0 qvina02_rigid_receptor1]$ pwd

So i used the script from the tutorial:
vfvs_pp_prepare_dockingposes.sh …/…/…/output-files/complete/qvina02_rigid_receptor1/results/ meta_col
lection compounds dockingsposes overwrite

but still see the same error:

 *** Preparing structure Z748963234_1 ***
cp: cannot stat ‘../../../../../../../output-files/complete/qvina02_rigid_receptor1/results//HA/HACBCE/00000.tar.gz’: No such file or directory
 * Error, skipping this ligand

Why did the execution result in a directory with 6x “…/” instead of the 3x “…/” in the script?

Any further comments on this?


I just resolved the issue. Seems like all my files in the completed output are “.tar” files, and i just need to untar all of them to be able to proceed.
Maybe i did something different early on or skipped any steps?

Yang Ge