Skip to content

Instantly share code, notes, and snippets.

@kellrott
Created May 4, 2017 00:23
Show Gist options
  • Save kellrott/9e6f56d025ee503f204de0d3a04e187b to your computer and use it in GitHub Desktop.
Save kellrott/9e6f56d025ee503f204de0d3a04e187b to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 87,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import ophion\n",
"import json\n",
"import matplotlib.pyplot as plt\n",
"import scipy.stats as stats\n",
"import pandas\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"O = ophion.Ophion(\"http://bmeg.compbio.ohsu.edu\")"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#get all CCLE samples\n",
"all_samples = O.query().has(\"gid\", \"cohort:CCLE\").outgoing(\"hasSample\").values([\"gid\"]).execute()"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"GENE = \"CDKN2A\""
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"#get CCLE samples with mutation\n",
"mut_samples = O.query().has(\"gid\", \"gene:%s\" % (GENE)).incoming(\"variantInGene\").outgoing(\"variantInBiosample\").mark(\"a\")\\\n",
".incoming(\"hasSample\").has(\"gid\", \"cohort:CCLE\").select(\"a\").values([\"gid\"]).execute()\n",
"\n",
"#get CCLE samples without mutation\n",
"norm_samples = list(set(all_samples).difference(mut_samples))"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Positive Set: 98\n",
"Negative Set: 998\n"
]
}
],
"source": [
"print \"Positive Set:\", len(mut_samples)\n",
"print \"Negative Set:\", len(norm_samples)"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#get response values for the positive set (samples with mutation)\n",
"#and collect AUC value by drug\n",
"pos_response = {}\n",
"for row in O.query().has(\"gid\", O.within(mut_samples)).outEdge(\"responseToCompound\").mark(\"a\").inVertex().mark(\"b\").select([\"a\", \"b\"]).execute():\n",
" for v in json.loads(row['a']['properties']['responseSummary']):\n",
" if v['type'] == \"AUC\":\n",
" compound = row['b']['gid']\n",
" if compound not in pos_response:\n",
" pos_response[compound] = [ v[\"value\"] ]\n",
" else:\n",
" pos_response[compound].append(v[\"value\"])"
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#get response values for the negative set (samples without mutation)\n",
"#and collect AUC value by drug\n",
"neg_response = {}\n",
"for row in O.query().has(\"gid\", O.within(norm_samples)).outEdge(\"responseToCompound\").mark(\"a\").inVertex().mark(\"b\").select([\"a\", \"b\"]).execute():\n",
" for v in json.loads(row['a']['properties']['responseSummary']):\n",
" if v['type'] == \"AUC\":\n",
" compound = row['b']['gid']\n",
" if compound not in neg_response:\n",
" neg_response[compound] = [ v[\"value\"] ]\n",
" else:\n",
" neg_response[compound].append(v[\"value\"])"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"545\n",
"545\n"
]
}
],
"source": [
"print len(pos_response)\n",
"print len(neg_response)"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [],
"source": [
"#Collect t-test statistics\n",
"out = []\n",
"for drug in set(pos_response.keys()).intersection(neg_response.keys()):\n",
" mut_values = pos_response[drug]\n",
" norm_values = neg_response[drug]\n",
" if len(mut_values) > 5 and len(norm_values) > 5:\n",
" s = stats.ttest_ind(mut_values, norm_values, equal_var=False)\n",
" out.append( {\"drug\" : drug, \"statistic\" : s.statistic, \"pvalue\" : s.pvalue} )"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>drug</th>\n",
" <th>pvalue</th>\n",
" <th>statistic</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>85</th>\n",
" <td>compound:isonicotinohydroxamic acid</td>\n",
" <td>0.012667</td>\n",
" <td>-2.639609</td>\n",
" </tr>\n",
" <tr>\n",
" <th>188</th>\n",
" <td>compound:selumetinib:tretinoin (2:1 mol/mol)</td>\n",
" <td>0.014265</td>\n",
" <td>-2.545464</td>\n",
" </tr>\n",
" <tr>\n",
" <th>145</th>\n",
" <td>compound:PLX-4720</td>\n",
" <td>0.031000</td>\n",
" <td>-2.231309</td>\n",
" </tr>\n",
" <tr>\n",
" <th>371</th>\n",
" <td>compound:PD318088</td>\n",
" <td>0.036747</td>\n",
" <td>-2.152198</td>\n",
" </tr>\n",
" <tr>\n",
" <th>256</th>\n",
" <td>compound:SCH-529074</td>\n",
" <td>0.039532</td>\n",
" <td>-2.125361</td>\n",
" </tr>\n",
" <tr>\n",
" <th>143</th>\n",
" <td>compound:selumetinib:PLX-4032 (8:1 mol/mol)</td>\n",
" <td>0.059071</td>\n",
" <td>-1.938523</td>\n",
" </tr>\n",
" <tr>\n",
" <th>291</th>\n",
" <td>compound:selumetinib:BRD-A02303741 (4:1 mol/mol)</td>\n",
" <td>0.059272</td>\n",
" <td>-1.934962</td>\n",
" </tr>\n",
" <tr>\n",
" <th>159</th>\n",
" <td>compound:BRD8958</td>\n",
" <td>0.066146</td>\n",
" <td>-1.886621</td>\n",
" </tr>\n",
" <tr>\n",
" <th>154</th>\n",
" <td>compound:selumetinib:UNC0638 (4:1 mol/mol)</td>\n",
" <td>0.072357</td>\n",
" <td>-1.840431</td>\n",
" </tr>\n",
" <tr>\n",
" <th>509</th>\n",
" <td>compound:dabrafenib</td>\n",
" <td>0.084907</td>\n",
" <td>-1.814566</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41</th>\n",
" <td>compound:GDC-0879</td>\n",
" <td>0.082546</td>\n",
" <td>-1.777371</td>\n",
" </tr>\n",
" <tr>\n",
" <th>462</th>\n",
" <td>compound:selumetinib</td>\n",
" <td>0.085558</td>\n",
" <td>-1.758781</td>\n",
" </tr>\n",
" <tr>\n",
" <th>536</th>\n",
" <td>compound:CAY10618</td>\n",
" <td>0.089880</td>\n",
" <td>-1.732477</td>\n",
" </tr>\n",
" <tr>\n",
" <th>341</th>\n",
" <td>compound:selumetinib:vorinostat (8:1 mol/mol)</td>\n",
" <td>0.090764</td>\n",
" <td>-1.731170</td>\n",
" </tr>\n",
" <tr>\n",
" <th>412</th>\n",
" <td>compound:selumetinib:GDC-0941 (4:1 mol/mol)</td>\n",
" <td>0.106655</td>\n",
" <td>-1.647151</td>\n",
" </tr>\n",
" <tr>\n",
" <th>295</th>\n",
" <td>compound:NSC 74859</td>\n",
" <td>0.109633</td>\n",
" <td>-1.631091</td>\n",
" </tr>\n",
" <tr>\n",
" <th>293</th>\n",
" <td>compound:selumetinib:piperlongumine (8:1 mol/mol)</td>\n",
" <td>0.117896</td>\n",
" <td>-1.594325</td>\n",
" </tr>\n",
" <tr>\n",
" <th>516</th>\n",
" <td>compound:SB-431542</td>\n",
" <td>0.123695</td>\n",
" <td>-1.569833</td>\n",
" </tr>\n",
" <tr>\n",
" <th>329</th>\n",
" <td>compound:BRD-K34485477</td>\n",
" <td>0.153362</td>\n",
" <td>-1.518890</td>\n",
" </tr>\n",
" <tr>\n",
" <th>282</th>\n",
" <td>compound:AZD8055</td>\n",
" <td>0.143984</td>\n",
" <td>-1.484032</td>\n",
" </tr>\n",
" <tr>\n",
" <th>534</th>\n",
" <td>compound:selumetinib:JQ-1 (4:1 mol/mol)</td>\n",
" <td>0.144703</td>\n",
" <td>-1.483776</td>\n",
" </tr>\n",
" <tr>\n",
" <th>223</th>\n",
" <td>compound:semagacestat</td>\n",
" <td>0.147585</td>\n",
" <td>-1.473738</td>\n",
" </tr>\n",
" <tr>\n",
" <th>242</th>\n",
" <td>compound:erlotinib:PLX-4032 (2:1 mol/mol)</td>\n",
" <td>0.167290</td>\n",
" <td>-1.406677</td>\n",
" </tr>\n",
" <tr>\n",
" <th>192</th>\n",
" <td>compound:WAY-362450</td>\n",
" <td>0.183086</td>\n",
" <td>-1.352708</td>\n",
" </tr>\n",
" <tr>\n",
" <th>100</th>\n",
" <td>compound:SU11274</td>\n",
" <td>0.223608</td>\n",
" <td>-1.233257</td>\n",
" </tr>\n",
" <tr>\n",
" <th>281</th>\n",
" <td>compound:BRD-K27224038</td>\n",
" <td>0.247210</td>\n",
" <td>-1.215003</td>\n",
" </tr>\n",
" <tr>\n",
" <th>470</th>\n",
" <td>compound:BRD-K51831558</td>\n",
" <td>0.242907</td>\n",
" <td>-1.188155</td>\n",
" </tr>\n",
" <tr>\n",
" <th>211</th>\n",
" <td>compound:MLN2480</td>\n",
" <td>0.262975</td>\n",
" <td>-1.150488</td>\n",
" </tr>\n",
" <tr>\n",
" <th>238</th>\n",
" <td>compound:veliparib</td>\n",
" <td>0.259790</td>\n",
" <td>-1.140293</td>\n",
" </tr>\n",
" <tr>\n",
" <th>484</th>\n",
" <td>compound:niclosamide</td>\n",
" <td>0.262406</td>\n",
" <td>-1.136012</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>128</th>\n",
" <td>compound:tacrolimus</td>\n",
" <td>0.014095</td>\n",
" <td>2.544422</td>\n",
" </tr>\n",
" <tr>\n",
" <th>471</th>\n",
" <td>compound:PAC-1</td>\n",
" <td>0.011596</td>\n",
" <td>2.623087</td>\n",
" </tr>\n",
" <tr>\n",
" <th>478</th>\n",
" <td>compound:ML239</td>\n",
" <td>0.011042</td>\n",
" <td>2.643562</td>\n",
" </tr>\n",
" <tr>\n",
" <th>312</th>\n",
" <td>compound:WP1130</td>\n",
" <td>0.010288</td>\n",
" <td>2.686885</td>\n",
" </tr>\n",
" <tr>\n",
" <th>431</th>\n",
" <td>compound:CAL-101</td>\n",
" <td>0.009817</td>\n",
" <td>2.700882</td>\n",
" </tr>\n",
" <tr>\n",
" <th>450</th>\n",
" <td>compound:LRRK2-IN-1</td>\n",
" <td>0.009456</td>\n",
" <td>2.730688</td>\n",
" </tr>\n",
" <tr>\n",
" <th>520</th>\n",
" <td>compound:BYL-719</td>\n",
" <td>0.009087</td>\n",
" <td>2.774788</td>\n",
" </tr>\n",
" <tr>\n",
" <th>449</th>\n",
" <td>compound:WZ4002</td>\n",
" <td>0.008653</td>\n",
" <td>2.783878</td>\n",
" </tr>\n",
" <tr>\n",
" <th>359</th>\n",
" <td>compound:BRD-K42260513</td>\n",
" <td>0.010321</td>\n",
" <td>2.794175</td>\n",
" </tr>\n",
" <tr>\n",
" <th>384</th>\n",
" <td>compound:BRD-K34222889</td>\n",
" <td>0.006848</td>\n",
" <td>2.812846</td>\n",
" </tr>\n",
" <tr>\n",
" <th>161</th>\n",
" <td>compound:ABT-199</td>\n",
" <td>0.006125</td>\n",
" <td>2.881994</td>\n",
" </tr>\n",
" <tr>\n",
" <th>353</th>\n",
" <td>compound:Merck60</td>\n",
" <td>0.004736</td>\n",
" <td>2.953199</td>\n",
" </tr>\n",
" <tr>\n",
" <th>168</th>\n",
" <td>compound:UNC0638:navitoclax (1:1 mol/mol)</td>\n",
" <td>0.004614</td>\n",
" <td>2.976937</td>\n",
" </tr>\n",
" <tr>\n",
" <th>433</th>\n",
" <td>compound:PRIMA-1</td>\n",
" <td>0.003703</td>\n",
" <td>3.056197</td>\n",
" </tr>\n",
" <tr>\n",
" <th>249</th>\n",
" <td>compound:MGCD-265</td>\n",
" <td>0.003429</td>\n",
" <td>3.084896</td>\n",
" </tr>\n",
" <tr>\n",
" <th>506</th>\n",
" <td>compound:R428</td>\n",
" <td>0.003878</td>\n",
" <td>3.100217</td>\n",
" </tr>\n",
" <tr>\n",
" <th>90</th>\n",
" <td>compound:BRD-K27188169:navitoclax (2:1 mol/mol)</td>\n",
" <td>0.004059</td>\n",
" <td>3.164947</td>\n",
" </tr>\n",
" <tr>\n",
" <th>88</th>\n",
" <td>compound:apicidin</td>\n",
" <td>0.001836</td>\n",
" <td>3.289321</td>\n",
" </tr>\n",
" <tr>\n",
" <th>493</th>\n",
" <td>compound:tamoxifen</td>\n",
" <td>0.001736</td>\n",
" <td>3.328598</td>\n",
" </tr>\n",
" <tr>\n",
" <th>340</th>\n",
" <td>compound:ABT-737</td>\n",
" <td>0.001528</td>\n",
" <td>3.347582</td>\n",
" </tr>\n",
" <tr>\n",
" <th>524</th>\n",
" <td>compound:NSC48300</td>\n",
" <td>0.001446</td>\n",
" <td>3.372842</td>\n",
" </tr>\n",
" <tr>\n",
" <th>262</th>\n",
" <td>compound:PX-12</td>\n",
" <td>0.001257</td>\n",
" <td>3.437836</td>\n",
" </tr>\n",
" <tr>\n",
" <th>486</th>\n",
" <td>compound:navitoclax</td>\n",
" <td>0.001089</td>\n",
" <td>3.463483</td>\n",
" </tr>\n",
" <tr>\n",
" <th>302</th>\n",
" <td>compound:BRD-K66532283</td>\n",
" <td>0.001078</td>\n",
" <td>3.479863</td>\n",
" </tr>\n",
" <tr>\n",
" <th>104</th>\n",
" <td>compound:methylstat</td>\n",
" <td>0.001239</td>\n",
" <td>3.502748</td>\n",
" </tr>\n",
" <tr>\n",
" <th>439</th>\n",
" <td>compound:sotrastaurin</td>\n",
" <td>0.000617</td>\n",
" <td>3.626662</td>\n",
" </tr>\n",
" <tr>\n",
" <th>525</th>\n",
" <td>compound:tacedinaline</td>\n",
" <td>0.000793</td>\n",
" <td>3.663470</td>\n",
" </tr>\n",
" <tr>\n",
" <th>207</th>\n",
" <td>compound:BRD-K55473186</td>\n",
" <td>0.000435</td>\n",
" <td>3.722826</td>\n",
" </tr>\n",
" <tr>\n",
" <th>140</th>\n",
" <td>compound:RITA</td>\n",
" <td>0.000448</td>\n",
" <td>3.745532</td>\n",
" </tr>\n",
" <tr>\n",
" <th>234</th>\n",
" <td>compound:navitoclax:piperlongumine (1:1 mol/mol)</td>\n",
" <td>0.000028</td>\n",
" <td>4.614927</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>537 rows × 3 columns</p>\n",
"</div>"
],
"text/plain": [
" drug pvalue statistic\n",
"85 compound:isonicotinohydroxamic acid 0.012667 -2.639609\n",
"188 compound:selumetinib:tretinoin (2:1 mol/mol) 0.014265 -2.545464\n",
"145 compound:PLX-4720 0.031000 -2.231309\n",
"371 compound:PD318088 0.036747 -2.152198\n",
"256 compound:SCH-529074 0.039532 -2.125361\n",
"143 compound:selumetinib:PLX-4032 (8:1 mol/mol) 0.059071 -1.938523\n",
"291 compound:selumetinib:BRD-A02303741 (4:1 mol/mol) 0.059272 -1.934962\n",
"159 compound:BRD8958 0.066146 -1.886621\n",
"154 compound:selumetinib:UNC0638 (4:1 mol/mol) 0.072357 -1.840431\n",
"509 compound:dabrafenib 0.084907 -1.814566\n",
"41 compound:GDC-0879 0.082546 -1.777371\n",
"462 compound:selumetinib 0.085558 -1.758781\n",
"536 compound:CAY10618 0.089880 -1.732477\n",
"341 compound:selumetinib:vorinostat (8:1 mol/mol) 0.090764 -1.731170\n",
"412 compound:selumetinib:GDC-0941 (4:1 mol/mol) 0.106655 -1.647151\n",
"295 compound:NSC 74859 0.109633 -1.631091\n",
"293 compound:selumetinib:piperlongumine (8:1 mol/mol) 0.117896 -1.594325\n",
"516 compound:SB-431542 0.123695 -1.569833\n",
"329 compound:BRD-K34485477 0.153362 -1.518890\n",
"282 compound:AZD8055 0.143984 -1.484032\n",
"534 compound:selumetinib:JQ-1 (4:1 mol/mol) 0.144703 -1.483776\n",
"223 compound:semagacestat 0.147585 -1.473738\n",
"242 compound:erlotinib:PLX-4032 (2:1 mol/mol) 0.167290 -1.406677\n",
"192 compound:WAY-362450 0.183086 -1.352708\n",
"100 compound:SU11274 0.223608 -1.233257\n",
"281 compound:BRD-K27224038 0.247210 -1.215003\n",
"470 compound:BRD-K51831558 0.242907 -1.188155\n",
"211 compound:MLN2480 0.262975 -1.150488\n",
"238 compound:veliparib 0.259790 -1.140293\n",
"484 compound:niclosamide 0.262406 -1.136012\n",
".. ... ... ...\n",
"128 compound:tacrolimus 0.014095 2.544422\n",
"471 compound:PAC-1 0.011596 2.623087\n",
"478 compound:ML239 0.011042 2.643562\n",
"312 compound:WP1130 0.010288 2.686885\n",
"431 compound:CAL-101 0.009817 2.700882\n",
"450 compound:LRRK2-IN-1 0.009456 2.730688\n",
"520 compound:BYL-719 0.009087 2.774788\n",
"449 compound:WZ4002 0.008653 2.783878\n",
"359 compound:BRD-K42260513 0.010321 2.794175\n",
"384 compound:BRD-K34222889 0.006848 2.812846\n",
"161 compound:ABT-199 0.006125 2.881994\n",
"353 compound:Merck60 0.004736 2.953199\n",
"168 compound:UNC0638:navitoclax (1:1 mol/mol) 0.004614 2.976937\n",
"433 compound:PRIMA-1 0.003703 3.056197\n",
"249 compound:MGCD-265 0.003429 3.084896\n",
"506 compound:R428 0.003878 3.100217\n",
"90 compound:BRD-K27188169:navitoclax (2:1 mol/mol) 0.004059 3.164947\n",
"88 compound:apicidin 0.001836 3.289321\n",
"493 compound:tamoxifen 0.001736 3.328598\n",
"340 compound:ABT-737 0.001528 3.347582\n",
"524 compound:NSC48300 0.001446 3.372842\n",
"262 compound:PX-12 0.001257 3.437836\n",
"486 compound:navitoclax 0.001089 3.463483\n",
"302 compound:BRD-K66532283 0.001078 3.479863\n",
"104 compound:methylstat 0.001239 3.502748\n",
"439 compound:sotrastaurin 0.000617 3.626662\n",
"525 compound:tacedinaline 0.000793 3.663470\n",
"207 compound:BRD-K55473186 0.000435 3.722826\n",
"140 compound:RITA 0.000448 3.745532\n",
"234 compound:navitoclax:piperlongumine (1:1 mol/mol) 0.000028 4.614927\n",
"\n",
"[537 rows x 3 columns]"
]
},
"execution_count": 75,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#print data sorted by statistical value\n",
"pandas.DataFrame(out).sort_values(\"statistic\")"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"13.7022952381 1.77843508362\n",
"12.5950456583 2.70314715766\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgkAAAFkCAYAAACq4KjhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3X+UnFd93/H3V/4hIRMrp2z9g4BIjGGzPbQELaQ44AA2\nxU04gdaEmAUVapNQgprQzcGEECsuNj8OUHuBBBn3hIOtOGzi45LEEGMTAyXY/HCqxW5+LKbBIovt\ntfDYkXAijyRLt388M9Ls6M7uPLPza3ffr3N0pLlz7/Pc1czsfJ773Oe5kVJCkiSp2bpBd0CSJA0n\nQ4IkScoyJEiSpCxDgiRJyjIkSJKkLEOCJEnKMiRIkqQsQ4IkScoyJEiSpCxDgiRJyiodEiLi3Ii4\nOSIeiIgjEfGqEm1fFBGHImKm7H4lSVJ/dTKScApwN7ANaHvhh4g4FbgeuL2DfUqSpD47sWyDlNKt\nwK0AERElml4L/CFwBHh12f1KkqT+6suchIi4GDgLeE8/9idJkpav9EhCWRHxLOD9wItTSkfaGXyI\niKcAFwDfA6o97aAkSavLBuDHgdtSSo8sZ0M9DQkRsY7iFMPlKaXv1ovbaHpBrZ0kSerMG4BPL2cD\nvR5J+BHg+cBPRcTHa2XrKKYzHARekVL635l23wO44YYbGBsb63EX1Q+Tk5NMTU0NuhvqEl/P1cXX\nc3WZnZ1l69atUPsuXY5eh4QfAs9pKtsGvAx4Da1/gCrA2NgYW7Zs6Vnn1D+bNm3ytVxFfD1XF1/P\nVWvZp+tLh4SIOAU4m2OnDc6KiOcCj6aUvh8RHwCemlJ6U0opAX/X1P4HQDWlNLvMvkuSpB7qZCTh\n+cCXKe6RkICrauXXA5cAZwBP70rvJEnSwHRyn4SvsMilkymli5do/x68FFKSpKHn2g3qi4mJiUF3\nQV3k67m6+HqqFUOC+sJfQquLr+fq4uupVgwJkiQpy5AgSZKyDAmSJCnLkCBJkrIMCZIkKcuQIEmS\nsgwJkiQpy5AgSZKyDAmSJCnLkCBJkrIMCZIkKcuQIEmSsgwJkiQpy5AgSZKyDAmSJCnLkCBJkrIM\nCZIkKcuQIEmSsgwJkiQpy5AgSZKyDAmSJCnLkCBJkrIMCZIkKcuQIEmSsgwJkiQpy5AgSZKyDAmS\nJCnLkCBJkrIMCZIkKcuQIEmSsgwJkiQpq3RIiIhzI+LmiHggIo5ExKuWqP8fI+ILEfGDiNgXEV+L\niFd03mVJktQPnYwknALcDWwDUhv1fxb4AvBzwBbgy8BnI+K5HexbkiT1yYllG6SUbgVuBYiIaKP+\nZFPRb0fEq4FfAO4pu39JUvvm5uaoVCqMjIywefPmQXdHK0zpkLBctWDxI8Cj/d63JK0lc3NzjI2O\nsr9aZeOGDczee69BQaUMYuLipRSnLG4cwL4lac2oVCrsr1a5DNhfrVKpVAbdJa0wfR1JiIjXA9uB\nV6WUfLdKUh88Y9Ad0IrVt5AQEa8D/ifwiymlL7fTZnJykk2bNi0om5iYYGJiogc9lCRpZZmenmZ6\nenpB2b59+7q2/b6EhIiYAH4feF1t4mNbpqam2LJlS+86JknSCpY7cJ6ZmWF8fLwr2y8dEiLiFOBs\noH5lw1m1yxkfTSl9PyI+ADw1pfSmWv0J4Hrg14G7IuL0WrvHU0o/XPZPIEmSeqKTiYvPB74F7KK4\nT8JVwAzwntrzZwBPb6j/FuAE4OPAgw1/PtJZlyVJUj90cp+Er7BIuEgpXdz0+GUd9EuSJA2YazdI\nkqQsQ4IkScoyJEiSpCxDgiRJyjIkSJKkLEOCJEnKMiRIkqQsQ4IkScoyJEiSpCxDgiRJyjIkSJKk\nLEOCJEnKMiRIkqQsQ4IkScoyJEiSpCxDgiRJyjIkSJKkLEOCJEnKMiRIkqQsQ4IkScoyJEiSpCxD\ngiRJyjIkSJKkLEOCJEnKMiRIkqQsQ4IkScoyJEiSpCxDgiRJyjIkSJKkLEOCJEnKMiRIkqQsQ4Ik\nScoyJEiSpCxDgiRJyiodEiLi3Ii4OSIeiIgjEfGqNtq8NCJ2RUQ1Ir4TEW/qrLuSJKlfOhlJOAW4\nG9gGpKUqR8SPA58Dvgg8F/go8PsR8e862LckSeqTE8s2SCndCtwKEBHRRpNfBe5LKb2z9vjeiHgx\nMAn8Rdn9S5Kk/ujHnIQXArc3ld0GnNOHfUuSpA71IyScAexpKtsDnBoR6/uwf0mS1IHSpxu6pH6a\nYtE5DZOTk2zatGlB2cTEBBMTE73qlyRJK8b09DTT09MLyvbt29e17fcjJDwEnN5Udhrww5TSwcUa\nTk1NsWXLlp51TJKklSx34DwzM8P4+HhXtt+P0w1fB85vKntFrVySJA2pTu6TcEpEPDcifqpWdFbt\n8dNrz38gIq5vaPIJ4JkR8cGIGI2ItwG/CFy97N5LkqSe6WQk4fnAt4BdFHMKrgJmgPfUnj8DeHq9\nckrpe8ArgZdT3F9hEnhzSqn5igdJkjREOrlPwldYJFyklC5u0aY7J0gkSVJfuHaDJEnKMiRIkqQs\nQ4IkScoyJEiSpCxDgiRJyjIkSJKkLEOCJEnKMiRIkqQsQ4IkScoyJEiSpCxDgiRJyjIkSJKkLEOC\nJEnKMiRIkqQsQ4IkScoyJEiSpCxDgiRJyjIkSJKkLEOCJEnKMiRIkqQsQ4IkScoyJEiSpCxDgiRJ\nyjIkSJKkLEOCJEnKMiRIkqQsQ4IkScoyJEiSpCxDgiRJyjIkSJKkLEOCJEnKMiRIkqQsQ4IkScrq\nKCRExLaI2B0Rj0fENyLiBUvU/28R8e2I2B8RcxFxdUSs76zLkiSpH0qHhIi4CLgKuBx4HnAPcFtE\njLSo/3rgA7X6PwlcAlwEvK/DPkuSpD7oZCRhErg2pbQzpfRt4K3Afoov/5xzgDtSSn+cUppLKd0O\nTAM/3VGPJUlSX5QKCRFxEjAOfLFellJKwO0UYSDna8B4/ZRERJwF/Dzw5510WJIk9ceJJeuPACcA\ne5rK9wCjuQYppenaqYg7IiJq7T+RUvpg2c5KkqT+KRsSWgkgZZ+IeCnwborTEncBZwMfi4j5lNJ7\nF9vo5OQkmzZtWlA2MTHBxMREN/osSdKKNj09zfT09IKyffv2dW37ZUNCBTgMnN5UfhrHjy7UXQHs\nTCl9qvb4byPiycC1wKIhYWpqii1btpTsoiRJa0PuwHlmZobx8fGubL/UnISU0iFgF3B+vax2CuF8\nirkHORuBI01lR2pNo8z+JUlS/3RyuuFq4PqI2EVx+mCSIghcBxARO4H7U0rvrtX/LDAZEXcD3wSe\nRTG68Ge1SY+SJGkIlQ4JKaUbaxMRr6A47XA3cEFK6eFalacBTzQ0uZJi5OBK4MeAh4GbgcuW0W9J\nktRjHU1cTCntAHa0eO68psf1gHBlJ/uSJEmD4doNkiQpy5AgSZKyDAmSJCnLkCBJkrIMCZIkKcuQ\nIEmSsgwJkiQpy5AgSZKyDAmSJCmrW0tFS5KGwNzcHJVKhZGRkeOem52dBeDAgQOsX7+ekZERNm/e\n3O8uagUxJEjSKjE3N8fY6Cj7q1U2btjAjTfdBMAjFMPGW7duBeAE4DCwccMGZu+916CgljzdIEmr\nRKVSYX+1ymXA/mqVvXv3AvBPFKvs3UCxiM5hOFqnUqkMqrtaARxJkKRV5hktysfaqCM1ciRBkiRl\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1101ce810>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"drug = \"compound:RITA\"\n",
"_ = plt.hist(pos_response[drug], bins=100, normed=True, color=\"R\")\n",
"_ = plt.hist(neg_response[drug], bins=100, normed=True, color=\"B\")\n",
"print np.mean(pos_response[drug]), np.std(pos_response[drug])\n",
"print np.mean(neg_response[drug]), np.std(neg_response[drug])"
]
},
{
"cell_type": "code",
"execution_count": 89,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"13.7022952381 1.77843508362\n",
"12.5950456583 2.70314715766\n"
]
}
],
"source": []
},
{
"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": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment