{
"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"
],
"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"
],
"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
}