-
Notifications
You must be signed in to change notification settings - Fork 26
Description
Description
When docking a ligand with HOH (water molecules) using either the standard scoring function or the solvation scoring function, I obtain an SDF file containing the docked ligand, the HOH molecules, and a score (in my case the score was -20.9355).
If I remove the HOH molecules from the SDF pose try to rescore the SDF pose with the same scoring function providing the HOH molecules docked in PDB format in input to the rbdock function, I expect to get exactly the same score. However, I end up with a rescoring pose in the output SDF containing the ligand + HOH and a score of -25.0127.
If I repeat the same experiment of rescoring the SDF pose but without the HOH molecules docked PDB file in input, the score is -19.8285.
The point I want to highlight here is that for both scoring function, if you score a ligand with docked water molecules, the score obtained is different from the docking score.
I investigated this further and found that the difference lies in SCORE.INTRA, which "represents the relative energy of the ligand conformation" according to the documentation. The pose at the end of docking is penalized by SCORE.INTRA, but the rescoring pose is not. SCORE.INTER, which "is the main term of interest as it represents the protein-ligand (or RNA-ligand) interaction score," remains the same in both the docking and rescoring outputs.
I tried to verify if this point holds outside of docking with HOH, and it does not; the scores are the same.
Steps to Reproduce
- Dock a ligand + One or several HOH molecules.
- Delete the HOH molecules docked in the SDF output pose and write these HOH molecules docked into a PDB file in rbdock expected format (Illustration below).
- Rescore the SDF pose with the same scoring function, providing the HOH molecules in PDB format.
- Note the score difference between the docking and rescoring outputs.
- Repeat the rescoring without providing the HOH PDB input.
- Compare the scores in all scenarios.
Expected Behavior
The score obtained from rescoring a pose with the same scoring function and identical conditions should match the original docking score.
Actual Behavior
The score obtained from rescoring a pose with HOH molecules docked provided separately does not match the original docking score. The difference is due to the SCORE.INTRA term, which penalizes the docking pose but not the rescoring pose.
Additional Context
This discrepancy is only observed when docking ligand and HOH molecules. When docking only ligand, the scores are consistent between docking and rescoring.
Example of SDF output pose of rbdock command docking water molecules.
output_SDF_pose_with_water_mols_docked
RxDock 02152414383D
librxdock.so/0.1.0
64 65 0 0 0 0 0 0 0 0999 V2000
7.3147 -3.9586 14.9619 C 0 0 0 0 0 0
7.0153 -4.6379 13.9855 O 0 0 0 0 0 0
7.5035 -1.8392 13.6714 N 0 0 0 0 0 0
7.5898 -2.4550 14.8795 C 0 0 0 0 0 0
7.9998 -1.7564 16.0295 C 0 0 0 0 0 0
8.3992 -0.4181 15.9258 C 0 0 0 0 0 0
8.7512 1.5314 14.5142 C 0 0 0 0 0 0
8.6723 2.1464 13.2582 C 0 0 0 0 0 0
8.1837 1.4293 12.1547 C 0 0 0 0 0 0
7.7981 0.0859 12.3105 C 0 0 0 0 0 0
8.3377 0.1960 14.6699 C 0 0 0 0 0 0
7.8663 -0.5473 13.5586 C 0 0 0 0 0 0
7.3843 -4.4984 16.2326 N 0 0 0 0 0 0
7.1340 -5.9227 16.5695 C 0 0 0 0 0 0
5.6292 -6.1660 16.8619 C 0 0 0 0 0 0
4.8498 -6.6652 16.0623 O 0 0 0 0 0 0
8.0891 -6.3849 17.6950 C 0 0 0 0 0 0
9.5132 -6.5747 17.1814 C 0 0 0 0 0 0
9.8349 -6.4134 16.0198 O 0 0 0 0 0 0
10.4274 -6.9372 18.1188 N 0 0 0 0 0 0
3.4251 -7.3168 18.8887 C 0 0 0 0 0 0
4.5081 -8.1022 19.4238 O 0 0 0 0 0 0
3.8753 -5.8313 18.6663 C 0 0 0 0 0 0
5.2505 -5.7784 18.1303 N 0 0 0 0 0 0
2.9147 -4.9970 17.7602 C 0 0 0 0 0 0
3.5379 -3.6916 17.2650 C 0 0 0 0 0 0
3.8400 -2.6574 18.1688 C 0 0 0 0 0 0
3.8329 -3.5279 15.8969 C 0 0 0 0 0 0
4.4358 -1.4717 17.7081 C 0 0 0 0 0 0
4.4277 -2.3412 15.4392 C 0 0 0 0 0 0
4.7283 -1.3126 16.3441 C 0 0 0 0 0 0
3.4388 -9.3316 17.3084 N 0 0 0 0 0 0
2.8678 -7.9712 17.5872 C 0 0 0 0 0 0
2.4599 -10.4287 17.6210 C 0 0 0 0 0 0
1.9771 -10.4606 19.1000 C 0 0 0 0 0 0
2.6748 -10.1034 20.0406 O 0 0 0 0 0 0
3.0335 -11.8253 17.3091 C 0 0 0 0 0 0
3.5950 -11.9408 15.8739 C 0 0 0 0 0 0
4.2110 -13.3500 15.6351 C 0 0 0 0 0 0
5.5444 -13.5556 16.3950 C 0 0 0 0 0 0
6.5504 -12.4351 16.0643 C 0 0 0 0 0 0
5.9505 -11.0388 16.3767 C 0 0 0 0 0 0
4.6205 -10.8017 15.6101 C 0 0 0 0 0 0
4.0079 -9.4116 15.9302 C 0 0 0 0 0 0
0.6858 -10.9374 19.2407 N 0 0 0 0 0 0
-0.0741 -11.0564 20.4835 C 0 0 0 0 0 0
-1.5569 -11.3106 20.1286 C 0 0 0 0 0 0
0.0113 -9.7458 21.2972 C 0 0 0 0 0 0
0.4440 -12.2516 21.3160 C 0 0 0 0 0 0
7.6525 -3.8382 16.9612 H 0 0 0 0 0 0
11.3867 -7.0832 17.8153 H 0 0 0 0 0 0
10.1377 -7.0323 19.0789 H 0 0 0 0 0 0
5.2526 -8.0977 18.7435 H 0 0 0 0 0 0
5.9776 -5.4001 18.7230 H 0 0 0 0 0 0
0.2428 -11.2540 18.3950 H 0 0 0 0 0 0
7.6952 -5.0507 18.9230 O 0 0 0 0 0 0
8.6501 -5.1157 18.6760 H 0 0 0 0 0 0
7.4086 -4.4130 18.2240 H 0 0 0 0 0 0
0.0152 2.9512 9.1703 O 0 0 0 0 0 0 # <- Water Molecule atom to extract
-0.3748 3.7731 8.8653 H 0 0 0 0 0 0 # <- Water Molecule atom to extract
0.9689 3.1040 9.0152 H 0 0 0 0 0 0 # <- Water Molecule atom to extract
2.8089 3.3942 9.1141 O 0 0 0 0 0 0 # <- Water Molecule atom to extract
3.3626 2.6183 8.8766 H 0 0 0 0 0 0 # <- Water Molecule atom to extract
2.9723 3.4477 10.0743 H 0 0 0 0 0 0 # <- Water Molecule atom to extract
1 2 2 0 0 0
1 4 1 0 0 0
1 13 1 0 0 0
3 4 2 0 0 0
3 12 1 0 0 0
4 5 1 0 0 0
5 6 2 0 0 0
6 11 1 0 0 0
7 11 2 0 0 0
7 8 1 0 0 0
8 9 2 0 0 0
9 10 1 0 0 0
10 12 2 0 0 0
11 12 1 0 0 0
13 14 1 0 0 0
14 15 1 0 0 0
14 17 1 0 0 0
15 16 2 0 0 0
15 24 1 0 0 0
17 18 1 0 0 0
18 19 2 0 0 0
18 20 1 0 0 0
21 22 1 0 0 0
21 23 1 0 0 0
21 33 1 0 0 0
23 24 1 0 0 0
23 25 1 0 0 0
25 26 1 0 0 0
26 27 2 0 0 0
26 28 1 0 0 0
27 29 1 0 0 0
28 30 2 0 0 0
29 31 2 0 0 0
30 31 1 0 0 0
32 33 1 0 0 0
32 34 1 0 0 0
32 44 1 0 0 0
34 35 1 0 0 0
34 37 1 0 0 0
35 36 2 0 0 0
35 45 1 0 0 0
38 37 1 0 0 0
38 39 1 0 0 0
38 43 1 0 0 0
39 40 1 0 0 0
40 41 1 0 0 0
41 42 1 0 0 0
43 42 1 0 0 0
43 44 1 0 0 0
45 46 1 0 0 0
46 47 1 0 0 0
46 48 1 0 0 0
46 49 1 0 0 0
13 50 1 0 0 0
20 51 1 0 0 0
20 52 1 0 0 0
22 53 1 0 0 0
24 54 1 0 0 0
45 55 1 0 0 0
56 57 1 0 0 0
56 58 1 0 0 0
59 60 1 0 0 0 # <- water bond to delete
59 61 1 0 0 0 # <- water bond to delete
62 63 1 0 0 0 # <- water bond to delete
62 64 1 0 0 0 # <- water bond to delete
M END
$$$$
I extract the water molecules from the output SDF and write them into PDB file.
HETATM 1 OW SOL Z 1 7.695 -5.051 18.923 1.00 0.00 O
HETATM 2 H1 SOL Z 1 8.650 -5.116 18.676 1.00 0.00 H
HETATM 3 H2 SOL Z 1 7.409 -4.413 18.224 1.00 0.00 H
HETATM 4 OW SOL Z 2 0.015 2.951 9.170 1.00 0.00 O
HETATM 5 H1 SOL Z 2 -0.375 3.773 8.865 1.00 0.00 H
HETATM 6 H2 SOL Z 2 0.969 3.104 9.015 1.00 0.00 H
HETATM 7 OW SOL Z 3 2.809 3.394 9.114 1.00 0.00 O
HETATM 8 H1 SOL Z 3 3.363 2.618 8.877 1.00 0.00 H
HETATM 9 H2 SOL Z 3 2.972 3.448 10.074 1.00 0.00 H
END
The resulting SDF pose without water molecules docked.
output_SDF_pose_without_water_mols_docked
RDKit 3D
55 59 0 0 0 0 0 0 0 0999 V2000
7.3147 -3.9586 14.9619 C 0 0 0 0 0 0 0 0 0 0 0 0
7.0153 -4.6379 13.9855 O 0 0 0 0 0 0 0 0 0 0 0 0
7.5035 -1.8392 13.6714 N 0 0 0 0 0 0 0 0 0 0 0 0
7.5898 -2.4550 14.8795 C 0 0 0 0 0 0 0 0 0 0 0 0
7.9998 -1.7564 16.0295 C 0 0 0 0 0 0 0 0 0 0 0 0
8.3992 -0.4181 15.9258 C 0 0 0 0 0 0 0 0 0 0 0 0
8.7512 1.5314 14.5142 C 0 0 0 0 0 0 0 0 0 0 0 0
8.6723 2.1464 13.2582 C 0 0 0 0 0 0 0 0 0 0 0 0
8.1837 1.4293 12.1547 C 0 0 0 0 0 0 0 0 0 0 0 0
7.7981 0.0859 12.3105 C 0 0 0 0 0 0 0 0 0 0 0 0
8.3377 0.1960 14.6699 C 0 0 0 0 0 0 0 0 0 0 0 0
7.8663 -0.5473 13.5586 C 0 0 0 0 0 0 0 0 0 0 0 0
7.3843 -4.4984 16.2326 N 0 0 0 0 0 0 0 0 0 0 0 0
7.1340 -5.9227 16.5695 C 0 0 2 0 0 0 0 0 0 0 0 0
5.6292 -6.1660 16.8619 C 0 0 0 0 0 0 0 0 0 0 0 0
4.8498 -6.6652 16.0623 O 0 0 0 0 0 0 0 0 0 0 0 0
8.0891 -6.3849 17.6950 C 0 0 0 0 0 0 0 0 0 0 0 0
9.5132 -6.5747 17.1814 C 0 0 0 0 0 0 0 0 0 0 0 0
9.8349 -6.4134 16.0198 O 0 0 0 0 0 0 0 0 0 0 0 0
10.4274 -6.9372 18.1188 N 0 0 0 0 0 0 0 0 0 0 0 0
3.4251 -7.3168 18.8887 C 0 0 1 0 0 0 0 0 0 0 0 0
4.5081 -8.1022 19.4238 O 0 0 0 0 0 0 0 0 0 0 0 0
3.8753 -5.8313 18.6663 C 0 0 1 0 0 0 0 0 0 0 0 0
5.2505 -5.7784 18.1303 N 0 0 0 0 0 0 0 0 0 0 0 0
2.9147 -4.9970 17.7602 C 0 0 0 0 0 0 0 0 0 0 0 0
3.5379 -3.6916 17.2650 C 0 0 0 0 0 0 0 0 0 0 0 0
3.8400 -2.6574 18.1688 C 0 0 0 0 0 0 0 0 0 0 0 0
3.8329 -3.5279 15.8969 C 0 0 0 0 0 0 0 0 0 0 0 0
4.4358 -1.4717 17.7081 C 0 0 0 0 0 0 0 0 0 0 0 0
4.4277 -2.3412 15.4392 C 0 0 0 0 0 0 0 0 0 0 0 0
4.7283 -1.3126 16.3441 C 0 0 0 0 0 0 0 0 0 0 0 0
3.4388 -9.3316 17.3084 N 0 0 0 0 0 0 0 0 0 0 0 0
2.8678 -7.9712 17.5872 C 0 0 0 0 0 0 0 0 0 0 0 0
2.4599 -10.4287 17.6210 C 0 0 2 0 0 0 0 0 0 0 0 0
1.9771 -10.4606 19.1000 C 0 0 0 0 0 0 0 0 0 0 0 0
2.6748 -10.1034 20.0406 O 0 0 0 0 0 0 0 0 0 0 0 0
3.0335 -11.8253 17.3091 C 0 0 0 0 0 0 0 0 0 0 0 0
3.5950 -11.9408 15.8739 C 0 0 2 0 0 0 0 0 0 0 0 0
4.2110 -13.3500 15.6351 C 0 0 0 0 0 0 0 0 0 0 0 0
5.5444 -13.5556 16.3950 C 0 0 0 0 0 0 0 0 0 0 0 0
6.5504 -12.4351 16.0643 C 0 0 0 0 0 0 0 0 0 0 0 0
5.9505 -11.0388 16.3767 C 0 0 0 0 0 0 0 0 0 0 0 0
4.6205 -10.8017 15.6101 C 0 0 2 0 0 0 0 0 0 0 0 0
4.0079 -9.4116 15.9302 C 0 0 0 0 0 0 0 0 0 0 0 0
0.6858 -10.9374 19.2407 N 0 0 0 0 0 0 0 0 0 0 0 0
-0.0741 -11.0564 20.4835 C 0 0 0 0 0 0 0 0 0 0 0 0
-1.5569 -11.3106 20.1286 C 0 0 0 0 0 0 0 0 0 0 0 0
0.0113 -9.7458 21.2972 C 0 0 0 0 0 0 0 0 0 0 0 0
0.4440 -12.2516 21.3160 C 0 0 0 0 0 0 0 0 0 0 0 0
7.6525 -3.8382 16.9612 H 0 0 0 0 0 0 0 0 0 0 0 0
11.3867 -7.0832 17.8153 H 0 0 0 0 0 0 0 0 0 0 0 0
10.1377 -7.0323 19.0789 H 0 0 0 0 0 0 0 0 0 0 0 0
5.2526 -8.0977 18.7435 H 0 0 0 0 0 0 0 0 0 0 0 0
5.9776 -5.4001 18.7230 H 0 0 0 0 0 0 0 0 0 0 0 0
0.2428 -11.2540 18.3950 H 0 0 0 0 0 0 0 0 0 0 0 0
1 2 2 0
1 4 1 0
1 13 1 0
3 4 2 0
3 12 1 0
4 5 1 0
5 6 2 0
6 11 1 0
7 11 2 0
7 8 1 0
8 9 2 0
9 10 1 0
10 12 2 0
11 12 1 0
13 14 1 0
14 15 1 0
14 17 1 1
15 16 2 0
15 24 1 0
17 18 1 0
18 19 2 0
18 20 1 0
21 22 1 0
21 23 1 0
21 33 1 6
23 24 1 0
23 25 1 6
25 26 1 0
26 27 2 0
26 28 1 0
27 29 1 0
28 30 2 0
29 31 2 0
30 31 1 0
32 33 1 0
32 34 1 0
32 44 1 0
34 35 1 1
34 37 1 0
35 36 2 0
35 45 1 0
38 37 1 1
38 39 1 0
38 43 1 0
39 40 1 0
40 41 1 0
41 42 1 0
43 42 1 1
43 44 1 0
45 46 1 0
46 47 1 0
46 48 1 0
46 49 1 0
13 50 1 0
20 51 1 0
20 52 1 0
22 53 1 0
24 54 1 0
45 55 1 0
M END