mordred-descriptor/mordred

View on GitHub
extra/gen_sdf_file.py

Summary

Maintainability
A
0 mins
Test Coverage
import os

from rdkit.Chem import AllChem as Chem

BASE = os.path.join(
    os.path.dirname(__file__),
    '..', 'mordred', 'tests', 'references'
)


def main():
    smi = os.path.join(BASE, 'structures.smi')
    sdf = os.path.join(BASE, 'structures.sdf')

    writer = Chem.SDWriter(sdf)
    for line in open(smi):
        smi, name = line.strip().split()
        print(name)
        mol = Chem.AddHs(Chem.MolFromSmiles(smi))
        mol.SetProp('_Name', name)

        Chem.EmbedMolecule(mol, randomSeed=23216)
        while Chem.MMFFOptimizeMolecule(mol) == 1:
            pass

        writer.write(mol)
        writer.flush()


if __name__ == '__main__':
    main()