forlilab / Meeko

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

Reactive docking 'residue HIS not in residue_params' error #82

Closed apaydinemre closed 6 months ago

apaydinemre commented 6 months ago

Hello,

I followed Meeko Reactive Docking instructions to do covalent docking with AutoDock GPU, but I encountered the following problem.

(my-rdkit-env) emre@BIOE-THANOS:~/Desktop/Emre/Redockings/Runs/Covalent/1h5x$ mk_prepare_receptor.py --pdb protein.pdb -o protein.pdbqt --reactive_flexres "B:SER:67" --box_center_on_reactive_res --box_size 60 60 60

When I enter this command, I get the following warning.

Flexible residues:
chain resname resnum is_reactive reactive_atom
    B     SER     67        True            OG

did not match ('B', 'SER', 21) with template
did not match ('B', 'ILE', 22) with template
did not match ('B', 'THR', 23) with template
did not match ('B', 'GLU', 24) with template
did not match ('B', 'ASN', 25) with template
did not match ('B', 'THR', 26) with template
did not match ('B', 'SER', 27) with template
did not match ('B', 'TRP', 28) with template
did not match ('B', 'ASN', 29) with template
did not match ('B', 'LYS', 30) with template
did not match ('B', 'GLU', 31) with template
did not match ('B', 'PHE', 32) with template
did not match ('B', 'SER', 33) with template
did not match ('B', 'ALA', 34) with template
did not match ('B', 'GLU', 35) with template
did not match ('B', 'ALA', 36) with template
did not match ('B', 'VAL', 37) with template
did not match ('B', 'ASN', 38) with template
did not match ('B', 'GLY', 39) with template
did not match ('B', 'VAL', 40) with template
did not match ('B', 'PHE', 41) with template
did not match ('B', 'VAL', 42) with template
did not match ('B', 'LEU', 43) with template
did not match ('B', 'CYS', 44) with template
did not match ('B', 'LYS', 45) with template
did not match ('B', 'SER', 46) with template
did not match ('B', 'SER', 47) with template
did not match ('B', 'SER', 48) with template
did not match ('B', 'LYS', 49) with template
did not match ('B', 'SER', 50) with template
did not match ('B', 'CYS', 51) with template
did not match ('B', 'ALA', 52) with template
did not match ('B', 'THR', 53) with template
did not match ('B', 'ASN', 54) with template
did not match ('B', 'ASN', 55) with template
did not match ('B', 'LEU', 56) with template
did not match ('B', 'ALA', 57) with template
did not match ('B', 'ARG', 58) with template
did not match ('B', 'ALA', 59) with template
did not match ('B', 'SER', 60) with template
did not match ('B', 'LYS', 61) with template
did not match ('B', 'GLU', 62) with template
did not match ('B', 'TYR', 63) with template
did not match ('B', 'LEU', 64) with template
did not match ('B', 'PRO', 65) with template
did not match ('B', 'ALA', 66) with template
did not match ('B', 'SER', 67) with template
did not match ('B', 'THR', 68) with template
did not match ('B', 'PHE', 69) with template
did not match ('B', 'LYS', 70) with template
did not match ('B', 'ILE', 71) with template
did not match ('B', 'PRO', 72) with template
did not match ('B', 'SER', 73) with template
did not match ('B', 'ALA', 74) with template
did not match ('B', 'ILE', 75) with template
did not match ('B', 'ILE', 76) with template
did not match ('B', 'GLY', 77) with template
did not match ('B', 'LEU', 78) with template
did not match ('B', 'GLU', 79) with template
did not match ('B', 'THR', 80) with template
did not match ('B', 'GLY', 81) with template
did not match ('B', 'VAL', 82) with template
did not match ('B', 'ILE', 83) with template
did not match ('B', 'LYS', 84) with template
did not match ('B', 'ASN', 85) with template
did not match ('B', 'GLU', 86) with template
did not match ('B', 'HIS', 87) with template
did not match ('B', 'GLN', 88) with template
did not match ('B', 'VAL', 89) with template
did not match ('B', 'PHE', 90) with template
did not match ('B', 'LYS', 91) with template
did not match ('B', 'TRP', 92) with template
did not match ('B', 'ASP', 105) with template
did not match ('B', 'LEU', 106) with template
did not match ('B', 'SER', 107) with template
did not match ('B', 'LEU', 108) with template
did not match ('B', 'ARG', 109) with template
did not match ('B', 'GLY', 110) with template
did not match ('B', 'ALA', 111) with template
did not match ('B', 'ILE', 112) with template
did not match ('B', 'GLN', 113) with template
did not match ('B', 'VAL', 114) with template
did not match ('B', 'SER', 115) with template
did not match ('B', 'ALA', 116) with template
did not match ('B', 'VAL', 117) with template
did not match ('B', 'PRO', 118) with template
did not match ('B', 'VAL', 119) with template
did not match ('B', 'PHE', 120) with template
did not match ('B', 'GLN', 121) with template
did not match ('B', 'GLN', 122) with template
did not match ('B', 'ILE', 123) with template
did not match ('B', 'ALA', 124) with template
did not match ('B', 'ARG', 125) with template
did not match ('B', 'GLU', 126) with template
did not match ('B', 'VAL', 127) with template
did not match ('B', 'GLY', 128) with template
did not match ('B', 'GLU', 129) with template
did not match ('B', 'VAL', 130) with template
did not match ('B', 'ARG', 131) with template
did not match ('B', 'MET', 132) with template
did not match ('B', 'GLN', 133) with template
did not match ('B', 'LYS', 134) with template
did not match ('B', 'TYR', 135) with template
did not match ('B', 'LEU', 136) with template
did not match ('B', 'LYS', 137) with template
did not match ('B', 'LYS', 138) with template
did not match ('B', 'PHE', 139) with template
did not match ('B', 'SER', 140) with template
did not match ('B', 'TYR', 141) with template
did not match ('B', 'GLY', 142) with template
did not match ('B', 'ASN', 143) with template
did not match ('B', 'GLN', 144) with template
did not match ('B', 'ASN', 145) with template
did not match ('B', 'ILE', 146) with template
did not match ('B', 'SER', 147) with template
did not match ('B', 'GLY', 148) with template
did not match ('B', 'GLY', 149) with template
did not match ('B', 'ILE', 150) with template
did not match ('B', 'ASP', 151) with template
did not match ('B', 'LYS', 152) with template
did not match ('B', 'PHE', 153) with template
did not match ('B', 'TRP', 154) with template
did not match ('B', 'LEU', 155) with template
did not match ('B', 'GLU', 156) with template
did not match ('B', 'GLY', 157) with template
did not match ('B', 'GLN', 158) with template
did not match ('B', 'LEU', 159) with template
did not match ('B', 'ARG', 160) with template
did not match ('B', 'ILE', 161) with template
did not match ('B', 'SER', 162) with template
did not match ('B', 'ALA', 163) with template
did not match ('B', 'VAL', 164) with template
did not match ('B', 'ASN', 165) with template
did not match ('B', 'GLN', 166) with template
did not match ('B', 'VAL', 167) with template
did not match ('B', 'GLU', 168) with template
did not match ('B', 'PHE', 169) with template
did not match ('B', 'LEU', 170) with template
did not match ('B', 'GLU', 171) with template
did not match ('B', 'SER', 172) with template
did not match ('B', 'LEU', 173) with template
did not match ('B', 'PHE', 174) with template
did not match ('B', 'LEU', 175) with template
did not match ('B', 'ASN', 176) with template
did not match ('B', 'LYS', 177) with template
did not match ('B', 'LEU', 178) with template
did not match ('B', 'SER', 179) with template
did not match ('B', 'ALA', 180) with template
did not match ('B', 'SER', 181) with template
did not match ('B', 'LYS', 182) with template
did not match ('B', 'GLU', 183) with template
did not match ('B', 'ASN', 184) with template
did not match ('B', 'GLN', 185) with template
did not match ('B', 'LEU', 186) with template
did not match ('B', 'ILE', 187) with template
did not match ('B', 'VAL', 188) with template
did not match ('B', 'LYS', 189) with template
did not match ('B', 'GLU', 190) with template
did not match ('B', 'ALA', 191) with template
did not match ('B', 'LEU', 192) with template
did not match ('B', 'VAL', 193) with template
did not match ('B', 'THR', 194) with template
did not match ('B', 'GLU', 195) with template
did not match ('B', 'ALA', 196) with template
did not match ('B', 'ALA', 197) with template
did not match ('B', 'PRO', 198) with template
did not match ('B', 'GLU', 199) with template
did not match ('B', 'TYR', 200) with template
did not match ('B', 'LEU', 201) with template
did not match ('B', 'VAL', 202) with template
did not match ('B', 'HIS', 203) with template
did not match ('B', 'SER', 204) with template
did not match ('B', 'LYS', 205) with template
did not match ('B', 'THR', 206) with template
did not match ('B', 'GLY', 207) with template
did not match ('B', 'PHE', 208) with template
did not match ('B', 'SER', 209) with template
did not match ('B', 'GLY', 210) with template
did not match ('B', 'VAL', 211) with template
did not match ('B', 'GLY', 212) with template
did not match ('B', 'THR', 213) with template
did not match ('B', 'GLU', 214) with template
did not match ('B', 'SER', 215) with template
did not match ('B', 'ASN', 216) with template
did not match ('B', 'PRO', 217) with template
did not match ('B', 'GLY', 218) with template
did not match ('B', 'VAL', 219) with template
did not match ('B', 'ALA', 220) with template
did not match ('B', 'TRP', 221) with template
did not match ('B', 'TRP', 222) with template
did not match ('B', 'VAL', 223) with template
did not match ('B', 'GLY', 224) with template
did not match ('B', 'TRP', 225) with template
did not match ('B', 'VAL', 226) with template
did not match ('B', 'GLU', 227) with template
did not match ('B', 'LYS', 228) with template
did not match ('B', 'GLY', 229) with template
did not match ('B', 'THR', 230) with template
did not match ('B', 'GLU', 231) with template
did not match ('B', 'VAL', 232) with template
did not match ('B', 'TYR', 233) with template
did not match ('B', 'PHE', 234) with template
did not match ('B', 'PHE', 235) with template
did not match ('B', 'ALA', 236) with template
did not match ('B', 'PHE', 237) with template
did not match ('B', 'ASN', 238) with template
did not match ('B', 'MET', 239) with template
did not match ('B', 'ASP', 240) with template
did not match ('B', 'ILE', 241) with template
did not match ('B', 'ASP', 242) with template
did not match ('B', 'ASN', 243) with template
did not match ('B', 'GLU', 244) with template
did not match ('B', 'ASN', 245) with template
did not match ('B', 'LYS', 246) with template
did not match ('B', 'LEU', 247) with template
did not match ('B', 'PRO', 248) with template
did not match ('B', 'LEU', 249) with template
did not match ('B', 'ARG', 250) with template
did not match ('B', 'LYS', 251) with template
did not match ('B', 'SER', 252) with template
did not match ('B', 'ILE', 253) with template
did not match ('B', 'PRO', 254) with template
did not match ('B', 'THR', 255) with template
did not match ('B', 'LYS', 256) with template
did not match ('B', 'ILE', 257) with template
did not match ('B', 'MET', 258) with template
did not match ('B', 'ALA', 259) with template
did not match ('B', 'SER', 260) with template
did not match ('B', 'GLU', 261) with template
did not match ('B', 'GLY', 262) with template
did not match ('B', 'ILE', 263) with template
did not match ('B', 'ILE', 264) with template
did not match ('B', 'GLY', 265) with template
did not match ('B', 'GLY', 266) with template
Error: residue HIS not in residue_params
residue HIS not in residue_params

