ccsb-scripps / AutoDock-Vina

AutoDock Vina
http://vina.scripps.edu
Apache License 2.0
562 stars 199 forks source link

Affinity map for atom type O_A is not present. #212

Open SoodabehGhaffari opened 1 year ago

SoodabehGhaffari commented 1 year ago

Hello, I am using AutoDock Vina and I am facing an issue stating that "ERROR: Affinity map for atom type O_A is not present." How should I handle this issue? I prepared my ligands with meeko package. I really appreciate your help.

diogomart commented 1 year ago

Hello, you'd have to write the maps first, or use the receptor pdbqt instead. Reading the maps with vina scoring, as opposed to reading the receptor, is to enable modifications to the maps.

SoodabehGhaffari commented 1 year ago

Thank you for the answer. I believe I need to ask my question more specifically: My receptor has coenzyme (NADPH) and I am having difficulty to prepare the receptor with coenzyme (receptor_coenzyme.pdbqt). The coenzyme residue is deleted during the preparation. Here is the error that I get. Without coenzyme, I am not able to move forward to make the map.

[sg6615@della-gpu binding]$ prepare_receptor -r mytarget.pdb -A 'checkhydrogens' -U 'nphs_lpswaters' -e 'False' Unable to assign HAD type to atom N Unable to assign valence to atom mytarget:A:ALA2:N type = N Unable to assign HAD type to atom N Unable to assign valence to atom mytarget:A:LEU5:N type = N Unable to assign HAD type to atom N Unable to assign valence to atom mytarget:A:ALA6:N type = N Sorry, there are no Gasteiger parameters available for atom mytarget:A:MET1:O Unable to assign MAP type to atom N Sorry, there are no Gasteiger parameters available for atom mytarget:A:ALA2:N Sorry, there are no Gasteiger parameters available for atom mytarget:A:ALA2:O Sorry, there are no Gasteiger parameters available for atom mytarget:A:ARG3:O Sorry, there are no Gasteiger parameters available for atom mytarget:A:PRO4:O Unable to assign MAP type to atom N Sorry, there are no Gasteiger parameters available for atom mytarget:A:LEU5:N Sorry, there are no Gasteiger parameters available for atom mytarget:A:LEU5:O Unable to assign MAP type to atom N Sorry, there are no Gasteiger parameters available for atom mytarget:A:ALA6:N 'Deleting non-standard residues:ANAP0 from mytarget

SoodabehGhaffari commented 1 year ago

To add more information about my previous question, I decided to prepare the coenzyme separately (as a ligand) and docked it into the receptor, but I ran into the error below. I really appreciate your help.

(vina-env) [sg6615@della-gpu coenzyme]$ python ../mk_prepare_ligand.py -i NAP.sdf -o NAP.pdbqt {'keep_nonpolar_hydrogens': False, 'hydrate': False, 'flexible_amides': False, 'rigid_macrocycles': False, 'min_ring_size': 7, 'max_ring_size': 33, 'keep_chorded_rings': False, 'keep_equivalent_rings': False, 'rigidify_bonds_smarts': [], 'rigidify_bonds_indices': [], 'double_bond_penalty': 50, 'atom_type_smarts': {}, 'add_index_map': False, 'remove_smiles': False} [14:08:32] Explicit valence for atom # 67 O, 3, is greater than permitted [14:08:32] ERROR: Could not sanitize molecule ending on line 157 [14:08:32] ERROR: Explicit valence for atom # 67 O, 3, is greater than permitted

rwxayheee commented 1 year ago

Hi @SoodabehGhaffari, I can think of two possible reasons for "Unable to assign HAD/valence/MAP type to (a common atom in a standard residue)": (1) heavy atoms are missing in the input pdb structure. (2) alternate locations are assigned to the atom (due to fractional occupancy), but not labeled as expected in the 17th column.

One possible way to keep NAP ligand as a nonstandard component in the output pdbqt: remove the "-e 'False'" argument in the command. By default, the NAP in chain A you showed should be retained.

It would be really helpful if you could post the ligand SDF file that didn't work for meeko. Bonds are explicitly specified in normal SDF files. You might want to visualize and check the number of atoms/bonds around the questioned oxygen atom.

SoodabehGhaffari commented 1 year ago

Thank you for the help! I am attaching the sdf file of the coenzyme named NAP.sdf to this email. If you have any suggestions, please let me know.

On Thu, Jun 15, 2023 at 4:21 PM Amy He @.***> wrote:

