forlilab / Meeko

Interfacing RDKit and AutoDock
GNU Lesser General Public License v2.1
192 stars 48 forks source link

Wrong atom types generated #99

Closed vwcruzeiro closed 5 months ago

vwcruzeiro commented 5 months ago

Dear development team,

I am reaching out for assistance regarding an issue I encountered after converting a MOL2 file to a PDBQT format using the mk_prepare_ligand.py script. Post-conversion, I observed the introduction of atom types CG0 and G0 in the output PDBQT file. These atom types appear to be incorrect.

To facilitate the debugging process, I have attached the original MOL2 file and the resulting PDBQT file for your review. I would greatly appreciate any insights or guidance you could provide on how to resolve these unexpected atom types.

Thank you for your time and support.

Here is in the MOL2 file I used:

@<TRIPOS>MOLECULE
ARC-000658
30 30 1 0 0 
SMALL
NO_CHARGES

@<TRIPOS>ATOM
  1 C       -0.6000     1.6660    -2.1720 C.2   1 <1>   0.0000 
  2 C       -0.2370     0.2910    -1.5980 C.3   1 <1>   0.0000 
  3 C        1.2760     0.1940    -1.3170 C.3   1 <1>   0.0000 
  4 N        1.8890    -1.1570    -1.3610 N.am  1 <1>   0.0000 
  5 C        3.2740    -1.2320    -1.4500 C.2   1 <1>   0.0000 
  6 H        3.7739    -2.1485    -1.7269 H     1 <1>   0.0000 
  7 O        3.9030    -0.2070    -1.1990 O.2   1 <1>   0.0000 
  8 C        1.1070    -2.3600    -0.9830 C.3   1 <1>   0.0000 
  9 C        0.1730    -2.1630     0.2210 C.3   1 <1>   0.0000 
 10 N       -1.1270    -1.5700    -0.1410 N.am  1 <1>   0.0000 
 11 C       -2.2730    -2.3230    -0.3180 C.2   1 <1>   0.0000 
 12 H       -2.2428    -3.3986    -0.2252 H     1 <1>   0.0000 
 13 O       -3.3160    -1.7540    -0.5800 O.2   1 <1>   0.0000 
 14 C       -1.1190    -0.1180    -0.4040 C.3   1 <1>   0.0000 
 15 O       -0.9800     1.7500    -3.3280 O.2   1 <1>   0.0000 
 16 C       -0.1680     3.0850    -0.0860 C.3   1 <1>   0.0000 
 17 N       -0.4550     2.8080    -1.5060 N.am  1 <1>   0.0000 
 18 H       -0.4520    -0.4210    -2.3940 H     1 <1>   0.0000 
 19 H        1.5020     0.6460    -0.3620 H     1 <1>   0.0000 
 20 H        1.7830     0.8200    -2.0420 H     1 <1>   0.0000 
 21 H        0.5290    -2.7100    -1.8280 H     1 <1>   0.0000 
 22 H        1.7660    -3.1810    -0.7330 H     1 <1>   0.0000 
 23 H        0.6720    -1.5500     0.9610 H     1 <1>   0.0000 
 24 H        0.0480    -3.1120     0.7200 H     1 <1>   0.0000 
 25 H       -2.1200     0.2550    -0.5780 H     1 <1>   0.0000 
 26 H       -0.7900     0.3910     0.4900 H     1 <1>   0.0000 
 27 H        0.6200     2.4150     0.2460 H     1 <1>   0.0000 
 28 H1       0.0761     4.1473    -0.0791 H     1 <1>   0.0000 
 29 H2      -0.9817     2.9017     0.6157 H     1 <1>   0.0000 
 30 H       -0.6730     3.6320    -2.0480 H     1 <1>   0.0000 
@<TRIPOS>BOND
  1   1   2  1   
  2   1  15  2   
  3   1  17  am  
  4   2   3  1   
  5   2  14  1   
  6   2  18  1   
  7   3   4  1   
  8   3  19  1   
  9   3  20  1   
 10   4   5  am  
 11   4   8  1   
 12   5   6  1   
 13   5   7  2   
 14   8   9  1   
 15   8  21  1   
 16   8  22  1   
 17   9  10  1   
 18   9  23  1   
 19   9  24  1   
 20  10  11  am  
 21  10  14  1   
 22  11  12  1   
 23  11  13  2   
 24  14  25  1   
 25  14  26  1   
 26  16  17  1   
 27  16  27  1   
 28  16  28  1   
 29  16  29  1   
 30  17  30  1   
