rdkit Kekulize
rdkit 会在KeKulize的时候清除键上的芳香环信息,但是输出smiles重新导入后会恢复该信息
mol = Chem.MolFromSmiles('c1ccccc1')
Chem.Kekulize(mol,False)
print(mol.GetBondWithIdx(0).GetIsAromatic()) # True
print(Chem.MolToSmiles(mol)) # c1ccccc1
Chem.Kekulize(mol,True)
print(mol.GetBondWithIdx(0).GetIsAromatic()) # False
new_smiles = Chem.MolToSmiles(mol)
print(new_smiles ) # C1=CC=CC=C1
mol = Chem.MolFromSmiles(new_smiles)
print(mol.GetBondWithIdx(0).GetIsAromatic()) # True
print(Chem.MolToSmiles(mol)) # c1ccccc1
附录:

浙公网安备 33010602011771号