Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save yamasakih/5e466116f62e1beb366b4427e8ee7d30 to your computer and use it in GitHub Desktop.
Save yamasakih/5e466116f62e1beb366b4427e8ee7d30 to your computer and use it in GitHub Desktop.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### [RDKit Blogの記事](http://rdkit.blogspot.jp/2017/04/using-custom-fingerprint-in-postgresql.html)を参考にデータベース内で利用できる自分で決めた構造キーのfingerprintを作ってみる。"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"RDKit version 2017.03.3\n"
]
}
],
"source": [
"from rdkit import Chem\n",
"from rdkit.DataStructs.cDataStructs import ExplicitBitVect\n",
"from rdkit import rdBase\n",
"from rdkit.Chem import PandasTools\n",
"from rdkit.Chem import Draw\n",
"from rdkit.Chem import DataStructs\n",
"import pandas as pd\n",
"print('RDKit version %s' % rdBase.rdkitVersion)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"例として抗生物質3化合物のfingerprintを作成してみる。"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"antibiotics = pd.DataFrame(columns=['Name','Smiles'])\n",
"antibiotics = antibiotics.append({'Smiles':'CC1(C(N2C(S1)C(C2=O)NC(=O)CC3=CC=CC=C3)C(=O)O)C', \n",
" 'Name':'Penicilline G'}, ignore_index=True)\n",
"antibiotics = antibiotics.append({'Smiles':'CC1(C2CC3C(C(=O)C(=C(C3(C(=O)C2=C(C4=C1C=CC=C4O)O)O)O)C(=O)N)N(C)C)O',\n",
" 'Name':'Tetracycline'}, ignore_index=True)\n",
"antibiotics = antibiotics.append({'Smiles':'CC1(C(N2C(S1)C(C2=O)NC(=O)C(C3=CC=CC=C3)N)C(=O)O)C',\n",
" 'Name':'Ampicilline'}, ignore_index=True)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Smiles</th>\n",
" <th>Molecule</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Penicilline G</td>\n",
" <td>CC1(C(N2C(S1)C(C2=O)NC(=O)CC3=CC=CC=C3)C(=O)O)C</td>\n",
" <td><img src=\"data:image/png;base64,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\" alt=\"Mol\"/></td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Tetracycline</td>\n",
" <td>CC1(C2CC3C(C(=O)C(=C(C3(C(=O)C2=C(C4=C1C=CC=C4O)O)O)O)C(=O)N)N(C)C)O</td>\n",
" <td><img src=\"data:image/png;base64,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\" alt=\"Mol\"/></td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Ampicilline</td>\n",
" <td>CC1(C(N2C(S1)C(C2=O)NC(=O)C(C3=CC=CC=C3)N)C(=O)O)C</td>\n",
" <td><img src=\"data:image/png;base64,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\" alt=\"Mol\"/></td>\n",
" </tr>\n",
" </tbody>\n",
"</table>"
],
"text/plain": [
" Name Smiles Molecule\n",
"0 Penicilline G CC1(C(N2C(S1)C(C2=O)NC(=O)CC3=CC=CC=C3)C(=O)O)C <img src=\"data:image/png;base64,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\" alt=\"Mol\"/>\n",
"1 Tetracycline CC1(C2CC3C(C(=O)C(=C(C3(C(=O)C2=C(C4=C1C=CC=C4O)O)O)O)C(=O)N)N(C)C)O <img src=\"data:image/png;base64,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\" alt=\"Mol\"/>\n",
"2 Ampicilline CC1(C(N2C(S1)C(C2=O)NC(=O)C(C3=CC=CC=C3)N)C(=O)O)C <img src=\"data:image/png;base64,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\" alt=\"Mol\"/>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"PandasTools.AddMoleculeColumnToFrame(antibiotics, 'Smiles', 'Molecule', includeFingerprints=True)\n",
"antibiotics"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"構造キーとして、ベンゼン環(c1ccccc1), シクロヘキサン(C1CCCCC1), アゼチジン(N1CCC1)を用いてみる。"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nQmCC\n",
"text/plain": [
"<PIL.Image.Image image mode=RGBA size=450x150 at 0x2BA8A8232BA8>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"benzen = Chem.MolFromSmiles('c1ccccc1')\n",
"cyclohexane = Chem.MolFromSmiles('C1CCCCC1')\n",
"azetidine = Chem.MolFromSmiles('N1CCC1')\n",
"Draw.MolsToGridImage([benzen, cyclohexane, azetidine], legends=['Benzen', 'Cyclohexane', 'Azetidine'], subImgSize=(150, 150))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ビット数3のExplicitBitVectorオブジェクトを作成する。"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'000'"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fp = ExplicitBitVect(3)\n",
"fp.ToBitString()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"SetBitメソッドを使うとn番目のbitを1にすることができる。"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'010'"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fp.SetBit(1)\n",
"fp.ToBitString()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"metadata": {
"scrolled": false
},
"source": [
"これらを利用して以下のようにして各化合物のfingerprintを作成する。"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"structure_keys = [benzen, cyclohexane, azetidine]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"fps = []\n",
"for i, row in antibiotics.iterrows():\n",
" fp = ExplicitBitVect(len(structure_keys))\n",
" for j, key in enumerate(structure_keys, start=0):\n",
" mol = Chem.MolFromSmiles(row['Smiles'])\n",
" if mol.HasSubstructMatch(key):\n",
" fp.SetBit(j)\n",
" fps.append([i, fp])"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[[0, <rdkit.DataStructs.cDataStructs.ExplicitBitVect at 0x2ba893f3b180>],\n",
" [1, <rdkit.DataStructs.cDataStructs.ExplicitBitVect at 0x2ba893f3b1f0>],\n",
" [2, <rdkit.DataStructs.cDataStructs.ExplicitBitVect at 0x2ba8bc09bce0>]]"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fps"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"fp_strings = [fp[1].ToBitString() for fp in fps]\n",
"antibiotics['Fingerprint'] = fp_strings"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Molecule</th>\n",
" <th>Fingerprint</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Penicilline G</td>\n",
" <td><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAU1ElEQVR4nO3de1SUdf4H8DfIgDKKiCComSgiLmpbekqS1HTlaCtejoiouyjH2tnKxO2iY7orv2o3x9qEbfW4tKuGtdlqrDdMg7VwMzPTsryveVnxEiICAsplhvfvj0cIL3wF5vIM7ed1jscZnuH7/XD0Pc93nssHD5KEEOKOPPUuQAh3JgERQkECIoSCBEQIBQmIEAoSECEUJCBCKEhAhFCQgAihIAERQkECIoSCBEQIBQmIEAoSECEUJCBCKEhAhFCQgAihIAERQkECIoSCBEQIBQmIEAoSECEUJCBCKEhAhFCQgAihIAERQkECIoSCBEQIBQmIEAoSECEUJCBCKEhAhFCQgAihIAERQkECIoSCBEQIBQmIEAoSECEUJCBCKEhAhFCQgAihIAERQkECIoSCBEQIBQmIEAoSECEUJCBCKEhAhFCQgAihIAERQkECIoSCBEQIBQmIEAoSECEUJCBCKEhAhFCQgAihIAERQkECIoSCBEQIBQmIEAoSECEUJCBCKEhAhFCQgAihIAERQkECIoSCBETYZ+NG4O23tcfnzgHPPANUV2t/z5kDTJ8O5ObqWKB9vPQuQPwIrV4NDBoEJCYCNhswahTw6KN6V9UsEhBhv4wMYM8eoLwcaN8eOHQIePppbVurVkBwMFBUBHTooG+dzSBLLGG/GTOAv/wFWLxYex4ZCezfrz2uqQHy81tkOADZgwhnePxx4De/Ab74AiguBhYs0LuiZvMgSb2LEMJdyRJLCAUJiHANEjh2TO8qmkwCIlzjo4+Ahx7Sjma1IPIZpKWorgaefVY7bFpUBMyc2bLOLZBA//7AlCnAb3+rdzWNJgFpKd56C2jT5uaTb//6l95VNU1GBvD888CZM0DbtnpX0yiyxGopDh0CHnxQe1z/5FtLMm2aFoxVq/SupNEkIC3Fj+Hkm8EAq9mMfR9/jOrqar2raRRZYrUU1dXaybdWrbSTb0lJwIgROhfVdNeuXUOPHj2wZMkSJCUl6V3OXUlAhMv94Q9/wDvvvIMjR47A09O9FzFuF5CamhpkZmZi8eLF8PDwgMViQUxMjN5lCQcqKSlB9+7dMW/ePGRlZSEwMBCBgYEIDg5GUFAQAgMDERsSgoCAAKBTJyAoSDtAoQO3CsimTZuwYMECXLp0CXPnzkVpaSlee+01jB8/HsuWLUOnTp30LtE9XbgAdOmidxVNMn/+fGRlZcFkMqGwsBCXL19Gfn4+CgoKcPnyZXzRrh3a7t2rHR4GAKNRC0pMjHZEz1WHvekGPv/8cw4bNoy+vr40m80sLi6u2/bNN99w8ODB9Pf3Z1paGm02m46VuqGTJ0lvb/LIEb0raZLNmzfzoYceYlVVVcMvstnI/Hzy8GEyN5dcv57ctk3blp5OrlmjPbZayZ/9zCl16hqQo0ePMj4+ngaDgSaTiRcuXKjbdvHixbrHNTU1zMjIYGBgIAcOHMgvv/xSj3Ldx9Wr5KJFZEWF9jwujpwwQd+amqCsrIzh4eGMj49nWloa3333XX700Uc8cOAAz507x4ran0tl9mzy6NEfnk+bRl654vBadQlIXl4eTSYTvby8GBsby+PHj9dtO3/+PE0mE729vXny5Mmbvq+wsJAmk4kGg4HJycm8evWqq0t3D9evk/feSy5dqj0/fpw0GMhdu/Stq5GeeOIJRkZGMi0tjdHR0YyIiGBAQAABEAA7GY1ku3ZkeDj58MPkuHHkzJnkiy/+8DOuWEG++6722Gb7cexBrly5QrPZzDZt2nDw4MH89NNP67aVlpbSYrGwXbt2jIqK4s6dOxscZ+fOnYyMjGSXLl2YkZHhitLdz6pVZGAgWbscNZnIRx7Rt6ZG2L59O318fHjgwIHbtlVVVfHChQs8dvAguWMH+d575JtvanvLp54iJ07Ullnai8mnn9b2JImJ2uudwCUBqaysZHp6OoOCghgZGcl169bdtq1Tp078yU9+ctM2laqqKqalpdFoNDI2NpanT592UvVuymol+/YlFy7Unp8/z++GD+eOrCx961IoKChgSEgIlyxZoncpjebUgNhsNq5bt46hoaHs1q0b09PTabVab9rWs2dP3nPPPTdta4qTJ0/yscceo6+vL1NSUlhZWenoH8N9bdpEGo2suPF5bcGCBezTpw+rq6t1LuzO4uPjGR0d3ax/Z704NSDvv/8+u3TpwtTU1Js+eOXk5PD+++9nQEAALRYLr1275pC5OnfuzPvuu4+7d++2e7xGq6oiZ80ik5O1Xf0nn7hubpKvT5nCJ598kiRZXFzMjh07ctWqVS6toTFWr15No9HIEydO6F1Kkzg1IDNmzOCsWbPqnn/xxRccPnx43eHcoqIih85XXFzMpKQkjho1ynWHg110uLEhe/bsoZeXF4/cOMz7xhtvsGvXrg5503GUvLw8dujQgX/729/0LqXJnBqQhIQEvvDCCyTJq1evMiAggE888QTPnTvntDn37NlDT09Pp41/GxcdblQZP348J02aRJKsqKhg9+7duXz5cpfW0BCbzcbhw4dz3LhxepfSLE7talJZWQkfHx8AQLt27XD69Gn4+fk5fJ7Zs2ejpqYGy5cvR2VlJVq3bu3wORpUe5Vtnz66XWW7ZMkS9OvXD59//jny8/MxceJEREVFubSGhixduhQHDx7EwYMH9S6lWZx6pVhFRUVdQAA4JRy189hstjvO6XSPPw7s3g0kJ2tX2OrQ4iYiIgKzZs1Cbm4uJk6ciF27duHBBx9Ejx49MHv2bGRnZ6OystLldR05cgS/+93vsGLFCoSEhLh8fkdw+h7EFe/mFRUV6Nixo0vnrGMwAMuXu26+BqSlpeHVV1/Fww8/jM8++wwFBQXYunUrsrKyMGnSJABAfPwFDBnSFmPGaJc1OVN1dTVmzJiBadOm1c3fEjl9D+KK/6z1l3KumtMdbdmyBWPHjgUABAUFISkpCR988AEKCgqQmbkZvr5t8dJLQEgIMHiw1gixduWzcSMQEaFdA3jmDPDCC/bVsmjRIly+fBmpqan2DaQzp+5BXLXcqR8Kly+x3MSlS5ewd+9e/PWvf71tm4+PD2JiHkVMDPDnP2uhyMoCtmzR+ieYzVrDkago7ULZMWPUc5HaPVtkMUgbSkpKAABWqxWlpaU4cuQI3njjDWRnZzttWe0qP4olVv09iMuXWM89p91n/fLL2meRlBQgJ8d189+wdetWdOvWDf369bvra/v31/68+CJw6RJQVQXs26ddSb59OzBs2A+vnTZN+xpw+y3wnToNx6VLB24b38/PD2PHjsWjLanrSgNkD2Kv/PwfHl+6pFtztKysLIwbN67J31d7i82+fdrfzz0HLF0KBARoz81m7VYLAPDz026/ALQm7p6emwBY4e/vDw8PD3h4eMDf3x/vvfcenn32WVitVnh5tez2z7IHsX9yoHa+igpAh+VdZWUlcnJykJmZafdYAwZon0Nq/fSnqlffe8evTpgwAb/+9a/xySeftPi7QZ2+B3HVUaz6exCXBqR+KOqHxYVyc3NBEkOHDm32GBMm/PD4nXfsq8fX1xdjx47F2rVrW3xAXHoexBXz1N+buET9gFRU6BKQLVu2YPTo0W51cGLq1KnIzMzE9evX9S7FLk4NiCuXWLXzuHqJdbpLF1y8cQ7msqcnSu6987LDmbZu3YrY2FiXz6syevRoGAwGbNu2Te9S7OK0gNhsNlitVpfvQVz9IX3y0aPYdOMs/qqiIky8ccjTVb799lucPXsWo0ePtmuc3Fztt6g5isFgQFxcHNauXeu4QXXgtIBUVFQAQN27+b///W+YTCZcuXLF4XPV32u4+jOIrss7aMurqKgoBAcH2zXOK68AH37ooKJumDp1KrKysurOk7RETgtI7bU/tf9Z/fz88NVXX6FPnz5Ys2YN6MBuQ7/85S/RtWvXunldGRA9l3eAdni39ux5c5WUALt2AXYOc5uhQ4ciMDAQGzdutGucmpoa3S52dFpADAYDhg8fjtTUVJSXl+P+++/H3r178fvf/x7JyckYNmwYDh8+7JC53nzzTURGRgIArl+/Dm9vb4eM2xh6Lu9qz57bG5Dt2wF/f2DgQMfUVcvT0xOTJ09u9jKrqqoKq1evRt++fTF69Ghd+vk6LSDt2rXDokWLkJ2djcjISGzevBmenp4wmUw4duwYQkND8cADD2DOnDkoKyuze76ysjK89NJLyM3Nxfvvv49NmzY54Ke4u8rKSnh4eODy5csuX97Vnj3v27evXeNs2aLtPZzRBXTq1KnYsWMH8uufUL2LyspKvPXWWwgPD4fZbEZCQgIOHToEg8Hg+ALvxtk3nNzaXOHMmTN12z7++GP26dOHPXv25Icfftjs8dPT0xkSEsKIiAiuXbuWqampLmnmUF1dzXnz5jEkJIS9e/fm0KFDuWXLFqfNV5/VauWIESMYFxdn1z3eVquVgwZ9xY0bHVjcLSIiIrhs2bK7vq6kpIRpaWns3Lkzu3fvzrS0NJaXlzuvsEZwWdufhporXL9+nSkpKfTx8WFsbCzPnj3bqPFqamq4bt069urVi0FBQUxLS7upWYGzmznk5OSwf//+DAwMpMVi4dGjR13WPGLTpk3s27cvQ0ND6ePjw44dOzIxMZH/+Mc/bupK2Rg7d+6kj48PS0tLnVQtmZKSwujo6Aa35+fnMyUlhf7+/uzVqxfT09PVHRddyOWN4zZv3sxu3bqxf//+/Oyzz+q+fuLECcbExNBoNNJisSjfFXNycjhw4EC2bduWZrNZ2UCuofmaa/fu3RwyZAiNRiPNZjNLSkqcOl99u3aRU6a8TqPRyIULF7K4uJjXrl1jTk4Ok5OT2bVrV7Zq1YrR0dG0WCx196mrzJ07lz//+c8dWuetTpw4QQ8PD546deqmr586dYrJycls06YNH3jgAWZkZLhdxxNdOiuWlZXRbDbTy8uLiYmJLCgoIKntFdasWcNOnTrx73//+23fd/DgQcbGxtLb25smk4n5+fl2zdcUhw8fvqlNav3WqLcqLi7m7NmzGRLShU89dY2FhU2e7pa5yfHjteaJ8+fn39Si9VaHDh2ixWJhdHQ0PTw82LNnTyYnJzMnJ+eO78p9+vThihUr7CuwEQYMGMDFixeTJL/99lsmJibSy8uL0dHR3Lx5s9Pnby5de/N+/fXXHDRoEAMCApiens6amhqSWgfG+l1Jzpw5U9eqND4+/raWpPbOp3L27Nmb5m5K25r9+0s4cCAZFERmZJCNmO42VivZo4fWfrdeh9ZG+f7775mRkcH4+HgajUYGBAQwPj6eGRkZLCoq4nfffUcAN30udJbXX3+dvXr14pgxY9iqVSvGxcW1iB7Lund3t9lsTE9Pp5+fH4cMGcJDhw7VbSsoKKDZbKaPjw9HjhzJr7/+2qnz1VdYWEiz2czWrVtz5MiR3LdvXzPn0zoDtW9PDhlCNjCdUhM/VtxRWVkZ//nPf3LmzJkMDg6mwWBgREQEw8LC7B/8LqqqqvirX/2KHTp04KhRo3i0fhcYN6d7QGqdP3+ekydPpre3N+fOncuFCxeybdu2jIqKYm5ursPnu3jxIhMTE+saYZeVlZEky8vLabFY6O/vz379+jnsqNT582RCgvabClaudMiQzWaz2bhnzx7Onz+fvr6+TEhIYKG968AG5OXlcfDgwezWrRt/8YtfsHfv3o3r3u4m3CYgtbZt28bBgwdzwIABzMzMbNQyyN75wsLCGBYWxnnz5rFz584MCwvj2rVrnTL39u3aXmTDBrJ3b60x4+nT5PPPa19bvVp7XV6e1rDR2U6dOsUhQ4YwODjY4Yeod+zYweDgYI4ZM4aFhYUsLy9naGho3WeRlsDtAqKHa9euceHChUxKSuKyZctccohxwwZy+nRy2TJ9A0Jq53MsFgt9fHxoMpnsPuRbU1NDi8VCb29vpqSk3PR58oMPPqCvr+9tR7TclVv9Crb/JRs3AmVl2mUe8+cDb78NPPII8Kc/ad1Fysu121qXLXNdTfv370diYiJGjrwXixe/DKPxoSaPUV2dj5MnE7FggRVz5qRgWP0b3G+IjY2FwWDAhg0bHFG2U0lAdFIbkMhILQQBAVpAan/D87lzgMXi2oAA2rVseXmvoqxsCUJCXkTnzr+Fh0fjLvEoK/sUp05NQevW4ejRYy0Mhs53fN3JkyfRr18/rF+/3u3uY7mVe/8O3v8Bt94Drrc2bdqgd+9XEB6+DYWFq3H8eDQqKu7WiIK4dOlP+M9/RqJDh0kID/9Xg+EAgLCwMJjNZjzzzDMoLy937A/gYLIHEQ2y2Upw7tw8XLmyBp07/x9CQubi1vdUm+0q/vvfmSgtzUVo6Dto3/6xRo1dWVmJ++67DwkJCXj55ZcdX7yDSEDEXRUVrcfZs7MQHr4dgCfy85fAyysI3t7d0L59LPLyktG9+0p4ezftduPs7GyMGzcO33zzDSIiIpxTvJ0kIKJRamrK4elpxPffL4av7wD4+Y1yyLhxcXEoLS1Fdna2Q8ZzNAmIaBKbrQjff78E1dUXYTQ+jKCgJ+0aLy8vD5GRkVi5ciUmT57soCodRwIimu348WGIiPgE9h7ree2115Camopjx46hffv2jinOQSQgokmKitajtDQXAODp6YN77llq95hWqxUDBw5ETEwM/vjHP9o9niNJQIRb2LVrF0aMGIEvv/wSP1X3O3UpCYhwG9OnT4fBYMDKlSv1LqWOBES4jatXr8LX19etOsJLQIRQkEtNhFCQgAihIAERQkECIoSCBEQIBQmIEAoSECEUJCBCKEhAhFCQgAihIAERQkECIoSCBEQIBQmIEAoSECEUJCBCKEhAhFCQgAihIAERQkECIoSCBEQIBQmIEAoSECEUJCBCKEhAhFCQgAihIAERQkECIoSCBEQIBQmIEAoSECEUJCBCKEhAhFCQgAihIAERQkECIoSCBEQIBQmIEAoSECEUJCBCKEhAhFCQgAihIAERQkECIoSCBEQIBQmIEAoSECEUJCBCKEhAhFCQgAihIAERQkECIoSCBEQIBQmIEAoSECEUJCBCKEhAhFCQgAihIAERQkECIoSCBEQIBQmIEAoSECEUJCBCKEhAhFCQgAihIAERQkECIoTC/wNPqLG0ONLPzgAAAABJRU5ErkJggg==\" alt=\"Mol\"/></td>\n",
" <td>101</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Tetracycline</td>\n",
" <td><img src=\"data:image/png;base64,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\" alt=\"Mol\"/></td>\n",
" <td>110</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Ampicilline</td>\n",
" <td><img src=\"data:image/png;base64,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\" alt=\"Mol\"/></td>\n",
" <td>101</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>"
],
"text/plain": [
" Name Molecule Fingerprint\n",
"0 Penicilline G <img src=\"data:image/png;base64,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\" alt=\"Mol\"/> 101\n",
"1 Tetracycline <img src=\"data:image/png;base64,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\" alt=\"Mol\"/> 110\n",
"2 Ampicilline <img src=\"data:image/png;base64,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\" alt=\"Mol\"/> 101"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"antibiotics.loc[:, ['Name', 'Molecule', 'Fingerprint']]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"期待したとおりにfingerprintが生成されている。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"カラムには目視のために文字列に変換したものを入れているが、fpsは実際にはExplicitBitVectオブジェクトなのでデータベース内などで高速に検索することができると期待される。(Python内だけでもできそう。要勉強)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"以下は、[RDKit Database Cartridge](http://www.rdkit.org/docs/Cartridge.html)で拡張したデータベースを用意している前提で話をすすめる。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"まず、データベースに接続する。データベースのIPアドレス、ユーザ名、パスワードは適宜変更してほしい。"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'Connected: rdkit@fbdd'"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%load_ext sql\n",
"dsl = 'postgres://rdkit:rdkit@10.2.160.62:5432/fbdd'\n",
"%sql $dsl"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"今回はTemporary Tableのmols, fpsに登録してみる。まず、molsテーブルを作成する。"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Done.\n"
]
},
{
"data": {
"text/plain": [
"[]"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"CREATE TEMPORARY TABLE mols (id int, name text, mol mol)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"続けて、fpsテーブルを作成する。"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Done.\n"
]
},
{
"data": {
"text/plain": [
"[]"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"CREATE TEMPORARY TABLE fps (id int, btfp bfp)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"molsテーブルに3個の抗生物質の情報を登録する。<br>登録する量が多い時は、\"1 rows affected.\"と表示されるのを消すために、あらかじめ%config SqlMagic.feedback = Falseを実行しておくと良い。"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%config SqlMagic.feedback = False"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"for i, row in antibiotics.iterrows():\n",
" id = int(i)\n",
" name = row['Name']\n",
" mol = row['Smiles']\n",
" %sql INSERT INTO mols VALUES (:id, :name, :mol)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"molsテーブルを確認してみる。"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>id</th>\n",
" <th>name</th>\n",
" <th>mol</th>\n",
" </tr>\n",
" <tr>\n",
" <td>0</td>\n",
" <td>Penicilline G</td>\n",
" <td>CC1(C)SC2C(NC(=O)Cc3ccccc3)C(=O)N2C1C(=O)O</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1</td>\n",
" <td>Tetracycline</td>\n",
" <td>CN(C)C1C(=O)C(C(N)=O)=C(O)C2(O)C(=O)C3=C(O)c4c(O)cccc4C(C)(O)C3CC12</td>\n",
" </tr>\n",
" <tr>\n",
" <td>2</td>\n",
" <td>Ampicilline</td>\n",
" <td>CC1(C)SC2C(NC(=O)C(N)c3ccccc3)C(=O)N2C1C(=O)O</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(0, 'Penicilline G', 'CC1(C)SC2C(NC(=O)Cc3ccccc3)C(=O)N2C1C(=O)O'),\n",
" (1, 'Tetracycline', 'CN(C)C1C(=O)C(C(N)=O)=C(O)C2(O)C(=O)C3=C(O)c4c(O)cccc4C(C)(O)C3CC12'),\n",
" (2, 'Ampicilline', 'CC1(C)SC2C(NC(=O)C(N)c3ccccc3)C(=O)N2C1C(=O)O')]"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"SELECT * FROM mols"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"うまくデータベース内に登録することができた。"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"続けて、以下のようにして各fingerprintをデータベースに登録する。"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"for fp in fps:\n",
" id = int(fp[0])\n",
" btfp = DataStructs.BitVectToBinaryText(fp[1])\n",
" %sql INSERT INTO fps VALUES (:id, bfp_from_binary_text(:btfp))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"fpsテーブルを確認してみる。"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>id</th>\n",
" <th>btfp</th>\n",
" </tr>\n",
" <tr>\n",
" <td>0</td>\n",
" <td>\\x05</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1</td>\n",
" <td>\\x03</td>\n",
" </tr>\n",
" <tr>\n",
" <td>2</td>\n",
" <td>\\x05</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(0, '\\\\x05'), (1, '\\\\x03'), (2, '\\\\x05')]"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"SELECT * FROM fps"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"うまくデータベース内に登録することができた。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"類似構造検索に使ってみる。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"tanimoto係数の下限を0.5にしてみる。"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[]"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%sql set rdkit.tanimoto_threshold=0.5"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Penicilline Gと自分自身を含めた3個の化合物の間の類似性を計算してみる。[RDKit Blogの記事](http://rdkit.blogspot.jp/2017/04/using-custom-fingerprint-in-postgresql.html)では%%を使っていたがJupyterのSQL Magicを使っている場合では%でよいようだ。"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>id</th>\n",
" <th>name</th>\n",
" <th>mol</th>\n",
" </tr>\n",
" <tr>\n",
" <td>0</td>\n",
" <td>Penicilline G</td>\n",
" <td>CC1(C)SC2C(NC(=O)Cc3ccccc3)C(=O)N2C1C(=O)O</td>\n",
" </tr>\n",
" <tr>\n",
" <td>2</td>\n",
" <td>Ampicilline</td>\n",
" <td>CC1(C)SC2C(NC(=O)C(N)c3ccccc3)C(=O)N2C1C(=O)O</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(0, 'Penicilline G', 'CC1(C)SC2C(NC(=O)Cc3ccccc3)C(=O)N2C1C(=O)O'),\n",
" (2, 'Ampicilline', 'CC1(C)SC2C(NC(=O)C(N)c3ccccc3)C(=O)N2C1C(=O)O')]"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"SELECT id, name, mol FROM mols INNER JOIN (\n",
" SELECT f1.id AS id1, f2.id AS id2, f1.btfp AS f1fp, f2.btfp AS f2fp FROM fps AS f1 \n",
" CROSS JOIN \n",
" (SELECT * FROM fps WHERE id = 0) AS f2 \n",
") AS s ON mols.id = s.id1 WHERE f1fp%f2fp"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Peniciline GとAmpicillineは類似性が0.5以上なので類似構造検索でヒットした。<br>\n",
"(Peniciline GとAmpicillineのビットは完全に一致しているのであまりいい例ではない。そのうちもっといい例を作る)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"tanimoto係数の下限を0.1にしてみる。"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[]"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%sql set rdkit.tanimoto_threshold=0.1"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>id</th>\n",
" <th>name</th>\n",
" <th>mol</th>\n",
" </tr>\n",
" <tr>\n",
" <td>0</td>\n",
" <td>Penicilline G</td>\n",
" <td>CC1(C)SC2C(NC(=O)Cc3ccccc3)C(=O)N2C1C(=O)O</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1</td>\n",
" <td>Tetracycline</td>\n",
" <td>CN(C)C1C(=O)C(C(N)=O)=C(O)C2(O)C(=O)C3=C(O)c4c(O)cccc4C(C)(O)C3CC12</td>\n",
" </tr>\n",
" <tr>\n",
" <td>2</td>\n",
" <td>Ampicilline</td>\n",
" <td>CC1(C)SC2C(NC(=O)C(N)c3ccccc3)C(=O)N2C1C(=O)O</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(0, 'Penicilline G', 'CC1(C)SC2C(NC(=O)Cc3ccccc3)C(=O)N2C1C(=O)O'),\n",
" (1, 'Tetracycline', 'CN(C)C1C(=O)C(C(N)=O)=C(O)C2(O)C(=O)C3=C(O)c4c(O)cccc4C(C)(O)C3CC12'),\n",
" (2, 'Ampicilline', 'CC1(C)SC2C(NC(=O)C(N)c3ccccc3)C(=O)N2C1C(=O)O')]"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"SELECT id, name, mol FROM mols INNER JOIN (\n",
" SELECT f1.id AS id1, f2.id AS id2, f1.btfp AS f1fp, f2.btfp AS f2fp FROM fps AS f1 \n",
" CROSS JOIN \n",
" (SELECT * FROM fps WHERE id = 0) AS f2 \n",
") AS s ON mols.id = s.id1 WHERE f1fp%f2fp"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"tanimoto係数の下限が下がったのでTetracyclineも類似構造検索でヒットするようになった。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"まとめ: 自身の望むfingerprintをPostgreSQLに従来からあるBit型ではなくbfp型として保存する方法を学んだ。これにより自身が作成した構造キーを用いた類似構造検索などを高速に行うことができる。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 以上。"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.6.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
@yamasakih
Copy link
Author

従来、類似構造検索に使うために用意されていますが、自身のやりたいことのために無理矢理部分構造検索に使ったためわかりにくい記事になっていました。170808の方で類似構造検索を行うための説明に変更しました。170807も残しておきます。失礼しました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment