Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wrong rotatable bond in pdbqt format results in re-docking (sampling) failure #2433

Open
1 of 2 tasks
gkxiao opened this issue Nov 23, 2021 · 5 comments
Open
1 of 2 tasks

Comments

@gkxiao
Copy link

gkxiao commented Nov 23, 2021

  • I believe this to be a bug with Open Babel
  • This is a feature request

Environment Information

Open Babel version: 3.1.1
Operating system and version: Centos 7.4

Expected Behavior

Example 1. C1(NC2=NC(C3=CN=CC=C3)=CC=N2)=CC=CC=C1

As for example 1 molecule, obabel give a PDBQT file with 2 rotatable bond instead of 3. The correct one looks like as following:

REMARK  Name = EX1
REMARK  3 active torsions:
REMARK  status: ('A' for Active; 'I' for Inactive)
REMARK    1  A    between atoms: _1  and  _2
REMARK    2  A    between atoms: _2  and  _3
REMARK    3  A    between atoms: _5  and  _6
ROOT
ATOM      1  C1  UNL     1       3.354   0.587   0.763  0.00  0.00     0.041 A
ATOM     15  C11 UNL     1       4.730   0.740   0.977  0.00  0.00    -0.039 A
ATOM     16  C12 UNL     1       5.237   1.885   1.596  0.00  0.00    -0.060 A
ATOM     17  C13 UNL     1       4.371   2.898   1.998  0.00  0.00    -0.062 A
ATOM     18  C14 UNL     1       3.003   2.773   1.764  0.00  0.00    -0.060 A
ATOM     19  C15 UNL     1       2.501   1.632   1.133  0.00  0.00    -0.039 A
ENDROOT
BRANCH 1 2
ATOM      2  N1  UNL     1       2.812  -0.545   0.129  0.00  0.00    -0.324 N
ATOM     20  H1  UNL     1       2.532  -0.383  -0.830  0.00  0.00     0.170 HD
BRANCH 2 3
ATOM      3  C2  UNL     1       3.296  -1.851   0.224  0.00  0.00     0.227 A
ATOM      4  N2  UNL     1       3.942  -2.233   1.334  0.00  0.00    -0.213 NA
ATOM      5  C3  UNL     1       4.393  -3.501   1.427  0.00  0.00     0.077 A
ATOM     12  C9  UNL     1       4.180  -4.407   0.410  0.00  0.00    -0.017 A
ATOM     13  C10 UNL     1       3.504  -3.933  -0.691  0.00  0.00     0.033 A
ATOM     14  N4  UNL     1       3.060  -2.669  -0.809  0.00  0.00    -0.221 NA
BRANCH 5 6
ATOM      6  C4  UNL     1       5.110  -3.815   2.675  0.00  0.00     0.019 A
ATOM      7  C5  UNL     1       6.100  -4.795   2.757  0.00  0.00     0.036 A
ATOM      8  N3  UNL     1       6.792  -5.119   3.879  0.00  0.00    -0.264 NA
ATOM      9  C6  UNL     1       6.496  -4.421   4.994  0.00  0.00     0.027 A
ATOM     10  C7  UNL     1       5.546  -3.417   5.038  0.00  0.00    -0.043 A
ATOM     11  C8  UNL     1       4.853  -3.116   3.866  0.00  0.00    -0.050 A
ENDBRANCH 5 6
ENDBRANCH 2 3
ENDBRANCH 1 2
TORSDOF 3

Actual Behavior

The torsions in PDBQT file did not include bond C_2-N_3. This will result in docking failure. Let me show you an redocking failure: openbabel_2433

Steps to Reproduce

(base) [gkxiao@master demo]$ cat ex1.smi
C1(NC2=NC(C3=CN=CC=C3)=CC=N2)=CC=CC=C1 EX01
(base) [gkxiao@master demo]$ obabel -ismi ex1.smi -opdbqt --gen3d --best
REMARK  Name = EX01
REMARK  2 active torsions:
REMARK  status: ('A' for Active; 'I' for Inactive)
REMARK    1  A    between atoms: C_1  and  N_2
REMARK    2  A    between atoms: C_5  and  C_6
REMARK                            x       y       z     vdW  Elec       q    Type
REMARK                         _______ _______ _______ _____ _____    ______ ____
ROOT
ATOM      1  N   UNL     1       2.812  -0.545   0.128  0.00  0.00    +0.000 N
ATOM      2  C   UNL     1       3.296  -1.851   0.224  0.00  0.00    +0.000 A
ATOM      3  N   UNL     1       3.942  -2.233   1.334  0.00  0.00    +0.000 NA
ATOM      4  C   UNL     1       4.393  -3.501   1.427  0.00  0.00    +0.000 A
ATOM      5  C   UNL     1       4.180  -4.407   0.410  0.00  0.00    +0.000 A
ATOM      6  C   UNL     1       3.504  -3.932  -0.691  0.00  0.00    +0.000 A
ATOM      7  N   UNL     1       3.060  -2.669  -0.809  0.00  0.00    +0.000 NA
ATOM      8  H   UNL     1       2.532  -0.383  -0.830  0.00  0.00    +0.000 HD
ENDROOT
BRANCH   1   9
ATOM      9  C   UNL     1       3.354   0.587   0.763  0.00  0.00    +0.000 A
ATOM     10  C   UNL     1       4.730   0.740   0.977  0.00  0.00    +0.000 A
ATOM     11  C   UNL     1       5.237   1.885   1.596  0.00  0.00    +0.000 A
ATOM     12  C   UNL     1       4.371   2.898   1.998  0.00  0.00    +0.000 A
ATOM     13  C   UNL     1       3.003   2.773   1.765  0.00  0.00    +0.000 A
ATOM     14  C   UNL     1       2.501   1.632   1.133  0.00  0.00    +0.000 A
ENDBRANCH   1   9
BRANCH   4  15
ATOM     15  C   UNL     1       5.110  -3.815   2.675  0.00  0.00    +0.000 A
ATOM     16  C   UNL     1       6.100  -4.795   2.757  0.00  0.00    +0.000 A
ATOM     17  N   UNL     1       6.791  -5.119   3.879  0.00  0.00    +0.000 NA
ATOM     18  C   UNL     1       6.496  -4.421   4.994  0.00  0.00    +0.000 A
ATOM     19  C   UNL     1       5.546  -3.417   5.038  0.00  0.00    +0.000 A
ATOM     20  C   UNL     1       4.853  -3.116   3.867  0.00  0.00    +0.000 A
ENDBRANCH   4  15
TORSDOF 2
@welcome
Copy link

welcome bot commented Nov 23, 2021

Thanks for opening your first issue here! Be sure to follow the issue template!

@gkxiao gkxiao changed the title Wrong rotatable bond in pdbqt format results in docking failure Wrong rotatable bond in pdbqt format results in re-docking (sampling) failure Nov 23, 2021
@bwvdg
Copy link

bwvdg commented Nov 23, 2021

It looks as though the pdbqt rotatable-bond perception function excludes amidine bond patterns (N=C-N), which appears to be the bond that's excluded from the pdbqt tree.

@gkxiao
Copy link
Author

gkxiao commented Nov 24, 2021

I agree with you.

@gaoshan2006
Copy link

Is there a target release to fix this issue ? When will the fix be ready ? Thanks a lot

@gaoshan2006
Copy link

Add this line into the function "static bool IsImide(OBBond* querybond)"
" if (querybond->IsInRing() ) return false; "
Is ok ? Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants