In [1]:
from rdkit import Chem
from rdkit.Chem import AllChem
from rdkit import RDConfig
from rdkit.Chem.Draw import IPythonConsole 
from rdkit.Chem import Draw
import numpy as np
from IPython.display import display,Image

Молекула ибупрофена

In [2]:
def mol_view(smile_mol):
    tmp=Chem.MolFromSmiles(smile_mol)
    AllChem.Compute2DCoords(tmp)
    display(tmp)
    
In [3]:
ibu=Chem.MolFromSmiles('CC(C)CC1=CC=C(C=C1)C(C)C(=O)O')
In [4]:
ibu
Out[4]:

Посчитаем параметры для правила Липински

In [5]:
import rdkit.Chem.Lipinski as Lipinksy
print Lipinksy.NumHDonors(ibu)
print Lipinksy.NumHAcceptors(ibu)
print Lipinksy.rdMolDescriptors.CalcExactMolWt(ibu)
print Lipinksy.rdMolDescriptors.CalcCrippenDescriptors(ibu)[0]
1
1
206.130679816
3.0732

На сайте PubChem были найдены все радикалы c азидом. Нам нужны только те молекулы, в которых азид не находится в середине. С помощью записи smiles [N-]=[N+]=[N-&!R] было найдено 131963 молекул (3330820215940710764.txt).

Загрузим скачанные данные и отфильтруем. (Сначала загрузила результаты поиска PubChem на сервер, в конце рабоы удалила)

In [6]:
smiles=[]
strings=np.genfromtxt('/home/shad/download/azides.txt',dtype=np.str)

for line in strings:
    if len(line[1]) < 30 and not '.' in line[1]:
        smiles.append(line[1])

Сколько же получилось соединений после фильтрации?

In [7]:
len(smiles)
Out[7]:
11248

С помощью редактирования smiles заменяем в ибупрофене изопропил на ацетилен. Такая модификация позволит провести азид-алкиновое циклоприсоединение.

In [8]:
ibu_mod='C#CCC1=CC=C(C=C1)C(C)C(=O)O'
mol_view(ibu_mod)

Модифицируем молекулу ибупрофена таким образом, чтобы с помощью функции replace имитировать "клик-химическую" реакцию. Возможно 2 изомера молекулы.

In [9]:
template1='N1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O'
mol_view(template1)
In [10]:
template2='N1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O'
mol_view(template2)
In [11]:
def new_ibu(v_smiles,mol,template):
    approved=[]
    for smi in v_smiles:

        if mol in smi:
            
            newsmi=smi.replace(mol,template)
            
            try:
                test_smi = Chem.MolFromSmiles(newsmi)
                HD=Lipinksy.NumHDonors(test_smi)
                HA=Lipinksy.NumHAcceptors(test_smi)
                MolWt=Lipinksy.rdMolDescriptors.CalcExactMolWt(test_smi)
                logP=Lipinksy.rdMolDescriptors.CalcCrippenDescriptors(test_smi)[0]
                if (HD <= 5 and HA <= 10 and MolWt < 500 and logP <= 5):
                    approved.append(newsmi)
            except:
                continue
    return(approved)
In [12]:
IB1=new_ibu(smiles,'N=[N+]=[N-]',template1)
RDKit ERROR: [22:41:18] SMILES Parse Error: extra open parentheses for input: 'C1=C(C(=C(N1)N1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:18] Explicit valence for atom # 4 Cl, 3, is greater than permitted
RDKit ERROR: [22:41:20] SMILES Parse Error: extra open parentheses for input: 'CC1=C(C=CC(=C1CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:20] SMILES Parse Error: extra open parentheses for input: 'CC(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(COC(=O)CCCC'
RDKit ERROR: [22:41:20] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=C(C=C1N1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:20] SMILES Parse Error: extra open parentheses for input: 'CC1C=C(C=CC1OCN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C(C'
RDKit ERROR: [22:41:20] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=C(C=C1N1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:21] SMILES Parse Error: extra open parentheses for input: 'CC1=NC(=C(C(=C1)N1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:21] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=CC=C1C(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:21] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=CC=C1C(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:21] SMILES Parse Error: extra open parentheses for input: 'CCOC(=O)C(CCN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:21] SMILES Parse Error: extra open parentheses for input: 'CCOC(=O)C(CCCN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(CC'
RDKit ERROR: [22:41:21] SMILES Parse Error: extra open parentheses for input: 'C1=C(C=C(C=C1N1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:22] SMILES Parse Error: extra open parentheses for input: 'CC(CCC(=O)OCCN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:22] SMILES Parse Error: extra open parentheses for input: 'CC1=C(C(C(C(C1N1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:22] SMILES Parse Error: extra open parentheses for input: 'C1=CC(C(C(C1N1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:22] SMILES Parse Error: extra open parentheses for input: '[B](N1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)[P+](CS'
RDKit ERROR: [22:41:22] SMILES Parse Error: extra open parentheses for input: 'C1CC([C@@H](CC1CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:22] SMILES Parse Error: extra open parentheses for input: 'CC(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:22] SMILES Parse Error: extra open parentheses for input: 'C1=C(N(C(=N1)CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:22] SMILES Parse Error: extra open parentheses for input: 'CC(CCC(=O)OCCCN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:22] SMILES Parse Error: extra open parentheses for input: 'CCC(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(/C(=C/C'
RDKit ERROR: [22:41:22] SMILES Parse Error: extra open parentheses for input: 'CC(CCCCCN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:22] SMILES Parse Error: extra open parentheses for input: 'CC(CCCCCN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:23] SMILES Parse Error: extra open parentheses for input: 'CC1=C(C=CC(=C1N1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:23] SMILES Parse Error: extra open parentheses for input: 'C1CC(CCC1N1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(CC'
RDKit ERROR: [22:41:23] SMILES Parse Error: extra open parentheses for input: 'CC(CCC(=O)OCCCN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:23] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=C(C=C1N1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:23] SMILES Parse Error: extra open parentheses for input: 'CC1=NC(=C(C(=C1)N1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:24] SMILES Parse Error: extra open parentheses for input: 'CC=CC(CCN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:24] SMILES Parse Error: extra open parentheses for input: 'CCC=CC(CCN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:24] SMILES Parse Error: extra open parentheses for input: 'CCC=CC(CCCN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:24] SMILES Parse Error: extra open parentheses for input: 'C(CNC(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:24] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=CC=C1NC(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:24] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=CC=C1NC(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:24] SMILES Parse Error: extra open parentheses for input: 'C(CNC(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:24] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=CC=C1NC(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:26] SMILES Parse Error: extra open parentheses for input: 'C(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)CN(CC'
RDKit ERROR: [22:41:27] Explicit valence for atom # 1 Cl, 2, is greater than permitted
RDKit ERROR: [22:41:28] SMILES Parse Error: extra open parentheses for input: 'CC1=CC(=C(C(=C1)N1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:28] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=C(C=C1CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:28] SMILES Parse Error: extra open parentheses for input: 'CC(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)CN1CCC(CC1)(C'
RDKit ERROR: [22:41:28] SMILES Parse Error: extra open parentheses for input: 'C1=C(N=C(C(=N1)N1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:29] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=C(C=C1CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:30] SMILES Parse Error: extra open parentheses for input: 'CC(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:30] SMILES Parse Error: extra open parentheses for input: 'CC/C=C/CCC(CCN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:30] SMILES Parse Error: extra open parentheses for input: 'CC(=CCC(CCN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:30] SMILES Parse Error: extra open parentheses for input: 'C/C=C/CC(CCN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:30] SMILES Parse Error: extra open parentheses for input: 'CCC(CCCN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:30] SMILES Parse Error: extra open parentheses for input: 'CCC(CCN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:30] SMILES Parse Error: extra open parentheses for input: 'C[Si](C)(C)OC(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:30] SMILES Parse Error: extra open parentheses for input: 'CC/C=C\CCC(CCN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:30] SMILES Parse Error: extra open parentheses for input: 'CC(=CCC(CCCN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:30] SMILES Parse Error: extra open parentheses for input: 'C(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)[C@@H](C'
RDKit ERROR: [22:41:31] SMILES Parse Error: extra open parentheses for input: 'COC[C@@](CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:31] SMILES Parse Error: extra open parentheses for input: 'C(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)CO/C(=C/[N+]'
RDKit ERROR: [22:41:31] SMILES Parse Error: extra open parentheses for input: 'C(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)CO/C(=C/[N+]'
RDKit ERROR: [22:41:31] SMILES Parse Error: extra open parentheses for input: 'C1=C(C=NC(=C1N1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:31] SMILES Parse Error: extra open parentheses for input: 'C(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)COC(=C[N+]'
RDKit ERROR: [22:41:31] SMILES Parse Error: extra open parentheses for input: 'C(CN1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O)COC(=C[N+]'
In [13]:
len(IB1)
Out[13]:
7561

Всего получилась 7561 молекула для одного изомера

Отобразим 20 первых полученных аналогов ибупрофена для 1,4 изомера

In [14]:
for i in IB1[:20]:
    mol_view(i)
In [15]:
IB2=new_ibu(smiles,'N=[N+]=[N-]',template2)
RDKit ERROR: [22:41:32] SMILES Parse Error: extra open parentheses for input: 'C1=C(C(=C(N1)N1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:32] Explicit valence for atom # 4 Cl, 3, is greater than permitted
RDKit ERROR: [22:41:34] SMILES Parse Error: extra open parentheses for input: 'CC1=C(C=CC(=C1CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:34] SMILES Parse Error: extra open parentheses for input: 'CC(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(COC(=O)CCCC'
RDKit ERROR: [22:41:34] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=C(C=C1N1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:34] SMILES Parse Error: extra open parentheses for input: 'CC1C=C(C=CC1OCN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C(C'
RDKit ERROR: [22:41:34] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=C(C=C1N1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:35] SMILES Parse Error: extra open parentheses for input: 'CC1=NC(=C(C(=C1)N1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:35] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=CC=C1C(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:35] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=CC=C1C(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:35] SMILES Parse Error: extra open parentheses for input: 'CCOC(=O)C(CCN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:35] SMILES Parse Error: extra open parentheses for input: 'CCOC(=O)C(CCCN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(CC'
RDKit ERROR: [22:41:35] SMILES Parse Error: extra open parentheses for input: 'C1=C(C=C(C=C1N1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:36] SMILES Parse Error: extra open parentheses for input: 'CC(CCC(=O)OCCN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:36] SMILES Parse Error: extra open parentheses for input: 'CC1=C(C(C(C(C1N1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:36] SMILES Parse Error: extra open parentheses for input: 'C1=CC(C(C(C1N1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:36] SMILES Parse Error: extra open parentheses for input: '[B](N1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)[P+](CS'
RDKit ERROR: [22:41:36] SMILES Parse Error: extra open parentheses for input: 'C1CC([C@@H](CC1CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:36] SMILES Parse Error: extra open parentheses for input: 'CC(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:36] SMILES Parse Error: extra open parentheses for input: 'C1=C(N(C(=N1)CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:36] SMILES Parse Error: extra open parentheses for input: 'CC(CCC(=O)OCCCN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:36] SMILES Parse Error: extra open parentheses for input: 'CCC(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(/C(=C/C'
RDKit ERROR: [22:41:36] SMILES Parse Error: extra open parentheses for input: 'CC(CCCCCN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:36] SMILES Parse Error: extra open parentheses for input: 'CC(CCCCCN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:37] SMILES Parse Error: extra open parentheses for input: 'CC1=C(C=CC(=C1N1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:37] SMILES Parse Error: extra open parentheses for input: 'C1CC(CCC1N1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(CC'
RDKit ERROR: [22:41:37] SMILES Parse Error: extra open parentheses for input: 'CC(CCC(=O)OCCCN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:37] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=C(C=C1N1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:37] SMILES Parse Error: extra open parentheses for input: 'CC1=NC(=C(C(=C1)N1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:38] SMILES Parse Error: extra open parentheses for input: 'CC=CC(CCN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:38] SMILES Parse Error: extra open parentheses for input: 'CCC=CC(CCN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:38] SMILES Parse Error: extra open parentheses for input: 'CCC=CC(CCCN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:38] SMILES Parse Error: extra open parentheses for input: 'C(CNC(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:38] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=CC=C1NC(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:38] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=CC=C1NC(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:38] SMILES Parse Error: extra open parentheses for input: 'C(CNC(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:38] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=CC=C1NC(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:40] SMILES Parse Error: extra open parentheses for input: 'C(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)CN(CC'
RDKit ERROR: [22:41:41] Explicit valence for atom # 1 Cl, 2, is greater than permitted
RDKit ERROR: [22:41:42] SMILES Parse Error: extra open parentheses for input: 'CC1=CC(=C(C(=C1)N1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:42] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=C(C=C1CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:42] SMILES Parse Error: extra open parentheses for input: 'CC(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)CN1CCC(CC1)(C'
RDKit ERROR: [22:41:42] SMILES Parse Error: extra open parentheses for input: 'C1=C(N=C(C(=N1)N1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:43] SMILES Parse Error: extra open parentheses for input: 'C1=CC(=C(C=C1CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:44] SMILES Parse Error: extra open parentheses for input: 'CC(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:44] SMILES Parse Error: extra open parentheses for input: 'CC/C=C/CCC(CCN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:44] SMILES Parse Error: extra open parentheses for input: 'CC(=CCC(CCN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:44] SMILES Parse Error: extra open parentheses for input: 'C/C=C/CC(CCN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:44] SMILES Parse Error: extra open parentheses for input: 'CCC(CCCN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:44] SMILES Parse Error: extra open parentheses for input: 'CCC(CCN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:44] SMILES Parse Error: extra open parentheses for input: 'C[Si](C)(C)OC(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:44] SMILES Parse Error: extra open parentheses for input: 'CC/C=C\CCC(CCN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:44] SMILES Parse Error: extra open parentheses for input: 'CC(=CCC(CCCN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:44] SMILES Parse Error: extra open parentheses for input: 'C(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)[C@@H](C'
RDKit ERROR: [22:41:45] SMILES Parse Error: extra open parentheses for input: 'COC[C@@](CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)(C'
RDKit ERROR: [22:41:45] SMILES Parse Error: extra open parentheses for input: 'C(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)CO/C(=C/[N+]'
RDKit ERROR: [22:41:45] SMILES Parse Error: extra open parentheses for input: 'C(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)CO/C(=C/[N+]'
RDKit ERROR: [22:41:45] SMILES Parse Error: extra open parentheses for input: 'C1=C(C=NC(=C1N1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)C'
RDKit ERROR: [22:41:45] SMILES Parse Error: extra open parentheses for input: 'C(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)COC(=C[N+]'
RDKit ERROR: [22:41:45] SMILES Parse Error: extra open parentheses for input: 'C(CN1N=NC=C1CC1=CC=C(C=C1)C(C)C(=O)O)COC(=C[N+]'

Нарисуем 20 аналогов ибупрофена (1,5 изомер)

In [16]:
for i in IB2[20:40]:
    mol_view(i)
In [17]:
from rdkit.Chem import rdmolops
In [18]:
m=Chem.MolFromSmiles(IB1[1])
m3d=Chem.AddHs(m)
In [19]:
Chem.AllChem.EmbedMolecule(m3d)
AllChem.MMFFOptimizeMolecule(m3d,maxIters=500,nonBondedThresh=200 )
Out[19]:
0
In [20]:
import nglview as nv

Покажем первую конформацию 3D:
'C1=CNN(N=C1)N1N=NC(=C1)CC1=CC=C(C=C1)C(C)C(=O)O'

In [23]:
nv.show_rdkit(m3d)

Поскольку в html объект не отображается, был сделан print screen.

In [26]:
from IPython.display import Image
Image("/home/shad/download/help-kon.png")
Out[26]:
In [ ]: