The following code changes the bond order correctly but does not change the 
charges accordingly

Any idea what I am doing wrong?

Thanks, Jan

def clean_charges(mol):
    rxn_smarts = ['[N+:1]=[*:2]-[O-:3]>>[N:1]-[*:2]=[O:3]']
    for smarts in rxn_smarts:
        rxn = AllChem.ReactionFromSmarts(smarts)
        ps = rxn.RunReactants((mol,))
        for x in ps:
            mol = x[0]
    return mol

mol = Chem.MolFromSmiles("C[NH+]=C(C)[O-]")

mol = clean_charges(mol)
print Chem.MolToSmiles(mol)
Check out the vibrant tech community on one of the world's most
engaging tech sites,!
Rdkit-discuss mailing list

Reply via email to