I wanted to do covalent docking of the 1H5X PDB coded protein. I deleted the B chain of the protein with PyMOL, deleted the waters and HETATMs and ligands and saved it as protein.pdb. Since the ligand covalently docks with the residue SER67, I tried to show it as a reactive residue, but I got such an error.

I would really appreciate your help. Thank you!

rwxayheee commented 6 months ago

Hi @apaydinemre, If you get this error for all residues, your input PDB file might be missing hydrogens. There are many tools to add hydrogens. For 1H5X I was able to get it through using PDB2PQR. Choose the AMBER as the naming scheme, and "Add/keep chain IDs in the PQR file". Use the generated PQR file as the input PDB for mk_prepare_receptor.py.

Edit: If you followed the instructions, did you use WaterKit to protonate protein?

apaydinemre commented 6 months ago

Thank you so much. My problem is solved. I have one more question. I apologize for my inexperience.

mk_prepare_ligand.py -i ligand.sdf --reactive_smarts "C(C=O)" --reactive_smarts_idx 1 -o ligand.pdbqt

At this stage, I need to specify the reactive part of the ligand as I read and understand from the help section. When I examine it on PDBSum, it bonds with the C7 atom of the ligand. Do I need to specify the atom that binds as reactive smart and the ones next to it? I made two attempts. In the first attempt, I set "--reactive_smarts "C(C=O)C" --reactive_smarts_idx 1" but it bonded with the carbon atom next to the carbon atom I wanted it to bond with. The second time I tried "--reactive_smarts "C(C=O)" --reactive_smarts_idx 1" and this time it binds to a carbon in the aromatic group. How can I specify these parameters correctly?

