diff --git a/structural/molecule.py b/structural/molecule.py index 6a3569c..a7e0995 100644 --- a/structural/molecule.py +++ b/structural/molecule.py @@ -512,6 +512,19 @@ def get_molecule_infos_from_smiles_with_batched_conformers(smiles, number_of_con enforceChirality=True, numThreads=-1) + number_of_conformers_ = number_of_conformers + while m.GetNumConformers() < number_of_conformers: + number_of_conformers_ *= 2 + AllChem.EmbedMultipleConfs( + m, + numConfs=number_of_conformers_, + maxAttempts=max_attempts, + pruneRmsThresh=.1, + useExpTorsionAnglePrefs=True, + useBasicKnowledge=True, + enforceChirality=True, + numThreads=-1) + if addhs_in_post and add_hs: m = Chem.AddHs(m, addCoords=True, ) for i in range(number_of_conformers): @@ -1115,4 +1128,4 @@ def crippen_multi(sdf_file, smiles, num_conf=50, add_hs=True, iterations=50, max (score, rmsd, trans) = p2p_alignment(smiles_mol, sdf_mol, iterations=iterations) Chem.rdMolTransforms.TransformConformer(smiles_mol.GetConformer(0), trans) molinfo = MoleculeInfo.from_molblock(Chem.MolToMolBlock(smiles_mol), smiles) - yield (score, rmsd, trans), molinfo \ No newline at end of file + yield (score, rmsd, trans), molinfo