@<TRIPOS>SUBSTRUCTURE
  1 ****   2 GROUP 4 **** **** 0

Here is the output PDBQT file obtained:

REMARK SMILES CNC(=O)C1CN(C=O)CCN(C=O)C1
REMARK SMILES IDX 5 1 3 2 4 3 2 4 1 5 6 7 7 8 8 9 9 10 10 11 15 13 12 14 11 15
REMARK SMILES IDX 13 17 14 18
REMARK H PARENT 2 6
REMARK Flexibility Score: 80.00
ROOT
ATOM      1  C   UNL     1      -0.237   0.291  -1.598  1.00  0.00     0.117 C 
ENDROOT
BRANCH   1   2
ATOM      2  C   UNL     1      -0.600   1.666  -2.172  1.00  0.00     0.226 C 
ATOM      3  O   UNL     1      -0.980   1.750  -3.328  1.00  0.00    -0.275 OA
ATOM      4  N   UNL     1      -0.455   2.808  -1.506  1.00  0.00    -0.359 N 
ATOM      5  C   UNL     1      -0.168   3.085  -0.086  1.00  0.00     0.142 C 
ATOM      6  H   UNL     1      -0.673   3.632  -2.048  1.00  0.00     0.163 HD
ENDBRANCH   1   2
BRANCH   1   7
ATOM      7  C   UNL     1       1.276   0.194  -1.317  1.00  0.00     0.134 C 
BRANCH   7   8
ATOM      8  N   UNL     1       1.889  -1.157  -1.361  1.00  0.00    -0.343 N 
BRANCH   8   9
ATOM      9  C   UNL     1       3.274  -1.232  -1.450  1.00  0.00     0.339 C 
ATOM     10  O   UNL     1       3.903  -0.207  -1.199  1.00  0.00    -0.279 OA
ENDBRANCH   8   9
BRANCH   8  11
ATOM     11  C   UNL     1       1.107  -2.360  -0.983  1.00  0.00     0.140 CG0
ATOM     12  G   UNL     1       0.173  -2.163   0.221  1.00  0.00     0.000 G0
ENDBRANCH   8  11
ENDBRANCH   7   8
ENDBRANCH   1   7
BRANCH   1  13
ATOM     13  C   UNL     1      -1.119  -0.118  -0.404  1.00  0.00     0.134 C 
BRANCH  13  14
ATOM     14  N   UNL     1      -1.127  -1.570  -0.141  1.00  0.00    -0.343 N 
BRANCH  14  15
ATOM     15  C   UNL     1       0.173  -2.163   0.221  1.00  0.00     0.140 CG0
ATOM     16  G   UNL     1       1.107  -2.360  -0.983  1.00  0.00     0.000 G0
ENDBRANCH  14  15
BRANCH  14  17
ATOM     17  C   UNL     1      -2.273  -2.323  -0.318  1.00  0.00     0.339 C 
ATOM     18  O   UNL     1      -3.316  -1.754  -0.580  1.00  0.00    -0.279 OA
ENDBRANCH  14  17
ENDBRANCH  13  14
ENDBRANCH   1  13
TORSDOF 3
rwxayheee commented 5 months ago

Hi @vwcruzeiro These are additional glue atoms to facilitate the macrocycle sampling. From a quick look they seem to be correct (expected). This is enabled by default but can be suppressed by option --rigid_macrocycles. Some examples can be found from here

See #10 and ccsb-scripps/AutoDock-Vina/issues/221 for Q&A on similar questions

vwcruzeiro commented 5 months ago

Thank you so much for your help @rwxayheee ! For some reason, AutoDock did not run due to the presence of the G atoms. Nevertheless, upon using --rigid_macrocycles option all looks good.

diogomart commented 5 months ago

Hello, we aren't really maintaining autodock4 anymore, but vina 1.2.5 supports the same scoring function (with option --scoring ad4 and autogrid maps) and the search is much better because of gradients. If you have plenty of GPU power and plenty of ligands then consider autodock-gpu.