Thank you!

rwxayheee commented 6 months ago

Hi @apaydinemre, Your smarts query might have multiple matches including the ones you don't want. I suggest to extend reactive_smarts so that your reactive head can be uniquely found, for example: --reactive_smarts "C(=O)CC(O)(C)" --reactive_smarts_idx 1 Does it work for you by chance?

apaydinemre commented 6 months ago

Yes, it is now connected to the correct carbon. Thank you very much for your help. Finally, just out of curiosity, what exactly does the parameter "--reactive_smarts_idx" mean here? If I want to do screening using reactive docking, do I have to manually set the "--reactive_smarts" and "--reactive_smarts_idx" parameters for each ligand in my library or is there an option to prepare them automatically? I would be very grateful if you could inform me. Thank you!

rwxayheee commented 6 months ago

Hi @apaydinemre

what does the parameter "--reactive_smarts_idx" mean here?

According the help message "--reactive_smarts_idx" is the index (1-based) of the reactive atom in the substructure that is found by "--reactive_smarts". For example, --reactive_smarts "C(=O)CC(O)(C)" --reactive_smarts_idx 1 means to form the covalent bond at the 1st C in C(=O)CC(O)(C).

If I want to do screening using reactive docking, do I have to manually set the "--reactive_smarts" and "--reactive_smarts_idx" parameters for each ligand in my library or is there an option to prepare them automatically?

Not entirely sure if any existing function in Meeko or related projects can do this. To dock a library of ligands covalently, the optimal --reactive_smarts might depend on how much your ligands resemble/differ from each other. But in general you would want one --reactive_smarts to ensure the match is unique in all ligands.

Is aldehyde warhead the focus of your project? Instead of extending the query, consider another --reactive_smarts that's more efficient and generic:

--reactive_smarts "[CH1](=O)" --reactive_smarts_idx 1

[CH1](=O) asks for a free aldehyde group, in which the C has exactly 1 hydrogen attached.

apaydinemre commented 6 months ago

I understand now. It could be a specific group, as you said. Thank you so much, for answering my questions and helping me.