-
Notifications
You must be signed in to change notification settings - Fork 51
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
None type Issue When Running mk_prepare_ligand.py #268
Comments
Atom types are assigned with SMARTS patters and RDKit's default maximum of substructure matches is 1000. Your molecule is very large at over 3000 atoms and some did not get typed. Fixed in #270. The molecule has two fragments: newer versions of meeko will raise an error for that (you should update to 0.6.1). I'm curious: why are treating that molecule as a ligand instead of as a receptor? |
Hi @diogomart, Thanks for the information and the fix! I’m preparing a set of aptamers, which are usually the smaller ones, so I should definitely reconsider treating them as the ligand. Regarding the multiple fragments, how should I handle that? Should I just keep one of them in the SDF? Also, how does the current version of Meeko handle this? Does it silently prepare only the first or largest fragment? |
Hi @hezhizhang-269 Meeko doesn't silently prepare only the first fragment. It raises an error like this if the input ligand contains two fragments:
This is because the current flexibility model for ligand allows only one ROOT per ligand. |
Hi @rwxayheee, Thank you so much for pointing this out! It looks like I carelessly removed the AP7 residue while attempting to remove the ZN HETATM. I appreciate you catching that oversight on my part. Also, I’m sorry for any confusion I caused earlier. Could you clarify what Meeko 0.5.0 specifically does in this context? I'm trying to understand its role better. Thanks again for your help! |
I'm not sure if I fully understand the question, so please feel free to comment if this doesn't address your question:
Let us know if you need any further assistance! |
Hi @rwxayheee, Thank you so much for your detailed explanation! I’ve been reflecting on past circumstances where I observed my PDBQT files being significantly smaller than the original PDB or SDF files. At the time, I thought this might have been caused by multiple fragments in the input file for Meeko. This led me to wonder if Meeko 0.5.0 might silently prepare only one fragment from the input file. I also really appreciate you addressing my question about Open Babel. My goal is to perform docking as efficiently and accurately as possible. While flexible docking using mk_prepare_ligand.py achieves the best performance (even though I’ve made some mistakes in certain cases as you can tell), it can take too long for larger PDB complexes. Could you elaborate a bit more on how to perform rigid docking using Meeko? I’ve noticed that the "flexible" ligand PDBQT files I generate with Meeko usually include a pair of ROOT and ENDROOT encapsulating the first few atoms in the file, along with multiple BRANCH and ENDBRANCH entries. How should I modify these files to make the ligand rigid? Thank you again for your insights and support! |
Hi @hezhizhang-269 I think mk_prepare_receptor.py could be used, in your case, to prepare a rigid ligand. Especially if by any chance you wish to have multiple fragments (having some gaps in the aptamers), the only possible way right now is to put both fragments into the same ROOT. A rigid ligand has no flexible BRANCHES, which means all atoms will be in ROOT, and the atom section can come from a receptor PDBQT file, a rigid macromolecule with Q (charge) and T (atom type) but no flexibility model. Here's how I would prepare the RNA part of 1U6P into a rigid ligand PDBQT:
Command:
|
Hi @rwxayheee, Thank you for the clarification and detailed explanation! I really appreciate your insights, and I’ll definitely try your suggested approach with mk_prepare_receptor.py after upgrading. I’ll go ahead and close the issue now. Thanks again for your support! |
Hello,
I encountered an error when running
mk_prepare_ligand.py
to process an .sdf file. While attempting to generate a .pdbqt file, several atoms in the molecule were reported as having None type, preventing the script from completing the .pdbqt file generation.This is the largest ligand I have ever processed using mk_prepare_ligand.py. I am wondering if the issue might be related to the ligand's size exceeding the maximum number of atoms that Meeko can handle. Could this limitation be causing the atoms to be flagged as None during processing?
The input .sdf file is attached here 1u6p_aptamer_Model_1_with_heterogeneous_atoms_removedH_h_added.sdf.txt.
The command I used to run the script and the outputs were as follows:
I would greatly appreciate any guidance or recommendations you could provide.
The text was updated successfully, but these errors were encountered: