Есть ли способ модификации молекулы в RDKit?

#chemistry #rdkit #molecule

#химия #rdkit #молекула

Вопрос:

У меня есть разветвленная молекула, точно такая же, как на изображении (слева).

Я хочу добавить COOH в конце каждой ветви, как изображение (справа)

Изображение

Вот формат СМАЙЛОВ моей молекулы в упрощенном виде с 4 ветвями.

 [N:1]([CH2:2][CH2:3][N:4]([CH2:47][CH2:48][CH:49]([NH:50][CH2:51][CH2:52][NH2:53])[O-:55])[CH2:66][CH2:67][CH:68]([NH:69][CH2:70][CH2:71][NH2:72])[O-:74])([CH2:9][CH2:10][CH:11]([NH:12][CH2:13][CH2:14][NH2:15])[O-:17])[CH2:28][CH2:29][CH:30]([NH:31][CH2:32][CH2:33][NH2:34])[O-:36]  

На самом деле у меня гораздо большая молекула, но если я смогу найти способ сделать это с помощью простой молекулы, я думаю, что смогу распространить решение на более крупную.

Вот пример кода

 mod_mol = Chem.ReplaceSubstructs(m,   Chem.MolFromSmiles('[NH2:34]'),   Chem.MolFromSmiles('[CH2:99]'),  replaceAll=True) mod_mol[0]  

например, я попытался изменить NH2 на CH2, но ничего не произошло.

Комментарии:

1. В сообщении формат СМАЙЛОВ вставлен неправильно. Вот оно[N:1]([CH2:2][CH2:3][N:4]([CH2:47][CH2:48][CH:49]([NH:50][CH2:51][CH2:52][NH2:53])[O-:55])[CH2:66][CH2:67][CH:68]([NH:69][CH2:70][CH2:71][NH2:72])[O-:74])([CH2:9][CH2:10][CH:11]([NH:12][CH2:13][CH2:14][NH2:15])[O-:17])[CH2:28][CH2:29][CH:30]([NH:31][CH2:32][CH2:33][NH2:34])[O-:36]

2. Пожалуйста, добавьте информацию к вашему вопросу, нажав на edit кнопку, не публикуйте исправления/дополнения к вашему вопросу в комментариях

3. Ты пробовал Chem.ReplaceSubstructs() ?

4. я попытался последовать вашему совету, но получил ошибку. ArgumentError: Типы аргументов Python в rdkit.Chem.rdmolops.ReplaceSubstructs(Mol, NoneType, Mol) не соответствуют сигнатуре C :

5. @AykutElmas, похоже, это то, что вы используете. Не могли бы вы, пожалуйста, указать пример кода в своем вопросе. Для меня ReplaceSubstructs это работает.