{ "cells": [ { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import igraph\n", "from rdkit import Chem\n", "from rdkit.Chem.rdchem import RWMol\n", "from rdkit.Chem import Draw\n", "from rdkit.Chem import rdmolops\n", "from rdkit.Chem.Draw import IPythonConsole\n", "\n", "IPythonConsole.ipython_useSVG = True" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def mol2graph(mol):\n", " atoms_info = [ (atom.GetIdx(), atom.GetAtomicNum(), atom.GetSymbol()) for atom in mol.GetAtoms()]\n", " bonds_info = [(bond.GetBeginAtomIdx(), bond.GetEndAtomIdx(), bond.GetBondType(), bond.GetBondTypeAsDouble()) for bond in mol.GetBonds()]\n", " graph = igraph.Graph()\n", " for atom_info in atoms_info:\n", " graph.add_vertex(atom_info[0], AtomicNum=atom_info[1], AtomicSymbole=atom_info[2])\n", " for bond_info in bonds_info:\n", " graph.add_edge(bond_info[0], bond_info[1], BondType=bond_info[2], BondTypeAsDouble=bond_info[3])\n", " return graph\n", "\n", "def graph2mol(graph): \n", " emol = RWMol()\n", " for v in graph.vs():\n", " emol.AddAtom(Chem.Atom(v[\"AtomicNum\"]))\n", " for e in graph.es():\n", " emol.AddBond(e.source, e.target, e['BondType'])\n", " mol = emol.GetMol()\n", " return mol\n", " " ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "collapsed": false }, "outputs": [], "source": [ "mol = Chem.MolFromSmiles(\"C1OCCNC1C\")\n", "g=mol2graph(mol)" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nJKF40gAAAABJRU5ErkJggg==\n", "image/svg+xml": [ "\n", "\n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "O\n", "NH\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mol" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nJKF40gAAAABJRU5ErkJggg==\n", "image/svg+xml": [ "\n", "\n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "O\n", "NH\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "graph2mol(g)" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from igraph import GraphBase\n", "layout = g.layout_graphopt()" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "collapsed": false }, "outputs": [], "source": [ "color_dict = {\"C\": \"gray\", \"N\": \"blue\", \"O\" : \"white\" }\n", "my_plot = igraph.Plot()\n", "my_plot = igraph.Plot()\n", "my_plot.add(g,layout=layout,bbox=(400,400),\n", " margin=90,\n", " vertex_color = [color_dict[atom] for atom in g.vs[\"AtomicSymbole\"]],\n", " vertex_size = [ v.degree()*10 for v in g.vs ])\n", "my_plot.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python [default]", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.4" } }, "nbformat": 4, "nbformat_minor": 1 }