Hi, I am trying to append (update) a pandas dataframe (created by Pnadatools 
from a CSV file) with potential stereoisomers for each molecule in the 
dataframe.My understanding is that the EnumerateStereoisomers function returns 
a generator that I can loop through and use the mol object (or smiles created 
using the Chem.MolToSmiles function) to create new rows and then append this 
row to the end of the data frame, I tried the following code but nothing is 
appended:
from rdkit.Chem.EnumerateStereoisomers import EnumerateStereoisomers, 
StereoEnumerationOptions
def generate_Stereoisomers(x):    opts = 
StereoEnumerationOptions(tryEmbedding=True)    isomers = 
tuple(EnumerateStereoisomers(x, options=opts))    return isomers
input_smiles_df["stereo_isomers"] = 
input_smiles_df["Cannonical_tautomer"].apply(lambda m:generate_Stereoisomers(m))

for index, row in input_smiles_df.iterrows():                        
isomers_list = row["stereo_isomers"]                        print("Number of 
stereoisomer is: ", len(isomers_list))  ##This line always gives 1 back, 
although the molecules have many stereocenters                         for smi 
in sorted(rdkit.Chem.MolToSmiles(x,isomericSmiles=True) for x in isomers_list): 
                            print(smi)                                 new_row 
= {'Cannonical_tautomer':None, id_col_name:str(row[id_col_name]),\              
          smiles_col_name:row[smiles_col_name], 'standardized_smiles':smi,\     
                       'num_stereo_isomers':row["num_stereo_isomers"]}          
                       input_smiles_df.append(new_row,ignore_index=True)
   Any suggestion ?
Thanks
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to