Работа с некоторыми молекулами и реакциями.Я просто сталкиваюсь с тем, что хиральные центры в улыбках могут не обнаруживаться после применения реакций.
Что я получаю после применения некоторых реакций на молекулу, так это улыбка: C[C](C)[C]1[CH+]/C=C(\\C)CC/C=C(\\C)CC1
, которая на самом деле кажетсяимеют хиральный центр в углероде 3 [C]
.Если я использую Chem.FindMolChiralCenters(n,force=True,includeUnassigned=True)
, я получаю пустой список, который означает, что нет хирального центра.
Дело в том, что если я добавлю H к этому углероду 3, он станет [CH]
, он будет признан хиральным центромно с неназначенным типом (R или S).Я попытался добавить H, используя Chem.AddHs(mol)
, а затем повторить попытку Chem.FindMolChiralCenters()
, но не получил никакого хирального центра.
Мне было интересно, есть ли способ распознать этот хиральный центр, даже если они не добавлены Hи установить правильную киральную метку, следуя некоторым правилам.
После применения двух 1,2-гидридных сдвигов к моему начальному молю (Chem.MolFromSmiles('C/C1=C\\C[C@H]([C+](C)C)CC/C(C)=C/CC1'))
я получаю улыбки, упомянутые ранее. Поэтому, учитывая, что у меня был некоторый начальный хиралtag Я хочу знать, есть ли способ восстановить утраченную хиральность после реакций.
Смартов, используемых для сдвига 1,2-гидридов: [Ch:1]-[C+1:2]>>[C+1:1]-[Ch+0:2]
mol = Chem.MolFromSmiles('C/C1=C\\C[C@H]([C+](C)C)CC/C(C)=C/CC1')
rxn = AllChem.ReactionFromSmarts('[Ch:1]-[C+1:2]>>[C+1:1]-[Ch+0:2]')
products = list()
for product in rxn.RunReactant(mol, 0):
Chem.SanitizeMol(product[0])
products.append(product[0])
print(Chem.MolToSmiles(products[0]))
После применения этой реакции дважды ксозданный продукт, я в конечном итоге получаю эту улыбку.
Output:
'C[C](C)[C]1[CH+]/C=C(\\C)CC/C=C(\\C)CC1'
, где фактически находится хиральный центр в углероде 3
Есть идеи или я должен сообщить об этом как об ошибке?