Skip to content

How to generate the 3D SDF from the output? #1

Open

Description

@alexgcsa

Hello,

Congrats on this work. It is quite interesting.

I have some doubts on it. May you help me?
I was able to run the pre-trained models (checkpoints). A pickle is generated, but how to use this pickle to generate the SDF file for the particular molecule?

I noticed that a 2D molecule is generated in this pickle...How to include the conformers -- like an SDF -- so I can use the output 3D molecule?

Cheers,

Alex

Activity

  1. changed the title [-]How to generate the SDF from the output?[/-] [+]How to generate the 3D SDF from the output?[/+] on Aug 1, 2021
  2. federico-camerota commented on Aug 5, 2021

    @federico-camerota

    Hi @alexgcsa, I was able to modify the 'gen.py' script to output pdb files doing the following:

    from rdkit.Chem.rdmolfiles import  MolToPDBFile
    from rdkit.Chem.AllChem import EmbedMolecule
    
    out = solver.generate_samples_from_smiles(*args*)
    EmbedMolecule(out.rdmol, useRandomCoords=True)
    gen_mol = utils.set_rdmol_positions(out.rdmol, out.pos_gen[-1])
    MolToPDBFile(gen_mol, *output_filename*)
    

    where you should replace appropriately args and output_filename.
    If I understood properly the code, out.rdmol is the rdkit mol built from the smiles string.
    While out.pos_gen are the generated atom positions.

    According to the rdkit documentation, you should be able to write into sdf replacing the last line with:

    writer = SDWriter('out.sdf')
    writer.write(gen_mol)
    

    If you want to write the pkl into sdf, it should be enough to do:
    out = pickle.load(*pkl_file*)

    Hope you find this helpful :)

    P.S. If you find any error in my solution, please let me know

  3. alexgcsa commented on Aug 7, 2021

    @alexgcsa
    Author

    Thank you @federico-camerota , I will test your solution today.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions