Skip to content

Instantly share code, notes, and snippets.

@madgpap
Last active August 29, 2015 13:57
Show Gist options
  • Save madgpap/9639308 to your computer and use it in GitHub Desktop.
Save madgpap/9639308 to your computer and use it in GitHub Desktop.
predict_GS5759
{
"metadata": {
"name": "chembl_predict_GS5759"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": "Provides target prediction based on the current chembl models for a single molecule input. The predictions are ranked by either the probability or the score. The latter is the sum of the log enrichment of the features present in the input molecule. "
},
{
"cell_type": "code",
"collapsed": false,
"input": "from rdkit.Chem import AllChem as Chem\nfrom rdkit.Chem.Draw import IPythonConsole\nfrom rdkit.Chem import PandasTools\n\nfrom rdkit.Chem import Draw\n\nimport pandas as pd\nfrom pandas import concat\nfrom collections import OrderedDict\nimport requests",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": "from sklearn.externals import joblib\nfrom sklearn.metrics import classification_report",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": "import warnings\nwith warnings.catch_warnings():\n warnings.simplefilter(\"ignore\")\nwarnings.filterwarnings(\"ignore\")",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": "rcParams['figure.figsize'] = 10,10",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": "morgan_bnb = joblib.load('../target_predictions/chembl_18/models/10uM/mNB_10uM_all.pkl')",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": "def topNpreds(m,fp,N=5):\n probas = list(morgan_bnb.predict_proba(fp)[0])\n d = dict(zip(classes,probas))\n scores = OrderedDict(sorted(d.items(), key=lambda t: t[1], reverse=True))\n return [(m, t, s) for t, s in scores.items()[0:N]]",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": "def calc_scores(classes):\n p = []\n for c in classes:\n p.append(pred_score(c))\n return p",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": "def topNscores(m,fp,N=5):\n scores = calc_scores(classes)\n d = dict(zip(classes,scores))\n calcs = OrderedDict(sorted(d.items(), key=lambda t: t[1], reverse=True))\n return [(m, t, s) for t, s in calcs.items()[0:N]]",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": "def pred_score(trgt):\n diff = morgan_bnb.estimators_[classes.index(trgt)].feature_log_prob_[1] - morgan_bnb.estimators_[classes.index(trgt)].feature_log_prob_[0]\n return sum(diff*fp)",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": "classes = list(morgan_bnb.classes_)",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 10
},
{
"cell_type": "code",
"collapsed": false,
"input": "morgan_bnb.multilabel_",
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 11,
"text": "True"
}
],
"prompt_number": 11
},
{
"cell_type": "code",
"collapsed": false,
"input": "len(classes)",
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 12,
"text": "1244"
}
],
"prompt_number": 12
},
{
"cell_type": "code",
"collapsed": false,
"input": "smiles = 'O[C@@H](CNCCCC#CC1=CC=C(C=C1)NC(=O)C=1C=C(C=CC1)S(=O)(=O)C=1C=C2C(=C(C=NC2=C(C1)C)C(=O)N)NC1=CC(=CC=C1)OC)C1=C2C=CC(NC2=C(C=C1)O)=O' #GS",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 13
},
{
"cell_type": "code",
"collapsed": false,
"input": "mol = Chem.MolFromSmiles(smiles)",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 14
},
{
"cell_type": "code",
"collapsed": false,
"input": "mol",
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"png": "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\nRU5ErkJggg==\n",
"prompt_number": 15,
"text": "<rdkit.Chem.rdchem.Mol at 0x46f5de0>"
}
],
"prompt_number": 15
},
{
"cell_type": "code",
"collapsed": false,
"input": "info={}\nfp = Chem.GetMorganFingerprintAsBitVect(mol,2,nBits=2048, bitInfo=info)",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 16
},
{
"cell_type": "markdown",
"metadata": {},
"source": "Get predictions in a table"
},
{
"cell_type": "code",
"collapsed": false,
"input": "test = pd.DataFrame(zip(classes, calc_scores(classes),list(morgan_bnb.predict_proba(fp)[0])),columns=['id','score','proba'])",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 17
},
{
"cell_type": "code",
"collapsed": false,
"input": "test['proba'].hist()",
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 18,
"text": "<matplotlib.axes.AxesSubplot at 0x78b4ad0>"
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": "<matplotlib.figure.Figure at 0x78b4810>"
}
],
"prompt_number": 18
},
{
"cell_type": "markdown",
"metadata": {},
"source": "Probabilities vs. scores"
},
{
"cell_type": "markdown",
"metadata": {},
"source": "Sort by probability and take top 50"
},
{
"cell_type": "code",
"collapsed": false,
"input": "preds = test.sort(columns=['proba'],ascending=False).head(50)",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 19
},
{
"cell_type": "markdown",
"metadata": {},
"source": "Use ChEMBL WS to merge with target information"
},
{
"cell_type": "code",
"collapsed": false,
"input": "def fetch_WS(trgt):\n re = requests.get('https://www.ebi.ac.uk/chemblws/targets/{0}.json'.format(trgt))\n return re.json()['target']",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 20
},
{
"cell_type": "code",
"collapsed": false,
"input": "plist = []\nfor i,e in enumerate(preds['id']):\n p = pd.DataFrame(fetch_WS(e), index=(i,))\n plist.append(p)\ntarget_info = concat(plist)",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 21
},
{
"cell_type": "code",
"collapsed": false,
"input": "target_info.shape",
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 22,
"text": "(50, 10)"
}
],
"prompt_number": 22
},
{
"cell_type": "markdown",
"metadata": {},
"source": "Top 50 target predictions in descreasing order of probability"
},
{
"cell_type": "code",
"collapsed": false,
"input": "result = pd.merge(preds, target_info, left_on='id', right_on='chemblId')",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 23
},
{
"cell_type": "code",
"collapsed": false,
"input": "result",
"language": "python",
"metadata": {},
"outputs": [
{
"html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>id</th>\n <th>score</th>\n <th>proba</th>\n <th>bioactivityCount</th>\n <th>chemblId</th>\n <th>compoundCount</th>\n <th>description</th>\n <th>geneNames</th>\n <th>organism</th>\n <th>preferredName</th>\n <th>proteinAccession</th>\n <th>synonyms</th>\n <th>targetType</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0 </th>\n <td> CHEMBL5414</td>\n <td> 18.159497</td>\n <td> 9.999767e-01</td>\n <td> 1038</td>\n <td> CHEMBL5414</td>\n <td> 567</td>\n <td> Beta-2 adrenergic receptor</td>\n <td> Unspecified</td>\n <td> Cavia porcellus</td>\n <td> Beta-2 adrenergic receptor</td>\n <td> Q8K4Z4</td>\n <td> Adrb2,Beta-2 adrenoreceptor,Beta-2 adrenoceptor,Beta-2 adrenergic receptor</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>1 </th>\n <td> CHEMBL3252</td>\n <td> 10.654329</td>\n <td> 8.746177e-01</td>\n <td> 377</td>\n <td> CHEMBL3252</td>\n <td> 277</td>\n <td> Beta-1 adrenergic receptor</td>\n <td> Unspecified</td>\n <td> Rattus norvegicus</td>\n <td> Beta-1 adrenergic receptor</td>\n <td> P18090</td>\n <td> Beta-1 adrenoceptor,Adrb1r,Beta-1 adrenergic receptor,Adrb1,Beta-1 adrenoreceptor</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>2 </th>\n <td> CHEMBL275</td>\n <td> 7.960013</td>\n <td> 8.438291e-01</td>\n <td> 1001</td>\n <td> CHEMBL275</td>\n <td> 876</td>\n <td> Phosphodiesterase 4B</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Phosphodiesterase 4B</td>\n <td> Q07343</td>\n <td> cAMP-specific 3',5'-cyclic phosphodiesterase 4B,3.1.4.17,DPDE4,PDE32,PDE4B</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>3 </th>\n <td> CHEMBL210</td>\n <td> 6.068692</td>\n <td> 5.586511e-01</td>\n <td> 6480</td>\n <td> CHEMBL210</td>\n <td> 4270</td>\n <td> Beta-2 adrenergic receptor</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Beta-2 adrenergic receptor</td>\n <td> P07550</td>\n <td> Beta-2 adrenergic receptor,ADRB2,Beta-2 adrenoreceptor,Beta-2 adrenoceptor,ADRB2R ,B2AR</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>4 </th>\n <td> CHEMBL213</td>\n <td> -1.089044</td>\n <td> 9.085123e-04</td>\n <td> 4327</td>\n <td> CHEMBL213</td>\n <td> 2679</td>\n <td> Beta-1 adrenergic receptor</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Beta-1 adrenergic receptor</td>\n <td> P08588</td>\n <td> ADRB1,ADRB1R ,B1AR,Beta-1 adrenergic receptor,Beta-1 adrenoreceptor,Beta-1 adrenoceptor</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>5 </th>\n <td> CHEMBL3397</td>\n <td> -4.842163</td>\n <td> 1.187064e-04</td>\n <td> 25905</td>\n <td> CHEMBL3397</td>\n <td> 20826</td>\n <td> Cytochrome P450 2C9</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Cytochrome P450 2C9</td>\n <td> P11712</td>\n <td> (R)-limonene 6-monooxygenase,CYP2C9,Cytochrome P450 MP-4,CYP2C10,Cytochrome P450 MP-8,(S)-limonene 7-monooxygenase,1.14.13.-,S-mephenytoin 4-hydroxylase,CYPIIC9,Cytochrome P-450MP,Cytochrome P450 2C9,1.14.13.48,1.14.13.49,1.14.13.80,(S)-limonene 6-monooxygenase,Cytochrome P450 PB-1</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>6 </th>\n <td> CHEMBL1844</td>\n <td> -4.558361</td>\n <td> 2.417215e-05</td>\n <td> 3050</td>\n <td> CHEMBL1844</td>\n <td> 2236</td>\n <td> Macrophage colony stimulating factor receptor </td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Macrophage colony stimulating factor receptor </td>\n <td> P07333</td>\n <td> CD_antigen=CD115,FMS,Proto-oncogene c-Fms,CSF-1 receptor,CSF1R,2.7.10.1,CSF-1R,Macrophage colony-stimulating factor 1 receptor,CSF-1-R,M-CSF-R</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>7 </th>\n <td> CHEMBL3864</td>\n <td> -3.178081</td>\n <td> 2.384028e-05</td>\n <td> 514</td>\n <td> CHEMBL3864</td>\n <td> 472</td>\n <td> Protein-tyrosine phosphatase 2C</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Protein-tyrosine phosphatase 2C</td>\n <td> Q06124</td>\n <td> PTP2C ,Protein-tyrosine phosphatase 1D,SH-PTP2,Shp2,PTP-2C,PTPN11,3.1.3.48,Protein-tyrosine phosphatase 2C,Tyrosine-protein phosphatase non-receptor type 11,PTP-1D,SHPTP2,SH-PTP3,SHP-2</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>8 </th>\n <td> CHEMBL1293224</td>\n <td> -8.120585</td>\n <td> 2.002948e-05</td>\n <td> 94870</td>\n <td> CHEMBL1293224</td>\n <td> 66745</td>\n <td> Microtubule-associated protein tau</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Microtubule-associated protein tau</td>\n <td> P10636</td>\n <td> Neurofibrillary tangle protein,TAU,Microtubule-associated protein tau,MAPT,MTBT1,MAPTL ,Paired helical filament-tau,PHF-tau</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>9 </th>\n <td> CHEMBL340</td>\n <td> -7.057586</td>\n <td> 1.675756e-05</td>\n <td> 41002</td>\n <td> CHEMBL340</td>\n <td> 25069</td>\n <td> Cytochrome P450 3A4</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Cytochrome P450 3A4</td>\n <td> P08684</td>\n <td> Cytochrome P450-PCN1,Quinine 3-monooxygenase,1.14.13.32,CYPIIIA3,CYPIIIA4,Cytochrome P450 3A4,Taurochenodeoxycholate 6-alpha-hydroxylase,1.14.13.157,1.14.13.97,CYP3A3,Nifedipine oxidase,Albendazole monooxygenase,Cytochrome P450 3A3,1,8-cineole 2-exo-monooxygenase,1.14.13.-,1.14.13.67,Albendazole sulfoxidase,Cytochrome P450 NF-25,CYP3A4,Cytochrome P450 HLp</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>10</th>\n <td> CHEMBL3251</td>\n <td> -4.013259</td>\n <td> 1.407805e-05</td>\n <td> 1414</td>\n <td> CHEMBL3251</td>\n <td> 832</td>\n <td> Nuclear factor NF-kappa-B p105 subunit</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Nuclear factor NF-kappa-B p105 subunit</td>\n <td> P19838</td>\n <td> DNA-binding factor KBF1,Nuclear factor of kappa light polypeptide gene enhancer in B-cells 1,Nuclear factor NF-kappa-B p105 subunit,EBP-1,NFKB1,Nuclear factor NF-kappa-B p50 subunit</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>11</th>\n <td> CHEMBL5819</td>\n <td> -3.778378</td>\n <td> 1.142033e-05</td>\n <td> 697</td>\n <td> CHEMBL5819</td>\n <td> 671</td>\n <td> Serine/threonine-protein kinase Nek4</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Serine/threonine-protein kinase Nek4</td>\n <td> P51957</td>\n <td> Serine/threonine-protein kinase Nek4,STK2,Serine/threonine-protein kinase 2,Never in mitosis A-related kinase 4,NimA-related protein kinase 4,Serine/threonine-protein kinase NRK2,2.7.11.1,NEK4</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>12</th>\n <td> CHEMBL4375</td>\n <td> -4.249997</td>\n <td> 8.361080e-06</td>\n <td> 1965</td>\n <td> CHEMBL4375</td>\n <td> 1304</td>\n <td> Serine/threonine-protein kinase SRPK1</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Serine/threonine-protein kinase SRPK1</td>\n <td> Q96SB4</td>\n <td> SRPK1,SFRS protein kinase 1,SRSF protein kinase 1,2.7.11.1,SR-protein-specific kinase 1,Serine/arginine-rich protein-specific kinase 1</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>13</th>\n <td> CHEMBL3829</td>\n <td> -4.838576</td>\n <td> 4.729842e-06</td>\n <td> 1103</td>\n <td> CHEMBL3829</td>\n <td> 836</td>\n <td> CaM kinase II gamma</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> CaM kinase II gamma</td>\n <td> Q13555</td>\n <td> CAMK-II,CAMKG,CaMK-II subunit gamma,CaM kinase II subunit gamma,CAMK ,2.7.11.17,CAMK2G,Calcium/calmodulin-dependent protein kinase type II subunit gamma</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>14</th>\n <td> CHEMBL1293226</td>\n <td> -8.107135</td>\n <td> 3.012730e-06</td>\n <td> 40100</td>\n <td> CHEMBL1293226</td>\n <td> 39479</td>\n <td> Lysine-specific demethylase 4D-like</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Lysine-specific demethylase 4D-like</td>\n <td> B2RXH2</td>\n <td> 1.14.11.-,KDM4D-like protein,Lysine-specific demethylase 4E,Lysine-specific demethylase 4D-like,KDM4E,KDM4DL</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>15</th>\n <td> CHEMBL3357</td>\n <td> -6.169770</td>\n <td> 1.442251e-06</td>\n <td> 1062</td>\n <td> CHEMBL3357</td>\n <td> 845</td>\n <td> Interleukin-1 receptor-associated kinase 1 </td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Interleukin-1 receptor-associated kinase 1 </td>\n <td> P51617</td>\n <td> Interleukin-1 receptor-associated kinase 1,IRAK,IRAK-1,IRAK1,2.7.11.1</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>16</th>\n <td> CHEMBL5608</td>\n <td> -6.419374</td>\n <td> 1.123672e-06</td>\n <td> 1640</td>\n <td> CHEMBL5608</td>\n <td> 1169</td>\n <td> NT-3 growth factor receptor</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> NT-3 growth factor receptor</td>\n <td> Q16288</td>\n <td> Trk-C,Neurotrophic tyrosine kinase receptor type 3,GP145-TrkC,NTRK3,2.7.10.1,TRKC,TrkC tyrosine kinase,NT-3 growth factor receptor</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>17</th>\n <td> CHEMBL2349</td>\n <td> -6.023487</td>\n <td> 9.392001e-07</td>\n <td> 1863</td>\n <td> CHEMBL2349</td>\n <td> 1221</td>\n <td> Phosphorylase kinase gamma subunit 2</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Phosphorylase kinase gamma subunit 2</td>\n <td> P15735</td>\n <td> PHK-gamma-LT,PSK-C3,Phosphorylase kinase subunit gamma-2,PHKG2,2.7.11.19,Phosphorylase b kinase gamma catalytic chain, liver/testis isoform,PHK-gamma-T</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>18</th>\n <td> CHEMBL2608</td>\n <td> -9.634354</td>\n <td> 9.324493e-07</td>\n <td> 35490</td>\n <td> CHEMBL2608</td>\n <td> 22219</td>\n <td> Lysosomal alpha-glucosidase</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Lysosomal alpha-glucosidase</td>\n <td> P10253</td>\n <td> 3.2.1.20,Aglucosidase alfa,76 kDa lysosomal alpha-glucosidase,Acid maltase,Lysosomal alpha-glucosidase,GAA,70 kDa lysosomal alpha-glucosidase</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>19</th>\n <td> CHEMBL1293237</td>\n <td> -7.406758</td>\n <td> 8.157481e-07</td>\n <td> 3527</td>\n <td> CHEMBL1293237</td>\n <td> 2545</td>\n <td> Bloom syndrome protein</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Bloom syndrome protein</td>\n <td> P54132</td>\n <td> RECQ2 ,RECQL3,RecQ2,RecQ protein-like 3,3.6.4.12,DNA helicase, RecQ-like type 2,BLM,Bloom syndrome protein</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>20</th>\n <td> CHEMBL5619</td>\n <td> -9.788458</td>\n <td> 6.510876e-07</td>\n <td> 12233</td>\n <td> CHEMBL5619</td>\n <td> 11318</td>\n <td> DNA-(apurinic or apyrimidinic site) lyase</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> DNA-(apurinic or apyrimidinic site) lyase</td>\n <td> P27695</td>\n <td> 3.1.-.-,APEX,APX,REF-1,AP endonuclease 1,APE1,REF1,Apurinic-apyrimidinic endonuclease 1,Redox factor-1,APEN,APEX nuclease,APEX1,APE-1,APE ,DNA-(apurinic or apyrimidinic site) lyase,DNA-(apurinic or apyrimidinic site) lyase, mitochondrial,HAP1,4.2.99.18</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>21</th>\n <td> CHEMBL3622</td>\n <td>-10.298987</td>\n <td> 5.584379e-07</td>\n <td> 24894</td>\n <td> CHEMBL3622</td>\n <td> 19359</td>\n <td> Cytochrome P450 2C19</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Cytochrome P450 2C19</td>\n <td> P33261</td>\n <td> (R)-limonene 6-monooxygenase,Mephenytoin 4-hydroxylase,CYPIIC17,Cytochrome P450-254C,(S)-limonene 6-monooxygenase,(S)-limonene 7-monooxygenase,1.14.13.80,CYP2C19,Cytochrome P450 2C19,Cytochrome P450-11A,1.14.13.-,CYPIIC19,1.14.13.48,1.14.13.49</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>22</th>\n <td> CHEMBL1075138</td>\n <td> -9.743358</td>\n <td> 4.742838e-07</td>\n <td> 13204</td>\n <td> CHEMBL1075138</td>\n <td> 12175</td>\n <td> Tyrosyl-DNA phosphodiesterase 1</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Tyrosyl-DNA phosphodiesterase 1</td>\n <td> Q9NUW8</td>\n <td> 3.1.4.-,TDP1,Tyr-DNA phosphodiesterase 1,Tyrosyl-DNA phosphodiesterase 1</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>23</th>\n <td> CHEMBL2345</td>\n <td> -8.710460</td>\n <td> 2.357915e-07</td>\n <td> 2882</td>\n <td> CHEMBL2345</td>\n <td> 2014</td>\n <td> Ribosomal protein S6 kinase alpha 3</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Ribosomal protein S6 kinase alpha 3</td>\n <td> P51812</td>\n <td> Insulin-stimulated protein kinase 1,p90RSK3,90 kDa ribosomal protein S6 kinase 3,MAP kinase-activated protein kinase 1b,MAPKAPK1B,RSK-2,pp90RSK2,RSK2,S6K-alpha-3,p90-RSK 3,ISPK1 ,MAPKAP kinase 1b,RPS6KA3,Ribosomal S6 kinase 2,Ribosomal protein S6 kinase alpha-3,MAPKAPK-1b,2.7.11.1,ISPK-1,MAPK-activated protein kinase 1b</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>24</th>\n <td> CHEMBL2392</td>\n <td>-11.045848</td>\n <td> 2.238330e-07</td>\n <td> 23508</td>\n <td> CHEMBL2392</td>\n <td> 23103</td>\n <td> DNA polymerase beta</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> DNA polymerase beta</td>\n <td> P06746</td>\n <td> DNA polymerase beta,2.7.7.7,POLB,4.2.99.-</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>25</th>\n <td> CHEMBL5678</td>\n <td> -6.808275</td>\n <td> 2.188216e-07</td>\n <td> 710</td>\n <td> CHEMBL5678</td>\n <td> 524</td>\n <td> G protein-coupled receptor kinase 5</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> G protein-coupled receptor kinase 5</td>\n <td> P34947</td>\n <td> G protein-coupled receptor kinase 5,GPRK5,2.7.11.16,GRK5,G protein-coupled receptor kinase GRK5</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>26</th>\n <td> CHEMBL5514</td>\n <td>-11.485612</td>\n <td> 2.095691e-07</td>\n <td> 18930</td>\n <td> CHEMBL5514</td>\n <td> 18779</td>\n <td> Huntingtin</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Huntingtin</td>\n <td> P42858</td>\n <td> HD protein,Huntington disease protein,HTT,HD ,IT15,Huntingtin</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>27</th>\n <td> CHEMBL4121</td>\n <td> -8.885506</td>\n <td> 7.879409e-08</td>\n <td> 1142</td>\n <td> CHEMBL4121</td>\n <td> 873</td>\n <td> CaM kinase II beta</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> CaM kinase II beta</td>\n <td> Q13554</td>\n <td> CAMK2B,CAMKB,Calcium/calmodulin-dependent protein kinase type II subunit beta,CaM kinase II subunit beta,CAM2 ,2.7.11.17,CAMK2,CaMK-II subunit beta</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>28</th>\n <td> CHEMBL5330</td>\n <td> -9.748427</td>\n <td> 6.963056e-08</td>\n <td> 1765</td>\n <td> CHEMBL5330</td>\n <td> 1333</td>\n <td> Mitogen-activated protein kinase kinase kinase kinase 2</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Mitogen-activated protein kinase kinase kinase kinase 2</td>\n <td> Q12851</td>\n <td> GC kinase,Mitogen-activated protein kinase kinase kinase kinase 2,RAB8IP,B lymphocyte serine/threonine-protein kinase,GCK ,MAP4K2,MAPK/ERK kinase kinase kinase 2,MEK kinase kinase 2,Rab8-interacting protein,MEKKK 2,2.7.11.1,Germinal center kinase</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>29</th>\n <td> CHEMBL1287622</td>\n <td>-12.364669</td>\n <td> 5.909332e-08</td>\n <td> 14380</td>\n <td> CHEMBL1287622</td>\n <td> 13842</td>\n <td> Lethal(3)malignant brain tumor-like protein 1</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Lethal(3)malignant brain tumor-like protein 1</td>\n <td> Q9Y468</td>\n <td> H-l(3)mbt,KIAA0681 ,L(3)mbt protein homolog,H-l(3)mbt protein,L3MBT,L(3)mbt-like,L3MBTL,L3MBTL1,Lethal(3)malignant brain tumor-like protein 1</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>30</th>\n <td> CHEMBL3880</td>\n <td>-10.854726</td>\n <td> 5.408083e-08</td>\n <td> 1518</td>\n <td> CHEMBL3880</td>\n <td> 1330</td>\n <td> Heat shock protein HSP 90-alpha</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Heat shock protein HSP 90-alpha</td>\n <td> P07900</td>\n <td> HSP90AA1,HSPC1,HSPCA,HSP 86,Heat shock 86 kDa,HSP90A ,Renal carcinoma antigen NY-REN-38,HSP86,Heat shock protein HSP 90-alpha</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>31</th>\n <td> CHEMBL3831</td>\n <td> -9.581272</td>\n <td> 5.028121e-08</td>\n <td> 1972</td>\n <td> CHEMBL3831</td>\n <td> 1311</td>\n <td> MAP/microtubule affinity-regulating kinase 2</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> MAP/microtubule affinity-regulating kinase 2</td>\n <td> Q7KZI7</td>\n <td> PAR1 homolog,2.7.11.26,PAR1 homolog b,ELKL motif kinase 1,Par-1b,Par1b,2.7.11.1,EMK-1,EMK1,MARK2,Serine/threonine-protein kinase MARK2,MAP/microtubule affinity-regulating kinase 2</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>32</th>\n <td> CHEMBL3687</td>\n <td>-10.700719</td>\n <td> 3.877989e-08</td>\n <td> 2986</td>\n <td> CHEMBL3687</td>\n <td> 2783</td>\n <td> Arachidonate 12-lipoxygenase</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Arachidonate 12-lipoxygenase</td>\n <td> P18054</td>\n <td> 1.13.11.31,Platelet-type lipoxygenase 12,12S-LOX,ALOX12,Arachidonate 12-lipoxygenase, 12S-type,12S-lipoxygenase,LOG12</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>33</th>\n <td> CHEMBL2635</td>\n <td>-10.136158</td>\n <td> 3.429273e-08</td>\n <td> 999</td>\n <td> CHEMBL2635</td>\n <td> 749</td>\n <td> Dual specificity protein phosphatase 3</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Dual specificity protein phosphatase 3</td>\n <td> P51452</td>\n <td> DUSP3,VHR,Vaccinia H1-related phosphatase,Dual specificity protein phosphatase 3,3.1.3.16,3.1.3.48,Dual specificity protein phosphatase VHR</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>34</th>\n <td> CHEMBL5703</td>\n <td> -8.657548</td>\n <td> 2.909652e-08</td>\n <td> 1361</td>\n <td> CHEMBL5703</td>\n <td> 928</td>\n <td> Tyrosine-protein kinase Srms</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Tyrosine-protein kinase Srms</td>\n <td> Q9H3Y6</td>\n <td> 2.7.10.2,C20orf148,SRMS,Tyrosine-protein kinase Srms</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>35</th>\n <td> CHEMBL6110</td>\n <td>-13.142991</td>\n <td> 2.826405e-08</td>\n <td> 28554</td>\n <td> CHEMBL6110</td>\n <td> 28424</td>\n <td> Thioredoxin glutathione reductase</td>\n <td> Unspecified</td>\n <td> Schistosoma mansoni</td>\n <td> Thioredoxin glutathione reductase</td>\n <td> Q962Y6</td>\n <td> 1.6.4.5,Thioredoxin glutathione reductase,TGR</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>36</th>\n <td> CHEMBL2000</td>\n <td> -8.254688</td>\n <td> 2.684254e-08</td>\n <td> 386</td>\n <td> CHEMBL2000</td>\n <td> 377</td>\n <td> Plasma kallikrein</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Plasma kallikrein</td>\n <td> P03952</td>\n <td> 3.4.21.34,KLK3,Plasma kallikrein light chain,KLKB1,Plasma kallikrein,Fletcher factor,Kininogenin,Plasma kallikrein heavy chain,Plasma prekallikrein</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>37</th>\n <td> CHEMBL2026</td>\n <td>-15.105660</td>\n <td> 2.488860e-08</td>\n <td> 62345</td>\n <td> CHEMBL2026</td>\n <td> 61931</td>\n <td> Beta-lactamase AmpC</td>\n <td> Unspecified</td>\n <td> Escherichia coli K-12</td>\n <td> Beta-lactamase AmpC</td>\n <td> P00811</td>\n <td> 3.5.2.6,Cephalosporinase,Beta-lactamase,ampA,ampC,JW4111</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>38</th>\n <td> CHEMBL4045</td>\n <td>-10.430489</td>\n <td> 2.307468e-08</td>\n <td> 1905</td>\n <td> CHEMBL4045</td>\n <td> 1414</td>\n <td> AMP-activated protein kinase, alpha-1 subunit</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> AMP-activated protein kinase, alpha-1 subunit</td>\n <td> Q13131</td>\n <td> Acetyl-CoA carboxylase kinase,Hydroxymethylglutaryl-CoA reductase kinase,ACACA kinase,AMPK1,Tau-protein kinase PRKAA1,5'-AMP-activated protein kinase catalytic subunit alpha-1,AMPK subunit alpha-1,PRKAA1,2.7.11.1,2.7.11.27,HMGCR kinase,2.7.11.26,2.7.11.31</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>39</th>\n <td> CHEMBL4361</td>\n <td>-11.852786</td>\n <td> 2.121214e-08</td>\n <td> 1730</td>\n <td> CHEMBL4361</td>\n <td> 1529</td>\n <td> Induced myeloid leukemia cell differentiation protein Mcl-1</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Induced myeloid leukemia cell differentiation protein Mcl-1</td>\n <td> Q07820</td>\n <td> Bcl-2-like protein 3,Bcl2-L-3,BCL2L3,Bcl-2-related protein EAT/mcl1,MCL1,mcl1/EAT,Induced myeloid leukemia cell differentiation protein Mcl-1</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>40</th>\n <td> CHEMBL1841</td>\n <td>-10.835085</td>\n <td> 1.770805e-08</td>\n <td> 4287</td>\n <td> CHEMBL1841</td>\n <td> 2673</td>\n <td> Tyrosine-protein kinase FYN</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Tyrosine-protein kinase FYN</td>\n <td> P06241</td>\n <td> FYN,Src-like kinase,Tyrosine-protein kinase Fyn,SLK,2.7.10.2,p59-Fyn,Proto-oncogene Syn,Proto-oncogene c-Fyn</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>41</th>\n <td> CHEMBL5084</td>\n <td>-10.170842</td>\n <td> 1.698210e-08</td>\n <td> 1760</td>\n <td> CHEMBL5084</td>\n <td> 1149</td>\n <td> Casein kinase I isoform gamma-3</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Casein kinase I isoform gamma-3</td>\n <td> Q9Y6M4</td>\n <td> CSNK1G3,Casein kinase I isoform gamma-3,2.7.11.1,CKI-gamma 3</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>42</th>\n <td> CHEMBL2964</td>\n <td>-10.054459</td>\n <td> 1.655742e-08</td>\n <td> 530</td>\n <td> CHEMBL2964</td>\n <td> 445</td>\n <td> Dual specificity mitogen-activated protein kinase kinase 2</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Dual specificity mitogen-activated protein kinase kinase 2</td>\n <td> P36507</td>\n <td> Dual specificity mitogen-activated protein kinase kinase 2,MAP2K2,MEK 2,MAPK/ERK kinase 2,MKK2,2.7.12.2,ERK activator kinase 2,MAP kinase kinase 2,MEK2 ,PRKMK2,MAPKK 2</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>43</th>\n <td> CHEMBL5261</td>\n <td>-11.125414</td>\n <td> 1.460478e-08</td>\n <td> 1341</td>\n <td> CHEMBL5261</td>\n <td> 1102</td>\n <td> Serine/threonine-protein kinase TAO1</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Serine/threonine-protein kinase TAO1</td>\n <td> Q7L7X3</td>\n <td> Kinase from chicken homolog B,MAP3K16,hKFC-B,MARKK,hTAOK1,KIAA1361 ,2.7.11.1,Prostate-derived sterile 20-like kinase 2,Serine/threonine-protein kinase TAO1,TAOK1,PSK-2,Prostate-derived STE20-like kinase 2,Thousand and one amino acid protein kinase 1,MARK Kinase,PSK2</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>44</th>\n <td> CHEMBL1947</td>\n <td>-13.054890</td>\n <td> 1.261405e-08</td>\n <td> 7660</td>\n <td> CHEMBL1947</td>\n <td> 6167</td>\n <td> Thyroid hormone receptor beta-1</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Thyroid hormone receptor beta-1</td>\n <td> P10828</td>\n <td> Thyroid hormone receptor beta,NR1A2,Nuclear receptor subfamily 1 group A member 2,THR1,THRB,ERBA2 ,c-erbA-beta,c-erbA-2</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>45</th>\n <td> CHEMBL4096</td>\n <td>-14.491456</td>\n <td> 1.231427e-08</td>\n <td> 47676</td>\n <td> CHEMBL4096</td>\n <td> 36223</td>\n <td> Cellular tumor antigen p53</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Cellular tumor antigen p53</td>\n <td> P04637</td>\n <td> P53,Phosphoprotein p53,Tumor suppressor p53,TP53,Antigen NY-CO-13,Cellular tumor antigen p53</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>46</th>\n <td> CHEMBL2480</td>\n <td> -9.567470</td>\n <td> 1.229872e-08</td>\n <td> 193</td>\n <td> CHEMBL2480</td>\n <td> 161</td>\n <td> Tyrosine-protein kinase LCK</td>\n <td> Unspecified</td>\n <td> Mus musculus</td>\n <td> Tyrosine-protein kinase LCK</td>\n <td> P06240</td>\n <td> Lsk-t,Lymphocyte cell-specific protein-tyrosine kinase,Proto-oncogene tyrosine-protein kinase LCK,2.7.10.2,Lck,p56-LCK,LSK,Leukocyte C-terminal Src kinase</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>47</th>\n <td> CHEMBL1075167</td>\n <td>-11.321149</td>\n <td> 9.774130e-09</td>\n <td> 1465</td>\n <td> CHEMBL1075167</td>\n <td> 1054</td>\n <td> Homeodomain-interacting protein kinase 4</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Homeodomain-interacting protein kinase 4</td>\n <td> Q8NE63</td>\n <td> Homeodomain-interacting protein kinase 4,HIPK4,2.7.11.1</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>48</th>\n <td> CHEMBL4575</td>\n <td>-10.997478</td>\n <td> 9.767824e-09</td>\n <td> 665</td>\n <td> CHEMBL4575</td>\n <td> 625</td>\n <td> Dual-specificity tyrosine-phosphorylation regulated kinase 3</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> Dual-specificity tyrosine-phosphorylation regulated kinase 3</td>\n <td> O43781</td>\n <td> Dual specificity tyrosine-phosphorylation-regulated kinase 3,2.7.12.1,DYRK3,REDK,Regulatory erythroid kinase</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n <tr>\n <th>49</th>\n <td> CHEMBL4040</td>\n <td>-13.895574</td>\n <td> 9.011959e-09</td>\n <td> 18628</td>\n <td> CHEMBL4040</td>\n <td> 16377</td>\n <td> MAP kinase ERK2</td>\n <td> Unspecified</td>\n <td> Homo sapiens</td>\n <td> MAP kinase ERK2</td>\n <td> P28482</td>\n <td> ERT1,MAP kinase isoform p42,MAP kinase 2,MAPK1,PRKM2,p42-MAPK,Extracellular signal-regulated kinase 2,MAPK 2,Mitogen-activated protein kinase 2,ERK2 ,ERK-2,MAP kinase 1,Mitogen-activated protein kinase 1,2.7.11.24,MAPK 1,PRKM1</td>\n <td> SINGLE PROTEIN</td>\n </tr>\n </tbody>\n</table>\n</div>",
"metadata": {},
"output_type": "pyout",
"prompt_number": 32,
"text": " id score proba bioactivityCount chemblId compoundCount description geneNames organism preferredName proteinAccession synonyms targetType\n0 CHEMBL5414 18.159497 9.999767e-01 1038 CHEMBL5414 567 Beta-2 adrenergic receptor Unspecified Cavia porcellus Beta-2 adrenergic receptor Q8K4Z4 Adrb2,Beta-2 adrenoreceptor,Beta-2 adrenoceptor,Beta-2 adrenergic receptor SINGLE PROTEIN\n1 CHEMBL3252 10.654329 8.746177e-01 377 CHEMBL3252 277 Beta-1 adrenergic receptor Unspecified Rattus norvegicus Beta-1 adrenergic receptor P18090 Beta-1 adrenoceptor,Adrb1r,Beta-1 adrenergic receptor,Adrb1,Beta-1 adrenoreceptor SINGLE PROTEIN\n2 CHEMBL275 7.960013 8.438291e-01 1001 CHEMBL275 876 Phosphodiesterase 4B Unspecified Homo sapiens Phosphodiesterase 4B Q07343 cAMP-specific 3',5'-cyclic phosphodiesterase 4B,3.1.4.17,DPDE4,PDE32,PDE4B SINGLE PROTEIN\n3 CHEMBL210 6.068692 5.586511e-01 6480 CHEMBL210 4270 Beta-2 adrenergic receptor Unspecified Homo sapiens Beta-2 adrenergic receptor P07550 Beta-2 adrenergic receptor,ADRB2,Beta-2 adrenoreceptor,Beta-2 adrenoceptor,ADRB2R ,B2AR SINGLE PROTEIN\n4 CHEMBL213 -1.089044 9.085123e-04 4327 CHEMBL213 2679 Beta-1 adrenergic receptor Unspecified Homo sapiens Beta-1 adrenergic receptor P08588 ADRB1,ADRB1R ,B1AR,Beta-1 adrenergic receptor,Beta-1 adrenoreceptor,Beta-1 adrenoceptor SINGLE PROTEIN\n5 CHEMBL3397 -4.842163 1.187064e-04 25905 CHEMBL3397 20826 Cytochrome P450 2C9 Unspecified Homo sapiens Cytochrome P450 2C9 P11712 (R)-limonene 6-monooxygenase,CYP2C9,Cytochrome P450 MP-4,CYP2C10,Cytochrome P450 MP-8,(S)-limonene 7-monooxygenase,1.14.13.-,S-mephenytoin 4-hydroxylase,CYPIIC9,Cytochrome P-450MP,Cytochrome P450 2C9,1.14.13.48,1.14.13.49,1.14.13.80,(S)-limonene 6-monooxygenase,Cytochrome P450 PB-1 SINGLE PROTEIN\n6 CHEMBL1844 -4.558361 2.417215e-05 3050 CHEMBL1844 2236 Macrophage colony stimulating factor receptor Unspecified Homo sapiens Macrophage colony stimulating factor receptor P07333 CD_antigen=CD115,FMS,Proto-oncogene c-Fms,CSF-1 receptor,CSF1R,2.7.10.1,CSF-1R,Macrophage colony-stimulating factor 1 receptor,CSF-1-R,M-CSF-R SINGLE PROTEIN\n7 CHEMBL3864 -3.178081 2.384028e-05 514 CHEMBL3864 472 Protein-tyrosine phosphatase 2C Unspecified Homo sapiens Protein-tyrosine phosphatase 2C Q06124 PTP2C ,Protein-tyrosine phosphatase 1D,SH-PTP2,Shp2,PTP-2C,PTPN11,3.1.3.48,Protein-tyrosine phosphatase 2C,Tyrosine-protein phosphatase non-receptor type 11,PTP-1D,SHPTP2,SH-PTP3,SHP-2 SINGLE PROTEIN\n8 CHEMBL1293224 -8.120585 2.002948e-05 94870 CHEMBL1293224 66745 Microtubule-associated protein tau Unspecified Homo sapiens Microtubule-associated protein tau P10636 Neurofibrillary tangle protein,TAU,Microtubule-associated protein tau,MAPT,MTBT1,MAPTL ,Paired helical filament-tau,PHF-tau SINGLE PROTEIN\n9 CHEMBL340 -7.057586 1.675756e-05 41002 CHEMBL340 25069 Cytochrome P450 3A4 Unspecified Homo sapiens Cytochrome P450 3A4 P08684 Cytochrome P450-PCN1,Quinine 3-monooxygenase,1.14.13.32,CYPIIIA3,CYPIIIA4,Cytochrome P450 3A4,Taurochenodeoxycholate 6-alpha-hydroxylase,1.14.13.157,1.14.13.97,CYP3A3,Nifedipine oxidase,Albendazole monooxygenase,Cytochrome P450 3A3,1,8-cineole 2-exo-monooxygenase,1.14.13.-,1.14.13.67,Albendazole sulfoxidase,Cytochrome P450 NF-25,CYP3A4,Cytochrome P450 HLp SINGLE PROTEIN\n10 CHEMBL3251 -4.013259 1.407805e-05 1414 CHEMBL3251 832 Nuclear factor NF-kappa-B p105 subunit Unspecified Homo sapiens Nuclear factor NF-kappa-B p105 subunit P19838 DNA-binding factor KBF1,Nuclear factor of kappa light polypeptide gene enhancer in B-cells 1,Nuclear factor NF-kappa-B p105 subunit,EBP-1,NFKB1,Nuclear factor NF-kappa-B p50 subunit SINGLE PROTEIN\n11 CHEMBL5819 -3.778378 1.142033e-05 697 CHEMBL5819 671 Serine/threonine-protein kinase Nek4 Unspecified Homo sapiens Serine/threonine-protein kinase Nek4 P51957 Serine/threonine-protein kinase Nek4,STK2,Serine/threonine-protein kinase 2,Never in mitosis A-related kinase 4,NimA-related protein kinase 4,Serine/threonine-protein kinase NRK2,2.7.11.1,NEK4 SINGLE PROTEIN\n12 CHEMBL4375 -4.249997 8.361080e-06 1965 CHEMBL4375 1304 Serine/threonine-protein kinase SRPK1 Unspecified Homo sapiens Serine/threonine-protein kinase SRPK1 Q96SB4 SRPK1,SFRS protein kinase 1,SRSF protein kinase 1,2.7.11.1,SR-protein-specific kinase 1,Serine/arginine-rich protein-specific kinase 1 SINGLE PROTEIN\n13 CHEMBL3829 -4.838576 4.729842e-06 1103 CHEMBL3829 836 CaM kinase II gamma Unspecified Homo sapiens CaM kinase II gamma Q13555 CAMK-II,CAMKG,CaMK-II subunit gamma,CaM kinase II subunit gamma,CAMK ,2.7.11.17,CAMK2G,Calcium/calmodulin-dependent protein kinase type II subunit gamma SINGLE PROTEIN\n14 CHEMBL1293226 -8.107135 3.012730e-06 40100 CHEMBL1293226 39479 Lysine-specific demethylase 4D-like Unspecified Homo sapiens Lysine-specific demethylase 4D-like B2RXH2 1.14.11.-,KDM4D-like protein,Lysine-specific demethylase 4E,Lysine-specific demethylase 4D-like,KDM4E,KDM4DL SINGLE PROTEIN\n15 CHEMBL3357 -6.169770 1.442251e-06 1062 CHEMBL3357 845 Interleukin-1 receptor-associated kinase 1 Unspecified Homo sapiens Interleukin-1 receptor-associated kinase 1 P51617 Interleukin-1 receptor-associated kinase 1,IRAK,IRAK-1,IRAK1,2.7.11.1 SINGLE PROTEIN\n16 CHEMBL5608 -6.419374 1.123672e-06 1640 CHEMBL5608 1169 NT-3 growth factor receptor Unspecified Homo sapiens NT-3 growth factor receptor Q16288 Trk-C,Neurotrophic tyrosine kinase receptor type 3,GP145-TrkC,NTRK3,2.7.10.1,TRKC,TrkC tyrosine kinase,NT-3 growth factor receptor SINGLE PROTEIN\n17 CHEMBL2349 -6.023487 9.392001e-07 1863 CHEMBL2349 1221 Phosphorylase kinase gamma subunit 2 Unspecified Homo sapiens Phosphorylase kinase gamma subunit 2 P15735 PHK-gamma-LT,PSK-C3,Phosphorylase kinase subunit gamma-2,PHKG2,2.7.11.19,Phosphorylase b kinase gamma catalytic chain, liver/testis isoform,PHK-gamma-T SINGLE PROTEIN\n18 CHEMBL2608 -9.634354 9.324493e-07 35490 CHEMBL2608 22219 Lysosomal alpha-glucosidase Unspecified Homo sapiens Lysosomal alpha-glucosidase P10253 3.2.1.20,Aglucosidase alfa,76 kDa lysosomal alpha-glucosidase,Acid maltase,Lysosomal alpha-glucosidase,GAA,70 kDa lysosomal alpha-glucosidase SINGLE PROTEIN\n19 CHEMBL1293237 -7.406758 8.157481e-07 3527 CHEMBL1293237 2545 Bloom syndrome protein Unspecified Homo sapiens Bloom syndrome protein P54132 RECQ2 ,RECQL3,RecQ2,RecQ protein-like 3,3.6.4.12,DNA helicase, RecQ-like type 2,BLM,Bloom syndrome protein SINGLE PROTEIN\n20 CHEMBL5619 -9.788458 6.510876e-07 12233 CHEMBL5619 11318 DNA-(apurinic or apyrimidinic site) lyase Unspecified Homo sapiens DNA-(apurinic or apyrimidinic site) lyase P27695 3.1.-.-,APEX,APX,REF-1,AP endonuclease 1,APE1,REF1,Apurinic-apyrimidinic endonuclease 1,Redox factor-1,APEN,APEX nuclease,APEX1,APE-1,APE ,DNA-(apurinic or apyrimidinic site) lyase,DNA-(apurinic or apyrimidinic site) lyase, mitochondrial,HAP1,4.2.99.18 SINGLE PROTEIN\n21 CHEMBL3622 -10.298987 5.584379e-07 24894 CHEMBL3622 19359 Cytochrome P450 2C19 Unspecified Homo sapiens Cytochrome P450 2C19 P33261 (R)-limonene 6-monooxygenase,Mephenytoin 4-hydroxylase,CYPIIC17,Cytochrome P450-254C,(S)-limonene 6-monooxygenase,(S)-limonene 7-monooxygenase,1.14.13.80,CYP2C19,Cytochrome P450 2C19,Cytochrome P450-11A,1.14.13.-,CYPIIC19,1.14.13.48,1.14.13.49 SINGLE PROTEIN\n22 CHEMBL1075138 -9.743358 4.742838e-07 13204 CHEMBL1075138 12175 Tyrosyl-DNA phosphodiesterase 1 Unspecified Homo sapiens Tyrosyl-DNA phosphodiesterase 1 Q9NUW8 3.1.4.-,TDP1,Tyr-DNA phosphodiesterase 1,Tyrosyl-DNA phosphodiesterase 1 SINGLE PROTEIN\n23 CHEMBL2345 -8.710460 2.357915e-07 2882 CHEMBL2345 2014 Ribosomal protein S6 kinase alpha 3 Unspecified Homo sapiens Ribosomal protein S6 kinase alpha 3 P51812 Insulin-stimulated protein kinase 1,p90RSK3,90 kDa ribosomal protein S6 kinase 3,MAP kinase-activated protein kinase 1b,MAPKAPK1B,RSK-2,pp90RSK2,RSK2,S6K-alpha-3,p90-RSK 3,ISPK1 ,MAPKAP kinase 1b,RPS6KA3,Ribosomal S6 kinase 2,Ribosomal protein S6 kinase alpha-3,MAPKAPK-1b,2.7.11.1,ISPK-1,MAPK-activated protein kinase 1b SINGLE PROTEIN\n24 CHEMBL2392 -11.045848 2.238330e-07 23508 CHEMBL2392 23103 DNA polymerase beta Unspecified Homo sapiens DNA polymerase beta P06746 DNA polymerase beta,2.7.7.7,POLB,4.2.99.- SINGLE PROTEIN\n25 CHEMBL5678 -6.808275 2.188216e-07 710 CHEMBL5678 524 G protein-coupled receptor kinase 5 Unspecified Homo sapiens G protein-coupled receptor kinase 5 P34947 G protein-coupled receptor kinase 5,GPRK5,2.7.11.16,GRK5,G protein-coupled receptor kinase GRK5 SINGLE PROTEIN\n26 CHEMBL5514 -11.485612 2.095691e-07 18930 CHEMBL5514 18779 Huntingtin Unspecified Homo sapiens Huntingtin P42858 HD protein,Huntington disease protein,HTT,HD ,IT15,Huntingtin SINGLE PROTEIN\n27 CHEMBL4121 -8.885506 7.879409e-08 1142 CHEMBL4121 873 CaM kinase II beta Unspecified Homo sapiens CaM kinase II beta Q13554 CAMK2B,CAMKB,Calcium/calmodulin-dependent protein kinase type II subunit beta,CaM kinase II subunit beta,CAM2 ,2.7.11.17,CAMK2,CaMK-II subunit beta SINGLE PROTEIN\n28 CHEMBL5330 -9.748427 6.963056e-08 1765 CHEMBL5330 1333 Mitogen-activated protein kinase kinase kinase kinase 2 Unspecified Homo sapiens Mitogen-activated protein kinase kinase kinase kinase 2 Q12851 GC kinase,Mitogen-activated protein kinase kinase kinase kinase 2,RAB8IP,B lymphocyte serine/threonine-protein kinase,GCK ,MAP4K2,MAPK/ERK kinase kinase kinase 2,MEK kinase kinase 2,Rab8-interacting protein,MEKKK 2,2.7.11.1,Germinal center kinase SINGLE PROTEIN\n29 CHEMBL1287622 -12.364669 5.909332e-08 14380 CHEMBL1287622 13842 Lethal(3)malignant brain tumor-like protein 1 Unspecified Homo sapiens Lethal(3)malignant brain tumor-like protein 1 Q9Y468 H-l(3)mbt,KIAA0681 ,L(3)mbt protein homolog,H-l(3)mbt protein,L3MBT,L(3)mbt-like,L3MBTL,L3MBTL1,Lethal(3)malignant brain tumor-like protein 1 SINGLE PROTEIN\n30 CHEMBL3880 -10.854726 5.408083e-08 1518 CHEMBL3880 1330 Heat shock protein HSP 90-alpha Unspecified Homo sapiens Heat shock protein HSP 90-alpha P07900 HSP90AA1,HSPC1,HSPCA,HSP 86,Heat shock 86 kDa,HSP90A ,Renal carcinoma antigen NY-REN-38,HSP86,Heat shock protein HSP 90-alpha SINGLE PROTEIN\n31 CHEMBL3831 -9.581272 5.028121e-08 1972 CHEMBL3831 1311 MAP/microtubule affinity-regulating kinase 2 Unspecified Homo sapiens MAP/microtubule affinity-regulating kinase 2 Q7KZI7 PAR1 homolog,2.7.11.26,PAR1 homolog b,ELKL motif kinase 1,Par-1b,Par1b,2.7.11.1,EMK-1,EMK1,MARK2,Serine/threonine-protein kinase MARK2,MAP/microtubule affinity-regulating kinase 2 SINGLE PROTEIN\n32 CHEMBL3687 -10.700719 3.877989e-08 2986 CHEMBL3687 2783 Arachidonate 12-lipoxygenase Unspecified Homo sapiens Arachidonate 12-lipoxygenase P18054 1.13.11.31,Platelet-type lipoxygenase 12,12S-LOX,ALOX12,Arachidonate 12-lipoxygenase, 12S-type,12S-lipoxygenase,LOG12 SINGLE PROTEIN\n33 CHEMBL2635 -10.136158 3.429273e-08 999 CHEMBL2635 749 Dual specificity protein phosphatase 3 Unspecified Homo sapiens Dual specificity protein phosphatase 3 P51452 DUSP3,VHR,Vaccinia H1-related phosphatase,Dual specificity protein phosphatase 3,3.1.3.16,3.1.3.48,Dual specificity protein phosphatase VHR SINGLE PROTEIN\n34 CHEMBL5703 -8.657548 2.909652e-08 1361 CHEMBL5703 928 Tyrosine-protein kinase Srms Unspecified Homo sapiens Tyrosine-protein kinase Srms Q9H3Y6 2.7.10.2,C20orf148,SRMS,Tyrosine-protein kinase Srms SINGLE PROTEIN\n35 CHEMBL6110 -13.142991 2.826405e-08 28554 CHEMBL6110 28424 Thioredoxin glutathione reductase Unspecified Schistosoma mansoni Thioredoxin glutathione reductase Q962Y6 1.6.4.5,Thioredoxin glutathione reductase,TGR SINGLE PROTEIN\n36 CHEMBL2000 -8.254688 2.684254e-08 386 CHEMBL2000 377 Plasma kallikrein Unspecified Homo sapiens Plasma kallikrein P03952 3.4.21.34,KLK3,Plasma kallikrein light chain,KLKB1,Plasma kallikrein,Fletcher factor,Kininogenin,Plasma kallikrein heavy chain,Plasma prekallikrein SINGLE PROTEIN\n37 CHEMBL2026 -15.105660 2.488860e-08 62345 CHEMBL2026 61931 Beta-lactamase AmpC Unspecified Escherichia coli K-12 Beta-lactamase AmpC P00811 3.5.2.6,Cephalosporinase,Beta-lactamase,ampA,ampC,JW4111 SINGLE PROTEIN\n38 CHEMBL4045 -10.430489 2.307468e-08 1905 CHEMBL4045 1414 AMP-activated protein kinase, alpha-1 subunit Unspecified Homo sapiens AMP-activated protein kinase, alpha-1 subunit Q13131 Acetyl-CoA carboxylase kinase,Hydroxymethylglutaryl-CoA reductase kinase,ACACA kinase,AMPK1,Tau-protein kinase PRKAA1,5'-AMP-activated protein kinase catalytic subunit alpha-1,AMPK subunit alpha-1,PRKAA1,2.7.11.1,2.7.11.27,HMGCR kinase,2.7.11.26,2.7.11.31 SINGLE PROTEIN\n39 CHEMBL4361 -11.852786 2.121214e-08 1730 CHEMBL4361 1529 Induced myeloid leukemia cell differentiation protein Mcl-1 Unspecified Homo sapiens Induced myeloid leukemia cell differentiation protein Mcl-1 Q07820 Bcl-2-like protein 3,Bcl2-L-3,BCL2L3,Bcl-2-related protein EAT/mcl1,MCL1,mcl1/EAT,Induced myeloid leukemia cell differentiation protein Mcl-1 SINGLE PROTEIN\n40 CHEMBL1841 -10.835085 1.770805e-08 4287 CHEMBL1841 2673 Tyrosine-protein kinase FYN Unspecified Homo sapiens Tyrosine-protein kinase FYN P06241 FYN,Src-like kinase,Tyrosine-protein kinase Fyn,SLK,2.7.10.2,p59-Fyn,Proto-oncogene Syn,Proto-oncogene c-Fyn SINGLE PROTEIN\n41 CHEMBL5084 -10.170842 1.698210e-08 1760 CHEMBL5084 1149 Casein kinase I isoform gamma-3 Unspecified Homo sapiens Casein kinase I isoform gamma-3 Q9Y6M4 CSNK1G3,Casein kinase I isoform gamma-3,2.7.11.1,CKI-gamma 3 SINGLE PROTEIN\n42 CHEMBL2964 -10.054459 1.655742e-08 530 CHEMBL2964 445 Dual specificity mitogen-activated protein kinase kinase 2 Unspecified Homo sapiens Dual specificity mitogen-activated protein kinase kinase 2 P36507 Dual specificity mitogen-activated protein kinase kinase 2,MAP2K2,MEK 2,MAPK/ERK kinase 2,MKK2,2.7.12.2,ERK activator kinase 2,MAP kinase kinase 2,MEK2 ,PRKMK2,MAPKK 2 SINGLE PROTEIN\n43 CHEMBL5261 -11.125414 1.460478e-08 1341 CHEMBL5261 1102 Serine/threonine-protein kinase TAO1 Unspecified Homo sapiens Serine/threonine-protein kinase TAO1 Q7L7X3 Kinase from chicken homolog B,MAP3K16,hKFC-B,MARKK,hTAOK1,KIAA1361 ,2.7.11.1,Prostate-derived sterile 20-like kinase 2,Serine/threonine-protein kinase TAO1,TAOK1,PSK-2,Prostate-derived STE20-like kinase 2,Thousand and one amino acid protein kinase 1,MARK Kinase,PSK2 SINGLE PROTEIN\n44 CHEMBL1947 -13.054890 1.261405e-08 7660 CHEMBL1947 6167 Thyroid hormone receptor beta-1 Unspecified Homo sapiens Thyroid hormone receptor beta-1 P10828 Thyroid hormone receptor beta,NR1A2,Nuclear receptor subfamily 1 group A member 2,THR1,THRB,ERBA2 ,c-erbA-beta,c-erbA-2 SINGLE PROTEIN\n45 CHEMBL4096 -14.491456 1.231427e-08 47676 CHEMBL4096 36223 Cellular tumor antigen p53 Unspecified Homo sapiens Cellular tumor antigen p53 P04637 P53,Phosphoprotein p53,Tumor suppressor p53,TP53,Antigen NY-CO-13,Cellular tumor antigen p53 SINGLE PROTEIN\n46 CHEMBL2480 -9.567470 1.229872e-08 193 CHEMBL2480 161 Tyrosine-protein kinase LCK Unspecified Mus musculus Tyrosine-protein kinase LCK P06240 Lsk-t,Lymphocyte cell-specific protein-tyrosine kinase,Proto-oncogene tyrosine-protein kinase LCK,2.7.10.2,Lck,p56-LCK,LSK,Leukocyte C-terminal Src kinase SINGLE PROTEIN\n47 CHEMBL1075167 -11.321149 9.774130e-09 1465 CHEMBL1075167 1054 Homeodomain-interacting protein kinase 4 Unspecified Homo sapiens Homeodomain-interacting protein kinase 4 Q8NE63 Homeodomain-interacting protein kinase 4,HIPK4,2.7.11.1 SINGLE PROTEIN\n48 CHEMBL4575 -10.997478 9.767824e-09 665 CHEMBL4575 625 Dual-specificity tyrosine-phosphorylation regulated kinase 3 Unspecified Homo sapiens Dual-specificity tyrosine-phosphorylation regulated kinase 3 O43781 Dual specificity tyrosine-phosphorylation-regulated kinase 3,2.7.12.1,DYRK3,REDK,Regulatory erythroid kinase SINGLE PROTEIN\n49 CHEMBL4040 -13.895574 9.011959e-09 18628 CHEMBL4040 16377 MAP kinase ERK2 Unspecified Homo sapiens MAP kinase ERK2 P28482 ERT1,MAP kinase isoform p42,MAP kinase 2,MAPK1,PRKM2,p42-MAPK,Extracellular signal-regulated kinase 2,MAPK 2,Mitogen-activated protein kinase 2,ERK2 ,ERK-2,MAP kinase 1,Mitogen-activated protein kinase 1,2.7.11.24,MAPK 1,PRKM1 SINGLE PROTEIN"
}
],
"prompt_number": 32
},
{
"cell_type": "code",
"collapsed": false,
"input": "bit_scores = (morgan_bnb.estimators_[classes.index(result['id'][0])].feature_log_prob_[1] - morgan_bnb.estimators_[classes.index(result['id'][0])].feature_log_prob_[0])*fp",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 24
},
{
"cell_type": "code",
"collapsed": false,
"input": "frags = OrderedDict()\nfor k in info.keys():\n if bit_scores[k] > 0.1:\n atomId,radius = info[k][0]\n env=Chem.FindAtomEnvironmentOfRadiusN(mol,radius,atomId)\n ats = set([atomId])\n for bidx in env:\n bond = mol.GetBondWithIdx(bidx)\n ats.add(bond.GetBeginAtomIdx())\n ats.add(bond.GetEndAtomIdx())\n frag = Chem.MolFragmentToSmiles(mol,atomsToUse=list(ats),bondsToUse=env,rootedAtAtom=atomId)\n legend = str(round(bit_scores[k],2))\n frags[k] = (legend,frag)",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 25
},
{
"cell_type": "code",
"collapsed": false,
"input": "legends = [l[1][0] for l in sorted(frags.items(), key=lambda t: t[1][0], reverse=True)][:10]\nffrags = [l[1][1] for l in sorted(frags.items(), key=lambda t: t[1][0], reverse=True)][:10]",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 27
},
{
"cell_type": "code",
"collapsed": false,
"input": "fmols=[Chem.MolFromSmarts(s) for s in ffrags]",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 28
},
{
"cell_type": "code",
"collapsed": false,
"input": "mol",
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"png": "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\nRU5ErkJggg==\n",
"prompt_number": 29,
"text": "<rdkit.Chem.rdchem.Mol at 0x46f5de0>"
}
],
"prompt_number": 29
},
{
"cell_type": "code",
"collapsed": false,
"input": "Draw.MolsToGridImage(fmols, molsPerRow=5, legends=legends)",
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"png": "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\n8P8BMFNUcMgbNwgAAAAASUVORK5CYII=\n",
"prompt_number": 30,
"text": "<PIL.Image.Image image mode=RGB size=1000x400 at 0x6411440>"
}
],
"prompt_number": 30
},
{
"cell_type": "code",
"collapsed": false,
"input": "for i, row in enumerate(result['id'][:5]):\n bit_scores = (morgan_bnb.estimators_[classes.index(row)].feature_log_prob_[1] - morgan_bnb.estimators_[classes.index(row)].feature_log_prob_[0])*fp\n frags = OrderedDict()\n for k in info.keys():\n if bit_scores[k] > 0.1:\n atomId,radius = info[k][0]\n env=Chem.FindAtomEnvironmentOfRadiusN(mol,radius,atomId)\n ats = set([atomId])\n for bidx in env:\n bond = mol.GetBondWithIdx(bidx)\n ats.add(bond.GetBeginAtomIdx())\n ats.add(bond.GetEndAtomIdx())\n frag = Chem.MolFragmentToSmiles(mol,atomsToUse=list(ats),bondsToUse=env,rootedAtAtom=atomId)\n legend = str(round(bit_scores[k],2))\n frags[k] = (legend,frag)\n legends = [l[1][0] for l in sorted(frags.items(), key=lambda t: t[1][0], reverse=True)][:10]\n ffrags = [l[1][1] for l in sorted(frags.items(), key=lambda t: t[1][0], reverse=True)][:10]\n fmols=[Chem.MolFromSmarts(s) for s in ffrags]\n Draw.MolsToGridImage(fmols, molsPerRow=5, legends=legends)",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 31
},
{
"cell_type": "code",
"collapsed": false,
"input": "",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 31
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment