{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2016.03.2\n"
     ]
    }
   ],
   "source": [
    "from __future__ import print_function\n",
    "\n",
    "from rdkit import Chem\n",
    "from rdkit.Chem.Draw import IPythonConsole\n",
    "from rdkit.Chem import AllChem\n",
    "from rdkit import rdBase\n",
    "print(rdBase.rdkitVersion)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAADyElEQVR4nO3dQXLbQBAEQcOh/3+Z\nvjqok9mYHniV+QCJB0WpFwDJ6/V6/QLgU7+3XwDA/01GASIyChCRUYCIjAJEZBQgIqMAERkFiMgo\nQERGASIyChCRUYCIjAJEZBQgIqMAERkFiHxtvwB+tOu6bvk5Pn2cRTLKmuu67srfjT8K/pVDPUBE\nRtlx7358vV53XR+Af+VQzyN8FkEHeZ7AFSUWDF3KdIWUFQ71ABEZpW1uM7pCygoZpWr63K2k9Mko\nQERG6encAjJIKZNRgIiMUtJ8GskgpUlGaeg/0amk1MgoQERGGbf15iKDlA4ZBYjIKLN23+dukFIg\nowARGWXQ2xStDcO/f5FByjQZZdBbwjpF+95un57HKBkFiMgos8qD1BSlT0YBIjLKuNogNUVZIaMs\nmCipaLJFRmnoP3WkqtTIKCWjR3vHeRbJKEBERukZGqSmKLtklE15SUWTdTJKVfnxeyiQUdpuPNo7\nzvMEMgoQkVEW3DJITVEeQkZ5hA8KKJo8hIyyY/Txe2iSUYCI/+FsumuQ+jNmkYxyAod6FjnUA0Rk\nlBP4+k8WyShAREY5hEHKFhkFiMgo5zBIWSGjABEZ5SgGKX0yChCRUU5jkFImoxxISWmSUYCIjHIm\ng5QaGQWIyCjHMkjpkFGAiIxyMoOUAhkFiMgohzNImSajHM7XNDFNRgEiMsrJTFEKZBQgIqMcyxSl\nQ0YBIjLKmUxRamSUA2koTTIKEJFRTmOKUiajABEZ5SimKH0yyjk0lBUyChCRUQ5hirJFRgEiMsoJ\nTFEWyShA5Gv7BfCj3fX1HqYoi2SUNTeexB3qWeRQDxCRUXbcux99/SeLHOp5hM8i6CDPE7iixIKh\nS5mukLLCoR4gIqO0zW1GV0hZIaNUTZ+7lZQ+GQWIyCg9nVtABillMgoQkVFKmk8jGaQ0ySgN/Sc6\nlZQaGQWIyCjjtt5cZJDSIaMAERll1u773A1SCmSUnlrRpJMmGWXQ2xTtbMOVX8pPJqMMekLCfHoe\n02SUqumwiiZ9Msqs3UGqqhTIKG1zYRVNVsgo47YGqarSIaMsmAiraLJFRmn43k33mjiGjFIy2s23\naGooTTLKmrvCKprsklF6Vt7FBNNklE15WEWTdTJKlTtLnEdGaXsraRJWd5Z4AhkFiMgoC24ZpKYo\nDyGjPMIHBRRNHkJG2XHvvSZTlEUyChDxP5xNdw1Sf8YsklGAiEM9QERGASIyChCRUYCIjAJEZBQg\nIqMAERkFiMgoQERGASIyChCRUYCIjAJEZBQgIqMAERkFiPwBnkrbLNHsPSIAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<rdkit.Chem.rdchem.Mol at 0x7f8fd4161bb0>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mol = Chem.MolFromSmiles('C1(CC2=CC=CC=C2)=CC=CC=c1')\n",
    "mol"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAADXUlEQVR4nO3cwW7TQBRAUUD8d/Ln\nYVFRIRAV5Y7tmfE5i0jNxs+bq5d4mq+v1+sLAP/r29UDAKxNRgESGQVIZBQgkVGAREYBEhkFSGQU\nIJFRgERGARIZBUhkFCCRUYBERgESGQVIZBQgkVGAREYBEhkFSGQUIJFRgERGARIZBUhkFCCRUYBE\nRgESGQVIZBQgkVGAREYBEhkFSGQUIJFRgERGARIZBUhkFCCRUYBERgESGQVIZJTDPZ/P99e9L8o9\nfX29XlfPwP6ez+dvRTsicH9eQkY5wwsO9ng83l/3vij3ZBsFSHw3CpDIKEAiowCJjAIkMgqQfL96\nAO6uH+10OJRrOfAEkPhQzyEm3BAnHIk9yCjjzflfmHNOxQZkFCCRUQabeembeTbWJaMAiYwy0vzr\n3vwTshwZ5QzKxcZklGFWWfRWmZNVyChjfNCmCbM14UisS0YBEhllgLVW0TfTDsZyZJRjSRXbk1Gq\ndde6dSdnKjLKURSKm5BRkr8tdKsseqvMycxklGSDBm1wC1xLRhnPiset+PV7gMQ2CpDIKEAiowCJ\njAIkMsq/env4vv0j+JvcJgN5Us8n3OQk001uk1Fso/yr509XD3Ksm9wmA9lGARLbKEAiowCJjAIk\nMgqQyChAIqOMN+1poWkHY2kyynhznruccyo2IKMkG4Rpg1vgYi9oHo/Hp96/xBJDsijbKEeZ50P0\nPJOwJRmlWjdS607OVGSUA83QqRlmYG8yygArpmrFmZmTjHKsa2ullZzh6mdc7OODp96XPBCfbR52\nZRtlmFVWv1XmZBUyyhnOL5dWchq/fs9gk/dr8vFYkW0UIJFRBpt53Zt5NtYlowCJjDLenEvfnFOx\nAY+YAJLvVw8Av//i5/ufn30fLmEbBUh8NwqQyChAIqMAiYwCJDLK4d6epJ//0yTnX5R78qSeM1xy\n9N15e87h3CiHe/7i1zePuNDHF4Uj2EYBEt+NAiQyCpDIKEAiowCJjAIkMgqQyChAIqMAiYwCJDIK\nkMgoQCKjAImMAiQyCpDIKEAiowCJjAIkMgqQyChAIqMAiYwCJDIKkMgoQCKjAImMAiQyCpDIKEAi\nowCJjAIkMgqQyChAIqMAiYwCJDIKkMgoQCKjAImMAiQyCpDIKEAiowDJDzfyr5tXWzwdAAAAAElF\nTkSuQmCC\n",
      "text/plain": [
       "<rdkit.Chem.rdchem.Mol at 0x7f8fc002ff30>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pattern = Chem.MolFromSmarts(\"[a]1[a][a][a][a][a]1\")\n",
    "pattern"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "C\n"
     ]
    }
   ],
   "source": [
    "frag = AllChem.DeleteSubstructs(mol,pattern)\n",
    "print(Chem.MolToSmiles(frag))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "I would like to get Cc1ccccc1 and c1ccccc1C"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "repl = Chem.MolFromSmiles('C')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CCc1ccccc1\n",
      "CCc1ccccc1\n"
     ]
    }
   ],
   "source": [
    "frags = AllChem.ReplaceSubstructs(mol,pattern,repl)\n",
    "\n",
    "for frag in frags:\n",
    "    print(Chem.MolToSmiles(frag))\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