Hi @SoodabehGhaffari https://github.com/SoodabehGhaffari, I can think of two possible reasons for "Unable to assign HAD/valence/MAP type to (a common atom in a standard residue)": (1) heavy atoms are missing in the input pdb structure. (2) alternate locations are assigned to the atom (due to fractional occupancy), but not labeled as expected in the 17th column.

One possible way to keep NAP ligand as a nonstandard component in the output pdbqt: remove the "-e 'False'" argument in the command. By default, the NAP in chain A you showed should be retained.

It would be really helpful if you could post the ligand SDF file that didn't work for meeko. Bonds are explicitly specified in normal SDF files. You might want to visualize and check the number of atoms/bonds around the questioned oxygen atom.

— Reply to this email directly, view it on GitHub https://github.com/ccsb-scripps/AutoDock-Vina/issues/212#issuecomment-1593677034, or unsubscribe . You are receiving this because you were mentioned.Message ID: @.***>

diogomart commented 1 year ago

I can't see the attachment, could you upload it on the GitHub webpage? Also, you shared a link to unsubscribe from email notifications, I deleted that link.

rwxayheee commented 1 year ago

Hi @SoodabehGhaffari,

I couldn't find the attachment from the email either :'( Out of curiosity, have you tried the Model SDF of NADPH from here: https://www.rcsb.org/ligand/NDP ^The Model SDF works for me.

SoodabehGhaffari commented 1 year ago

Thank you for the help!

On Thu, Jun 15, 2023 at 5:48 PM Amy He @.***> wrote:

Hi @SoodabehGhaffari https://github.com/SoodabehGhaffari,

I couldn't find the attachment from the email either :'( Out of curiosity, have you tried the Model SDF of NADPH from here: https://www.rcsb.org/ligand/NDP ^The Model SDF works for me.

— Reply to this email directly, view it on GitHub https://github.com/ccsb-scripps/AutoDock-Vina/issues/212#issuecomment-1593763382, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANASVCRKSK5XS63TA7DC5J3XLN7JDANCNFSM6AAAAAAZGZG5TM . You are receiving this because you were mentioned.Message ID: @.***>

diogomart commented 1 year ago

These are errors from RDKit, they indicate a problem with the SDF

[14:08:32] Explicit valence for atom # 67 O, 3, is greater than permitted
[14:08:32] ERROR: Could not sanitize molecule ending on line 157
[14:08:32] ERROR: Explicit valence for atom # 67 O, 3, is greater than permitted
SoodabehGhaffari commented 1 year ago

I pasted my sdf file below: Could you please see what the problem with the sdf is? I open it with Pymol and I cannot see any issue.

NAP PyMOL2.4 3D 0

74 78 0 0 0 0 0 0 0 0999 V2000 10.8303 -1.2273 -26.6391 H 0 0 0 0 0 0 0 0 0 0 0 0 1.4900 -3.8058 -20.0181 H 0 0 0 0 0 0 0 0 0 0 0 0 10.6851 6.0111 -26.0950 H 0 0 0 0 0 0 0 0 0 0 0 0 0.4541 -7.9109 -19.1034 H 0 0 0 0 0 0 0 0 0 0 0 0 10.8072 4.2689 -26.1949 H 0 0 0 0 0 0 0 0 0 0 0 0 8.5235 -2.0535 -22.9430 H 0 0 0 0 0 0 0 0 0 0 0 0 10.8614 -0.9613 -23.1892 H 0 0 0 0 0 0 0 0 0 0 0 0 8.4166 2.1674 -21.0850 H 0 0 0 0 0 0 0 0 0 0 0 0 4.1484 -7.1219 -20.1904 H 0 0 0 0 0 0 0 0 0 0 0 0 10.5835 0.5014 -25.8032 H 0 0 0 0 0 0 0 0 0 0 0 0 -3.9633 -2.6062 -17.2083 H 0 0 0 0 0 0 0 0 0 0 0 0 2.2930 -8.3127 -22.1515 H 0 0 0 0 0 0 0 0 0 0 0 0 9.0274 0.1691 -22.4541 H 0 0 0 0 0 0 0 0 0 0 0 0 1.9065 -6.3647 -17.3386 H 0 0 0 0 0 0 0 0 0 0 0 0 8.0912 -3.4800 -23.8882 H 0 0 0 0 0 0 0 0 0 0 0 0 8.4672 -2.3269 -25.9647 H 0 0 0 0 0 0 0 0 0 0 0 0 0.0716 -9.0527 -17.7243 H 0 0 0 0 0 0 0 0 0 0 0 0 3.6362 -5.9394 -22.2920 H 0 0 0 0 0 0 0 0 0 0 0 0 10.7141 2.6360 -25.4861 H 0 0 0 0 0 0 0 0 0 0 0 0 -2.2955 -6.4491 -15.3385 H 0 0 0 0 0 0 0 0 0 0 0 0 2.6335 -4.7910 -21.4529 H 0 0 0 0 0 0 0 0 0 0 0 0 12.5749 0.1232 -24.1178 H 0 0 0 0 0 0 0 0 0 0 0 0 8.8954 4.4326 -22.0126 H 0 0 0 0 0 0 0 0 0 0 0 0 10.6358 -3.1202 -24.4767 H 0 0 0 0 0 0 0 0 0 0 0 0 1.2332 -6.8047 -21.1218 H 0 0 0 0 0 0 0 0 0 0 0 0 -2.8216 -2.1175 -18.4403 H 0 0 0 0 0 0 0 0 0 0 0 0 9.7710 1.3410 -24.0790 N 0 0 0 0 0 0 0 0 0 0 0 0 10.5580 5.1000 -25.6780 N 0 0 0 0 0 0 0 0 0 0 0 0 5.2660 -3.6290 -23.0160 O 0 0 0 0 0 0 0 0 0 0 0 0 1.7930 -6.2130 -18.4120 C 0 0 0 0 0 0 0 0 0 0 0 0 -1.9680 -5.7810 -16.1350 C 0 0 0 0 0 0 0 0 0 0 0 0 1.4810 -7.5460 -19.0830 C 0 0 0 0 0 0 0 0 0 0 0 0 1.9860 -7.2930 -20.5030 C 0 0 0 0 0 0 0 0 0 0 0 0 -0.4100 -5.2110 -17.7700 C 0 0 0 0 0 0 0 0 0 0 0 0 3.2690 -6.4800 -20.2430 C 0 0 0 0 0 0 0 0 0 0 0 0 -1.1440 -4.0780 -18.1100 C 0 0 0 0 0 0 0 0 0 0 0 0 3.4870 -5.4570 -21.3260 C 0 0 0 0 0 0 0 0 0 0 0 0 -2.3440 -3.8250 -17.4330 C 0 0 0 0 0 0 0 0 0 0 0 0 0.7120 -4.0910 -19.3100 C 0 0 0 0 0 0 0 0 0 0 0 0 -2.7480 -4.6910 -16.4380 N 0 0 0 0 0 0 0 0 0 0 0 0 -0.8060 -6.0650 -16.7830 N 0 0 0 0 0 0 0 0 0 0 0 0 -3.1050 -2.7630 -17.7170 N 0 0 0 0 0 0 0 0 0 0 0 0 -0.4280 -3.4100 -19.0770 N 0 0 0 0 0 0 0 0 0 0 0 0 0.7290 -5.2080 -18.5030 N 0 0 0 0 0 0 0 0 0 0 0 0 6.0080 -2.7100 -20.7410 O 0 5 0 0 0 0 0 0 0 0 0 0 3.5680 -2.5350 -21.4240 O 0 0 0 0 0 0 0 0 0 0 0 0 2.2800 -8.4680 -18.3580 O 0 0 0 0 0 0 0 0 0 0 0 0 2.3140 -8.4830 -21.2070 O 0 0 0 0 0 0 0 0 0 0 0 0 2.9610 -5.7560 -19.0540 O 0 0 0 0 0 0 0 0 0 0 0 0 4.6810 -4.7590 -20.9090 O 0 0 0 0 0 0 0 0 0 0 0 0 0.3340 -9.9680 -17.8470 O 0 0 0 0 0 0 0 0 0 0 0 0 2.6510 -10.6500 -17.1940 O 0 5 0 0 0 0 0 0 0 0 0 0 1.9770 -10.5820 -19.6410 O 0 0 0 0 0 0 0 0 0 0 0 0 4.8430 -3.2520 -21.4880 P 0 0 0 0 0 0 0 0 0 0 0 0 1.7790 -10.0260 -18.2380 P 0 0 0 0 0 0 0 0 0 0 0 0 10.0440 0.1620 -24.9190 C 0 0 0 0 0 0 0 0 0 0 0 0 10.1540 2.5500 -24.5550 C 0 0 0 0 0 0 0 0 0 0 0 0 10.9170 -0.9210 -24.2770 C 0 0 0 0 0 0 0 0 0 0 0 0 9.8090 3.6810 -23.8160 C 0 0 0 0 0 0 0 0 0 0 0 0 10.3800 -2.1820 -24.9690 C 0 0 0 0 0 0 0 0 0 0 0 0 9.1710 3.5430 -22.5790 C 0 0 0 0 0 0 0 0 0 0 0 0 8.8840 -1.8530 -25.0760 C 0 0 0 0 0 0 0 0 0 0 0 0 8.8840 2.2820 -22.0630 C 0 0 0 0 0 0 0 0 0 0 0 0 8.0840 -2.3900 -23.8820 C 0 0 0 0 0 0 0 0 0 0 0 0 9.2130 1.1730 -22.8360 C 0 0 0 0 0 0 0 0 0 0 0 0 10.0640 4.9950 -24.4520 C 0 0 0 0 0 0 0 0 0 0 0 0 6.0340 -3.9210 -25.3310 O 0 5 0 0 0 0 0 0 0 0 0 0 4.3410 -2.0780 -24.6980 O 0 5 0 0 0 0 0 0 0 0 0 0 12.3030 -0.7030 -24.5240 O 0 0 0 0 0 0 0 0 0 0 0 0 10.8580 -2.1330 -26.3220 O 0 0 0 0 0 0 0 0 0 0 0 0 8.7800 -0.4240 -25.1290 O 0 0 0 0 0 0 0 0 0 0 0 0 6.7610 -1.9150 -24.0100 O 0 0 0 0 0 0 0 0 0 0 0 0 9.6810 6.0960 -23.7650 O 0 0 0 0 0 0 0 0 0 0 0 0 5.5330 -2.8730 -24.3650 P 0 0 0 0 0 0 0 0 0 0 0 0 27 56 1 0 0 0 0 27 57 4 0 0 0 0 27 65 4 0 0 0 0 3 28 1 0 0 0 0 5 28 1 0 0 0 0 28 66 1 0 0 0 0 29 54 1 0 0 0 0 29 74 1 0 0 0 0 14 30 1 0 0 0 0 30 32 1 0 0 0 0 30 44 1 0 0 0 0 30 49 1 0 0 0 0 20 31 1 0 0 0 0 31 40 4 0 0 0 0 31 41 4 0 0 0 0 4 32 1 0 0 0 0 32 33 1 0 0 0 0 32 47 1 0 0 0 0 25 33 1 0 0 0 0 33 35 1 0 0 0 0 33 48 1 0 0 0 0 34 36 4 0 0 0 0 34 41 4 0 0 0 0 34 44 4 0 0 0 0 9 35 1 0 0 0 0 35 37 1 0 0 0 0 35 49 1 0 0 0 0 36 38 4 0 0 0 0 36 43 4 0 0 0 0 18 37 1 0 0 0 0 21 37 1 0 0 0 0 37 50 1 0 0 0 0 38 40 4 0 0 0 0 38 42 1 0 0 0 0 2 39 1 0 0 0 0 39 43 4 0 0 0 0 39 44 4 0 0 0 0 11 42 1 0 0 0 0 26 42 1 0 0 0 0 45 54 1 0 0 0 0 46 54 2 0 0 0 0 47 55 1 0 0 0 0 12 48 1 0 0 0 0 50 54 1 0 0 0 0 17 51 1 0 0 0 0 51 55 1 0 0 0 0 52 55 1 0 0 0 0 53 55 2 0 0 0 0 10 56 1 0 0 0 0 56 58 1 0 0 0 0 56 71 1 0 0 0 0 19 57 1 0 0 0 0 57 59 4 0 0 0 0 7 58 1 0 0 0 0 58 60 1 0 0 0 0 58 69 1 0 0 0 0 59 61 4 0 0 0 0 59 66 1 0 0 0 0 24 60 1 0 0 0 0 60 62 1 0 0 0 0 60 70 1 0 0 0 0 23 61 1 0 0 0 0 61 63 4 0 0 0 0 16 62 1 0 0 0 0 62 64 1 0 0 0 0 62 71 1 0 0 0 0 8 63 1 0 0 0 0 63 65 4 0 0 0 0 6 64 1 0 0 0 0 15 64 1 0 0 0 0 64 72 1 0 0 0 0 13 65 1 0 0 0 0 66 73 2 0 0 0 0 67 74 1 0 0 0 0 68 74 2 0 0 0 0 22 69 1 0 0 0 0 1 70 1 0 0 0 0 72 74 1 0 0 0 0 M END

$$$$

rwxayheee commented 1 year ago

Hi @SoodabehGhaffari! It seems like you generated the SDF from PyMol. The questioned oxygen in the atom section is:

4.3410 -2.0780 -24.6980 O 0 5 0 0 0 0 0 0 0 0 0 0

The charge column is "5" (formal charge = -1).

In the bond section:

68 74 2 0 0 0 0

This oxygen is doubly bonded to phosphorus. Thus, resetting its formal charge to 0 might resolve the valence issue. You can do it in PyMol or change the charge column from 5 to 0.