Thank you so much for your help. I managed to convert most of the molecules
from 2D to 3D, but no matter which ETKDG version, which embedding parameter
I try, I cannot convert these two molecules; ZINC000101210593,
ZINC000196058327. Is there an alternative feature or method I can try? I
would be grateful if you could help me. Thank you!

He, Amy <he.1...@buckeyemail.osu.edu>, 11 Oca 2024 Per, 01:58 tarihinde
şunu yazdı:

> Hi Emre!
>
>
>
> You can get more detailed info on failed conformer generations through
> *rdDistGeom.EmbedFailureCauses*, see:
>
>
> https://greglandrum.github.io/rdkit-blog/posts/2023-05-17-understanding-confgen-errors.html
>
>
>
> Bests,
>
>
>
>
>
> --
>
> Amy He
>
> Hadad Lab @ OSU
>
> he.1...@osu.edu
>
>
>
> *From: *Emre Apaydın <emreapaydin1...@gmail.com>
> *Date: *Wednesday, January 10, 2024 at 8:47 AM
> *To: *rdkit-discuss@lists.sourceforge.net <
> rdkit-discuss@lists.sourceforge.net>
> *Subject: *[Rdkit-discuss] Ligand conversion problem from 2D to 3D
>
> Hello, I want to convert the 2D ligands I downloaded as sdf format from
> the ZINC library to 3D, but almost half of them are not converted to 3D.
> Some of them are; ZINC000008214373, ZINC000001530666, ZINC000085545180. 208
> ligands are not converted
>
> Hello,
>
>
>
> I want to convert the 2D ligands I downloaded as sdf format from the ZINC
> library to 3D, but almost half of them are not converted to 3D. Some of
> them are; ZINC000008214373, ZINC000001530666, ZINC000085545180. 208 ligands
> are not converted to 3D in this way. When I run the script, I do not get
> any warning or error in IDE. When I look at the output of my Try, Except
> commands, I see "ZINC000008214373.sdf : rdDistGeom.EmbedMolecule(mol,
> etkdgv3) = Failed
> ZINC000008214373.sdf : rdForceFieldHelpers.UFFOptimizeMolecule(mol) =
> Failed" It outputs like this for ligands that are not translated to 3D.
> When I try different methods, the ligands are converted to 3D. I wonder if
> there is something missing or wrong with my script. I would be grateful if
> you can help me.
>
>
>
> Thank you!
>
>
> ```
> from rdkit import Chem
> from rdkit.Chem import rdDistGeom
> from rdkit.Chem import rdForceFieldHelpers
> from rdkit.Chem import rdPartialCharges
> import os
>
> ligands_dir = "ligands"
> output_dir = "new_ligands"
> status_file = "process_status.txt"
>
> if not os.path.exists(output_dir):
>     os.makedirs(output_dir)
>
> sdf_files = [f for f in os.listdir(ligands_dir) if f.endswith(".sdf")]
>
> with open(status_file, 'w') as status:
>     for sdf_file in sdf_files:
>         input_path = os.path.join(ligands_dir, sdf_file)
>         output_path = os.path.join(output_dir, sdf_file)
>         mol = Chem.MolFromMolFile(input_path)
>
>         # Add hydrogens
>         try:
>             mol = Chem.AddHs(mol, addCoords=True)
>         except:
>             status.write(f"{sdf_file} : Chem.AddHs(mol) = Failed\\n")
>             continue
>
>         # 3D embedding
>         etkdgv3 = rdDistGeom.ETKDGv3()
>         embed_status = rdDistGeom.EmbedMolecule(mol, etkdgv3)
>         if embed_status == -1:
>             status.write(f"{sdf_file} : rdDistGeom.EmbedMolecule(mol,
> etkdgv3) = Failed\\n")
>
>         # Compute Gasteiger charges
>         try:
>             rdPartialCharges.ComputeGasteigerCharges(mol)
>         except:
>             status.write(f"{sdf_file} :
> rdPartialCharges.ComputeGasteigerCharges(mol) = Failed\\n")
>
>         # UFF energy minimization
>         try:
>             rdForceFieldHelpers.UFFOptimizeMolecule(mol)
>         except:
>             status.write(f"{sdf_file} :
> rdForceFieldHelpers.UFFOptimizeMolecule(mol) = Failed\\n")
>
>         Chem.MolToMolFile(mol, output_path)
> ```
>
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to