Dear community, I just found out that adding hydrogens to hydrochloride to later embed it and use MMFF force field results on a force field that is not set up (convergency = -1): m = Chem.MolFromSmiles('Cc1ccccc1NC(=O)Cl.Cl') m = Chem.AddHs(m) AllChem.EmbedMultipleConfs(m, numConfs=5, useRandomCoords=True, randomSeed=43, maxAttempts=5000) res1 = AllChem.MMFFOptimizeMoleculeConfs(m, ignoreInterfragInteractions= False) print(res1)
On the other hand, if hydrogens are already provided in the smiles (without having to add hydrogens) works. I think this is a bug since it does not happen with other simple molecules such as water. m2 = Chem.MolFromSmiles('[H]Cl.[H]c1c([H])c([H])c(C([H])([H])[H])c(N([H])C(=O)Cl)c1[H]') AllChem.EmbedMultipleConfs(m2, numConfs=5, useRandomCoords=True, randomSeed=43, maxAttempts=5000) res2 = AllChem.MMFFOptimizeMoleculeConfs(m2, ignoreInterfragInteractions= False) print(res2) One way of solving this is by 1) getting the mol from smiles without hydrogens, 2) adding hydrogens to the mol, 3) going back to smiles (now with hydrogens), 4) getting a mol from smiles with hydrogens. It works, but it should not be solved like that. m3= Chem.MolFromSmiles('Cc1ccccc1NC(=O)Cl.Cl') m3= Chem.AddHs(m3) m3 = Chem.MolToSmiles(m3) print("now it has Hs", m3) m3= Chem.MolFromSmiles(m3) AllChem.EmbedMultipleConfs(m3, numConfs=5, useRandomCoords=True, randomSeed=43, maxAttempts=5000) res3 = AllChem.MMFFOptimizeMoleculeConfs(m3, ignoreInterfragInteractions= False) print(res3) Is there some other place to report this kind of stuff? Best regards, Pablo Ramos Ph.D. at Covestro Deutschland AG [cid:image001.png@01D77801.4B425DE0] covestro.com<http://www.covestro.com/> Telephone +49 214 6009 7356 Covestro Deutschland AG COVDEAG-Chief Commer-PUR-R&D-EMEA-PMD B103, R164 51365 Leverkusen, Germany pablo.ra...@covestro.com<mailto:pablo.ra...@covestro.com>
_______________________________________________ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss