Kodomo

Пользователь

Учебная страница курса биоинформатики,
год поступления 2013

Хемоинформатика

lecture : http://kodomo.fbb.msu.ru/~golovin/l2.pdf

Цель занятия используя пакет моудлей RDkit предложить аналог ибупрофена :

Подсказки:

   1 export PATH="/home/preps/golovin/miniconda2/bin:$PATH"
   2 source activate root

   1 /home/preps/golovin/miniconda2/bin/jupyter-notebook --no-browser

plink -ssh -L  8888:localhost:XXXX ivanov@kodomo.cmm.msu.ru

   1 from rdkit import Chem
   2 from rdkit.Chem import AllChem
   3 from rdkit import RDConfig
   4 from rdkit.Chem.Draw import IPythonConsole 
   5 from rdkit.Chem import Draw
   6 import numpy as np
   7 from IPython.display import display,Image

   1 ibu=Chem.MolFromSmiles('CC(C)CC1=CC=C(C=C1)C(C)C(=O)O')
   2 AllChem.Compute2DCoords(ibu)
   3 display(ibu)

   1 import rdkit.Chem.Lipinski as Lipinksy
   2 print Lipinksy.NumHDonors(ibu)
   3 print Lipinksy.NumHAcceptors(ibu)
   4 print Lipinksy.rdMolDescriptors.CalcExactMolWt(ibu)
   5 print Lipinksy.rdMolDescriptors.CalcCrippenDescriptors(ibu)[0]

   1 strings=np.genfromtxt('2515324818764782706.txt',dtype=np.str)
   2 
   3 for line in strings:
   4     if len(line[1]) < 30 and not '.' in line[1]:
   5         smiles  append line[1]

   1 for smi in smiles[:1500]:
   2     
   3     if азид  in smi:
   4         newsmi=smi.replace('N=[N+]=[N-]',template)
   5     else:
   6         continue
   7    
   8 # Новую молекулу лучше создавать в try из-за битых  Smiles
   9     try:
  10         newmol=Chem.MolFromSmiles
  11 
  12         
  13         if новая молекулу удолтворяет правилу 5
  14             сохраним в массив
  15             и покажем
  16     except:
  17         pass

можно сделать большую картинку с Draw.MolsToGridImage

как сделать конформацию лиганда:

   1 m3d=Chem.AddHs(m2d)
   2 Chem.AllChem.EmbedMolecule(m3d)
   3 AllChem.MMFFOptimizeMolecule(m3d,maxIters=500,nonBondedThresh=200 )

загрузим NGL viewer

   1 import nglview as nv

и покажем первую конформацию

   1 nv.show_rdkit(m3d)