Visualizing tissue specific metabolite profiles with matplotlib

Generating leaf-root time series metabolite concentration figures


In [1]:
import pandas as pd

In [2]:
leafdf=pd.read_csv('Col0_leaf-KEGG.csv')
rootdf=pd.read_csv('Col0_root-KEGG.csv')

this experiment has 8 timepoints and several replicates for each timepoint.


In [3]:
kegg = leafdf['KEGG']

In [4]:
leafdf.filter(regex="^[0-9]+")


Out[4]:
14_L03_full_1 14_L04_full_1 14_L06_full_1 14_L08_full_1 14_L11_full_1 14_L14_full_1 14_L15_full_1 14_L16_full_1 16_L02_full_1 16_L03_full_1 ... 26_L12_full_1 26_L16_full_1 28_L01_full_1 28_L03_full_1 28_L05_full_1 28_L07_full_1 28_L10_full_1 28_L11_full_1 28_L12_full_1 28_L16_full_1
0 2203756.000 3.824887e+06 2.344465e+06 3.792906e+06 4.841002e+06 4.434021e+06 2.732656e+06 4.564863e+06 5.266019e+06 3.600278e+06 ... 2.943271e+06 2071103.000 2.454579e+06 2.397335e+06 1734449.000 2.204660e+06 1167445.000 1914662.000 1970794.00 1605533.000
1 13561129.000 5.043785e+07 9.175376e+07 6.046346e+07 6.656717e+07 4.541226e+07 1.372298e+07 2.408222e+07 6.004270e+07 4.530361e+07 ... 5.881565e+07 22991871.000 3.752370e+07 5.244706e+07 39081728.000 4.919152e+07 31938336.000 24822914.000 32476930.00 32291218.000
2 16057.000 3.163700e+04 3.240200e+04 5.731200e+04 7.446600e+04 3.979600e+04 2.028400e+04 4.083300e+04 5.281200e+04 4.318700e+04 ... 1.824800e+04 16370.000 2.169500e+04 2.640800e+04 15584.000 1.883500e+04 17585.000 20245.000 16166.00 17971.000
3 5079051.000 7.011010e+06 5.109477e+06 2.931404e+06 6.928890e+06 7.095492e+06 6.624830e+06 6.502495e+06 5.946074e+06 7.899030e+06 ... 7.332800e+05 164654.000 2.067595e+06 0.000000e+00 9800.000 1.511480e+05 0.000 211766.000 322111.00 62312.000
4 25791284.000 5.346328e+07 2.637844e+07 5.399560e+07 5.784714e+07 4.534922e+07 4.669126e+07 7.398056e+07 5.604404e+07 6.416764e+07 ... 5.684722e+07 55757367.000 8.974082e+07 9.196184e+07 68547782.000 6.545454e+07 65470115.000 88872250.000 80325607.00 48711723.000
5 66359806.000 5.854948e+07 1.258037e+07 4.764127e+07 9.224643e+06 5.400694e+07 1.240188e+08 6.309149e+07 8.559902e+07 3.682448e+07 ... 1.060445e+08 83031234.000 8.864840e+07 1.008623e+08 71438299.000 6.177564e+07 84378360.000 97747239.000 75847567.00 53400658.000
6 3296.000 2.536000e+03 5.965000e+03 1.315800e+04 1.325700e+04 3.069000e+03 6.860000e+03 2.269000e+03 1.126000e+04 9.221000e+03 ... 2.587000e+03 2160.000 2.408000e+03 2.865000e+03 1919.000 2.661000e+03 2586.000 1960.000 1207.00 2477.000
7 773335.000 1.517080e+06 1.159387e+06 1.981835e+06 2.988896e+06 1.851033e+06 1.002323e+06 1.838016e+06 3.784283e+06 2.298809e+06 ... 1.525744e+06 1143921.000 1.810272e+06 1.400014e+06 1050251.000 1.350022e+06 829497.000 1086525.000 1078238.00 1227341.000
8 43010.000 8.965900e+04 6.091000e+04 1.116750e+05 1.583610e+05 9.800400e+04 5.151100e+04 9.772200e+04 1.995880e+05 1.189070e+05 ... 8.522800e+04 67197.000 1.012660e+05 7.828100e+04 60862.000 7.686000e+04 52032.000 60671.000 62204.00 71802.000
9 247880.000 6.493250e+05 1.047389e+06 5.470080e+05 1.628296e+06 9.397810e+05 3.718360e+05 1.955726e+06 1.479960e+06 1.078240e+06 ... 6.131820e+05 490747.000 6.203100e+05 5.195690e+05 413446.000 5.658790e+05 377578.000 434685.000 524628.00 489080.000
10 91388836.570 1.554091e+08 1.335258e+08 1.063418e+08 1.991215e+08 1.525466e+08 1.135858e+08 1.590371e+08 1.724474e+08 1.655739e+08 ... 8.536795e+07 88919777.460 1.097844e+08 8.409908e+07 82363964.250 8.674230e+07 83162518.680 88292254.660 90613030.28 84563773.440
11 1682173.000 2.997317e+06 3.080461e+06 4.901786e+06 6.648040e+06 4.208815e+06 2.704237e+06 5.342197e+06 6.256039e+06 4.351711e+06 ... 2.366855e+06 2472340.000 1.999058e+06 2.046274e+06 1639866.000 2.127212e+06 1547998.000 1863918.000 1806203.00 1722528.000
12 7392160.000 4.091276e+06 8.000697e+06 6.450765e+06 6.377255e+06 4.795720e+06 7.278335e+06 4.977228e+06 3.078395e+06 5.333599e+06 ... 3.998093e+06 2386504.000 3.791663e+06 4.008649e+06 3387840.000 4.208632e+06 3462439.000 4391073.000 3904238.00 4293270.000
13 25693763.000 5.551810e+07 2.264440e+07 7.741677e+07 1.355156e+08 6.297750e+07 2.425551e+07 5.858663e+07 8.635275e+07 6.836479e+07 ... 2.191138e+07 20259265.000 2.510848e+07 2.833216e+07 22919076.000 2.512744e+07 19750901.000 23134032.000 24901908.00 21518995.000
14 55589.000 3.099900e+04 4.366600e+04 6.455700e+04 9.598100e+04 4.741900e+04 1.192610e+05 4.394300e+04 1.006180e+05 7.112100e+04 ... 1.185450e+05 114587.000 2.566330e+05 2.281010e+05 123218.000 2.107560e+05 256533.000 270858.000 152363.00 155433.000
15 55637.000 1.263180e+05 8.589000e+04 7.890800e+04 1.704760e+05 2.373310e+05 7.865000e+04 1.734300e+05 1.752550e+05 1.434240e+05 ... 1.371910e+05 120965.000 1.237140e+05 1.151610e+05 71669.000 1.183170e+05 68443.000 24410.000 91725.00 75390.000
16 56783534.000 9.247469e+07 7.206323e+07 1.053081e+08 2.021083e+08 1.233140e+08 8.235766e+07 1.548190e+08 1.792408e+08 1.319104e+08 ... 1.178726e+08 83808729.000 1.091401e+08 9.809741e+07 85061131.000 1.034901e+08 65103634.000 83112825.000 76425898.00 77166209.000
17 409545.000 1.805300e+04 2.216800e+04 2.119500e+04 2.926800e+04 1.702900e+04 2.050627e+06 1.907300e+04 1.982000e+04 2.103000e+04 ... 3.014500e+05 554974.000 1.744594e+06 1.271945e+06 205019.000 3.580520e+05 1008290.000 1050968.000 305447.00 117042.000
18 4764843.000 9.767434e+06 9.831086e+06 7.824590e+06 3.340740e+07 1.071285e+07 6.803671e+06 1.503772e+07 8.947728e+06 7.651776e+06 ... 3.840853e+06 2423273.000 4.210352e+06 3.575634e+06 3070763.000 4.291547e+06 2693590.000 3146769.000 3722196.00 3355204.000
19 2.000 8.000000e+00 4.614000e+04 5.000000e+00 8.418900e+04 7.000000e+00 2.700000e+01 5.500000e+01 1.000000e+00 1.000000e+00 ... 1.000000e+00 6.000 6.000000e+00 3.000000e+00 1.000 6.000000e+00 4.000 15.000 1.00 11.000
20 248651.000 1.890315e+06 7.387756e+06 9.404139e+06 8.479492e+06 1.534135e+06 2.305970e+05 1.176439e+06 6.298356e+06 4.873739e+06 ... 2.059625e+06 2723050.000 8.871410e+05 2.034511e+06 2016698.000 1.714671e+06 4569715.000 1905300.000 2032596.00 3584687.000
21 299448.000 6.947910e+05 2.756600e+05 5.748270e+05 1.335509e+06 6.670860e+05 3.174310e+05 6.812260e+05 1.135838e+06 6.286040e+05 ... 5.914580e+05 319725.000 5.061710e+05 5.785390e+05 402357.000 5.216040e+05 224052.000 393014.000 503731.00 402651.000
22 28585.000 1.941320e+05 2.598120e+05 3.002410e+05 4.382580e+05 1.688160e+05 4.295000e+04 1.367880e+05 4.087860e+05 3.287380e+05 ... 1.533810e+05 178998.000 8.526900e+04 1.882790e+05 181355.000 1.810000e+05 222949.000 168274.000 197743.00 228571.000
23 3195803.000 5.542621e+06 2.271246e+06 7.739620e+06 1.315342e+07 6.132155e+06 3.093878e+06 7.415581e+06 4.970015e+06 3.708683e+06 ... 8.188422e+06 4585871.000 6.456680e+06 7.485834e+06 5066507.000 6.413636e+06 3984078.000 5129974.000 5884314.00 3820880.000
24 2239486.721 9.111370e+06 4.558772e+06 4.454017e+06 1.181705e+07 9.697242e+06 4.033017e+06 1.211842e+07 1.033465e+07 8.507361e+06 ... 2.141599e+06 1662162.589 3.135598e+06 1.502857e+06 1054469.266 1.677688e+06 1075097.008 1752536.887 1949103.18 1326571.866
25 145633.000 1.776340e+06 3.853120e+05 7.396820e+05 6.077030e+05 1.373180e+06 6.536500e+05 1.037663e+06 1.899905e+06 1.156862e+06 ... 1.029041e+06 1063321.000 8.176970e+05 9.337100e+05 667767.000 7.940970e+05 448623.000 760925.000 628258.00 624152.000
26 3128401.000 4.579005e+06 8.663377e+06 1.111589e+07 9.238599e+06 4.688642e+06 1.917572e+06 3.857925e+06 8.427598e+06 6.892581e+06 ... 6.360407e+06 5015668.000 6.935812e+06 7.342865e+06 6099967.000 5.028805e+06 7292001.000 4068825.000 4213779.00 8604581.000
27 47540.000 1.680100e+04 1.715000e+03 6.856800e+04 1.445300e+04 3.744000e+03 9.670700e+04 3.594000e+04 1.193180e+05 1.855800e+04 ... 3.885980e+05 174071.000 7.291040e+05 1.507020e+05 202034.000 5.266580e+05 126856.000 149172.000 393880.00 55737.000
28 1792989.000 4.050232e+06 3.924431e+06 6.128803e+06 9.173232e+06 5.680455e+06 2.397751e+06 5.033664e+06 8.425590e+06 5.639453e+06 ... 2.464956e+06 1994162.000 1.507558e+06 1.964406e+06 1243143.000 1.498652e+06 1221437.000 1232197.000 1343799.00 1653946.000
29 620184.000 2.772861e+06 4.027162e+06 4.565600e+06 5.965188e+06 2.907981e+06 8.387310e+05 2.689648e+06 4.996258e+06 5.005851e+06 ... 2.408959e+06 2082789.000 1.579016e+06 2.713550e+06 2163133.000 2.879345e+06 2640899.000 1995194.000 2577644.00 2876092.000
30 4051507.000 5.364558e+06 5.030861e+06 5.633428e+06 7.660589e+06 5.765384e+06 4.177149e+06 5.312970e+06 8.596712e+06 6.348421e+06 ... 7.724995e+06 6106511.000 7.635774e+06 7.645075e+06 6475544.000 7.240489e+06 5534552.000 6252354.000 6649334.00 7064620.000
31 832421.000 8.775830e+05 9.187650e+05 1.008162e+06 1.478872e+06 1.105491e+06 7.270660e+05 1.090381e+06 1.684500e+06 1.193675e+06 ... 1.370283e+06 1093674.000 1.443278e+06 1.257922e+06 1159094.000 1.369884e+06 1023445.000 1132214.000 1212208.00 1277884.000

32 rows × 64 columns


In [5]:
timepoints=["14","16","18","20","22","24","26","28"]

In [6]:
kegg.name='KEGG'
leafmat=pd.concat([kegg])
rootmat=pd.concat([kegg])
for i in timepoints:
    leafprofile = leafdf.filter(regex="^"+i)
    rootprofile = rootdf.filter(regex="^"+i)
    leafmean = leafprofile.mean(axis=1)
    rootmean = rootprofile.mean(axis=1)
    leafmat=pd.concat([leafmat,leafmean],axis=1)
    rootmat=pd.concat([rootmat,rootmean],axis=1)

In [7]:
leafmat.columns = ["KEGG"] + timepoints
rootmat.columns = ["KEGG"] + timepoints

In [8]:
leafsum = leafmat.groupby('KEGG').sum()
rootsum = rootmat.groupby('KEGG').sum()

In [9]:
for i in leafsum.index:
    foo = pd.concat([leafsum.ix[i], rootsum.ix[i]], axis=1)
    foo.columns = ['leaf', 'root']
    tmp = foo.plot(kind='bar', title=i)
    fig = tmp.get_figure()
    fig.savefig('./' + i + '.png')
    fig.clear()


/Users/knishida/anaconda/lib/python2.7/site-packages/matplotlib/pyplot.py:424: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).
  max_open_warning, RuntimeWarning)

Mapping profile barcharts on KEGG pathway

Get all compounds in this metabolic profile


In [63]:
cpds = set(leafdf['KEGG'].unique()) & set(rootdf['KEGG'].unique())

In [64]:
cpds


Out[64]:
{'C00025',
 'C00037',
 'C00042',
 'C00047',
 'C00049',
 'C00065',
 'C00085',
 'C00089',
 'C00095',
 'C00099',
 'C00121',
 'C00122',
 'C00134',
 'C00137',
 'C00148',
 'C00158',
 'C00160',
 'C00208',
 'C00249',
 'C00258',
 'C00267',
 'C00315',
 'C00429',
 'C00492',
 'C00493',
 'C01595',
 'C01753',
 'C01789'}

The keggutil package

To search KEGG pathway mappable compounds, you can use keggutil package (http://github.com/kozo2/keggutil).
This function is not supported by KEGG mapper(http://www.genome.jp/kegg/mapper.html).


In [12]:
import keggutil

In [13]:
def addind(x):
    return x.replace('C', 'cpd:C')
cpdsFor = keggutil.search_pathway_object(map(addind, cpds))


path:map00010
path:map00020
path:map00030
path:map00040
path:map00051
path:map00052
path:map00053
path:map00061
path:map00062
path:map00071
path:map00072
path:map00073
path:map00100
path:map00120
path:map00121
path:map00130
path:map00140
path:map00190
path:map00195
path:map00230
path:map00231
path:map00232
path:map00240
path:map00250
path:map00253
path:map00254
path:map00260
path:map00270
path:map00280
path:map00281
path:map00290
path:map00300
path:map00310
path:map00311
path:map00330
path:map00331
path:map00332
path:map00340
path:map00350
path:map00351
path:map00360
path:map00361
path:map00362
path:map00363
path:map00364
path:map00365
path:map00380
path:map00400
path:map00401
path:map00402
path:map00403
path:map00410
path:map00430
path:map00440
path:map00450
path:map00460
path:map00471
path:map00472
path:map00473
path:map00480
path:map00500
path:map00510
path:map00512
path:map00520
path:map00521
path:map00522
path:map00523
path:map00524
path:map00531
path:map00532
path:map00534
path:map00540
path:map00550
path:map00561
path:map00562
path:map00563
path:map00564
path:map00565
path:map00590
path:map00591
path:map00592
path:map00600
path:map00620
path:map00621
path:map00622
path:map00623
path:map00624
path:map00625
path:map00626
path:map00627
path:map00630
path:map00633
path:map00640
path:map00642
path:map00643
path:map00650
path:map00660
path:map00670
path:map00680
path:map00710
path:map00720
path:map00730
path:map00740
path:map00750
path:map00760
path:map00770
path:map00780
path:map00785
path:map00790
path:map00791
path:map00830
path:map00860
path:map00900
path:map00901
path:map00902
path:map00903
path:map00904
path:map00905
path:map00906
path:map00908
path:map00909
path:map00910
path:map00920
path:map00930
path:map00940
path:map00941
path:map00942
path:map00943
path:map00944
path:map00945
path:map00950
path:map00960
path:map00965
path:map00966
path:map00970
path:map00980
path:map00981
path:map00982
path:map00983
path:map00984
path:map01040
path:map01051
path:map01052
path:map01053
path:map01054
path:map01055
path:map01056
path:map01057
path:map01058
path:map01060
path:map01061
path:map01062
path:map01063
path:map01064
path:map01065
path:map01066
path:map01070
path:map01100
path:map01110
path:map01120
path:map01200
path:map01210
path:map01212
path:map01220
path:map01230
path:map01501
path:map01502
path:map02010
path:map02020
path:map02030
path:map02060
path:map03013
path:map03070
path:map03320
path:map04010
path:map04012
path:map04014
path:map04015
path:map04020
path:map04022
path:map04024
path:map04062
path:map04064
path:map04066
path:map04068
path:map04070
path:map04071
path:map04075
path:map04080
path:map04111
path:map04112
path:map04113
path:map04114
path:map04122
path:map04140
path:map04141
path:map04142
path:map04144
path:map04145
path:map04150
path:map04151
path:map04152
path:map04260
path:map04261
path:map04270
path:map04310
path:map04340
path:map04360
path:map04370
path:map04380
path:map04510
path:map04530
path:map04540
path:map04610
path:map04611
path:map04614
path:map04621
path:map04623
path:map04626
path:map04650
path:map04660
path:map04662
path:map04664
path:map04666
path:map04670
path:map04672
path:map04710
path:map04713
path:map04720
path:map04721
path:map04722
path:map04723
path:map04724
path:map04725
path:map04726
path:map04727
path:map04728
path:map04730
path:map04740
path:map04742
path:map04744
path:map04745
path:map04750
path:map04810
path:map04910
path:map04911
path:map04912
path:map04913
path:map04914
path:map04915
path:map04916
path:map04917
path:map04918
path:map04919
path:map04920
path:map04921
path:map04922
path:map04930
path:map04932
path:map04940
path:map04960
path:map04961
path:map04962
path:map04964
path:map04966
path:map04970
path:map04971
path:map04972
path:map04973
path:map04974
path:map04975
path:map04976
path:map04977
path:map04978
path:map05010
path:map05012
path:map05014
path:map05016
path:map05020
path:map05030
path:map05031
path:map05032
path:map05033
path:map05034
path:map05110
path:map05111
path:map05120
path:map05130
path:map05131
path:map05132
path:map05133
path:map05134
path:map05140
path:map05142
path:map05143
path:map05144
path:map05145
path:map05146
path:map05150
path:map05152
path:map05160
path:map05162
path:map05164
path:map05166
path:map05169
path:map05200
path:map05204
path:map05205
path:map05211
path:map05212
path:map05213
path:map05214
path:map05215
path:map05217
path:map05218
path:map05220
path:map05221
path:map05222
path:map05223
path:map05230
path:map05231
path:map05310
path:map05320
path:map05322
path:map05323
path:map05330
path:map05332
path:map05410
path:map05412
path:map05414
path:map07011
path:map07012
path:map07013
path:map07014
path:map07015
path:map07016
path:map07023
path:map07024
path:map07026
path:map07030
path:map07032
path:map07033
path:map07034
path:map07035
path:map07037
path:map07039
path:map07040
path:map07042
path:map07053
path:map07055
path:map07110
path:map07112
path:map07114
path:map07117
path:map07211
path:map07212
path:map07214
path:map07216
path:map07217
path:map07218
path:map07220
path:map07221
path:map07222
path:map07224
path:map07225
path:map07226
path:map07227
path:map07229
path:map07230
path:map07232
path:map07235

In [14]:
cpdsFor


Out[14]:
{'notFound': set(),
 'path:map00010': {'cpd:C00022', 'cpd:C00267'},
 'path:map00020': {'cpd:C00022',
  'cpd:C00026',
  'cpd:C00042',
  'cpd:C00122',
  'cpd:C00158'},
 'path:map00030': {'cpd:C00022', 'cpd:C00121', 'cpd:C00258'},
 'path:map00040': {'cpd:C00022', 'cpd:C00026', 'cpd:C00181'},
 'path:map00051': {'cpd:C00095', 'cpd:C00267'},
 'path:map00052': {'cpd:C00089',
  'cpd:C00095',
  'cpd:C00137',
  'cpd:C00267',
  'cpd:C00492'},
 'path:map00053': {'cpd:C00022', 'cpd:C00026', 'cpd:C00137', 'cpd:C05422'},
 'path:map00061': {'cpd:C00249'},
 'path:map00062': {'cpd:C00249'},
 'path:map00071': {'cpd:C00249'},
 'path:map00073': {'cpd:C00249'},
 'path:map00100': {'cpd:C01753', 'cpd:C01789'},
 'path:map00120': {'cpd:C00037'},
 'path:map00190': {'cpd:C00042', 'cpd:C00122'},
 'path:map00230': {'cpd:C00037'},
 'path:map00240': {'cpd:C00099', 'cpd:C00429'},
 'path:map00250': {'cpd:C00022',
  'cpd:C00025',
  'cpd:C00026',
  'cpd:C00042',
  'cpd:C00049',
  'cpd:C00122',
  'cpd:C00158',
  'cpd:C00334'},
 'path:map00260': {'cpd:C00022',
  'cpd:C00037',
  'cpd:C00049',
  'cpd:C00065',
  'cpd:C00078',
  'cpd:C00258'},
 'path:map00270': {'cpd:C00022', 'cpd:C00049', 'cpd:C00065', 'cpd:C00073'},
 'path:map00280': {'cpd:C00123', 'cpd:C00183', 'cpd:C00407'},
 'path:map00290': {'cpd:C00022', 'cpd:C00123', 'cpd:C00183', 'cpd:C00407'},
 'path:map00300': {'cpd:C00026', 'cpd:C00047', 'cpd:C00049'},
 'path:map00310': {'cpd:C00037', 'cpd:C00047'},
 'path:map00311': {'cpd:C00183'},
 'path:map00330': {'cpd:C00022',
  'cpd:C00025',
  'cpd:C00049',
  'cpd:C00122',
  'cpd:C00134',
  'cpd:C00148',
  'cpd:C00315',
  'cpd:C00334'},
 'path:map00332': {'cpd:C00025', 'cpd:C00148'},
 'path:map00340': {'cpd:C00025', 'cpd:C00026', 'cpd:C00049'},
 'path:map00350': {'cpd:C00022', 'cpd:C00042', 'cpd:C00122'},
 'path:map00360': {'cpd:C00022', 'cpd:C00042', 'cpd:C00122'},
 'path:map00361': {'cpd:C00042', 'cpd:C00160'},
 'path:map00362': {'cpd:C00022'},
 'path:map00365': {'cpd:C00026'},
 'path:map00380': {'cpd:C00078', 'cpd:C02938'},
 'path:map00400': {'cpd:C00078', 'cpd:C00493'},
 'path:map00401': {'cpd:C00148'},
 'path:map00410': {'cpd:C00049',
  'cpd:C00099',
  'cpd:C00315',
  'cpd:C00334',
  'cpd:C00429'},
 'path:map00430': {'cpd:C00022', 'cpd:C00025', 'cpd:C00026'},
 'path:map00440': {'cpd:C00022'},
 'path:map00460': {'cpd:C00037',
  'cpd:C00049',
  'cpd:C00065',
  'cpd:C00183',
  'cpd:C00407'},
 'path:map00471': {'cpd:C00025', 'cpd:C00026'},
 'path:map00473': {'cpd:C00022'},
 'path:map00480': {'cpd:C00025',
  'cpd:C00037',
  'cpd:C00134',
  'cpd:C00315',
  'cpd:C05422'},
 'path:map00500': {'cpd:C00089',
  'cpd:C00095',
  'cpd:C00181',
  'cpd:C00208',
  'cpd:C00267',
  'cpd:C01083'},
 'path:map00520': {'cpd:C00181', 'cpd:C00267'},
 'path:map00521': {'cpd:C00137'},
 'path:map00524': {'cpd:C00025'},
 'path:map00561': {'cpd:C00258'},
 'path:map00562': {'cpd:C00137'},
 'path:map00591': {'cpd:C01595'},
 'path:map00600': {'cpd:C00065'},
 'path:map00620': {'cpd:C00022', 'cpd:C00042', 'cpd:C00122'},
 'path:map00621': {'cpd:C00022'},
 'path:map00622': {'cpd:C00022'},
 'path:map00625': {'cpd:C00160'},
 'path:map00630': {'cpd:C00022',
  'cpd:C00025',
  'cpd:C00026',
  'cpd:C00037',
  'cpd:C00042',
  'cpd:C00065',
  'cpd:C00158',
  'cpd:C00160',
  'cpd:C00258'},
 'path:map00640': {'cpd:C00042', 'cpd:C00099'},
 'path:map00643': {'cpd:C00122'},
 'path:map00650': {'cpd:C00022',
  'cpd:C00025',
  'cpd:C00026',
  'cpd:C00042',
  'cpd:C00122',
  'cpd:C00334'},
 'path:map00660': {'cpd:C00022', 'cpd:C00025', 'cpd:C00026'},
 'path:map00680': {'cpd:C00022',
  'cpd:C00037',
  'cpd:C00065',
  'cpd:C00085',
  'cpd:C00258'},
 'path:map00710': {'cpd:C00022', 'cpd:C00049', 'cpd:C00085'},
 'path:map00720': {'cpd:C00022',
  'cpd:C00026',
  'cpd:C00042',
  'cpd:C00122',
  'cpd:C00158'},
 'path:map00730': {'cpd:C00022', 'cpd:C00037'},
 'path:map00760': {'cpd:C00022',
  'cpd:C00049',
  'cpd:C00122',
  'cpd:C00253',
  'cpd:C00334'},
 'path:map00770': {'cpd:C00022',
  'cpd:C00049',
  'cpd:C00099',
  'cpd:C00183',
  'cpd:C00429'},
 'path:map00780': {'cpd:C00047'},
 'path:map00860': {'cpd:C00025', 'cpd:C00037'},
 'path:map00900': {'cpd:C00022'},
 'path:map00901': {'cpd:C00078'},
 'path:map00905': {'cpd:C01789'},
 'path:map00910': {'cpd:C00025'},
 'path:map00920': {'cpd:C00042', 'cpd:C00065'},
 'path:map00940': {'cpd:C00315'},
 'path:map00960': {'cpd:C00047', 'cpd:C00134', 'cpd:C00253', 'cpd:C00407'},
 'path:map00966': {'cpd:C00073',
  'cpd:C00078',
  'cpd:C00123',
  'cpd:C00183',
  'cpd:C00407'},
 'path:map00970': {'cpd:C00025',
  'cpd:C00037',
  'cpd:C00047',
  'cpd:C00049',
  'cpd:C00065',
  'cpd:C00073',
  'cpd:C00078',
  'cpd:C00123',
  'cpd:C00148',
  'cpd:C00183',
  'cpd:C00407'},
 'path:map01040': {'cpd:C00249', 'cpd:C01595'},
 'path:map01060': {'cpd:C00022',
  'cpd:C00025',
  'cpd:C00026',
  'cpd:C00037',
  'cpd:C00042',
  'cpd:C00047',
  'cpd:C00049',
  'cpd:C00065',
  'cpd:C00073',
  'cpd:C00078',
  'cpd:C00122',
  'cpd:C00123',
  'cpd:C00134',
  'cpd:C00158',
  'cpd:C00183',
  'cpd:C00249',
  'cpd:C00253',
  'cpd:C00267',
  'cpd:C00407',
  'cpd:C00493',
  'cpd:C01595',
  'cpd:C01753',
  'cpd:C01789'},
 'path:map01061': {'cpd:C00022',
  'cpd:C00026',
  'cpd:C00042',
  'cpd:C00078',
  'cpd:C00122',
  'cpd:C00158',
  'cpd:C00267',
  'cpd:C00493'},
 'path:map01062': {'cpd:C00022',
  'cpd:C00026',
  'cpd:C00042',
  'cpd:C00122',
  'cpd:C00158',
  'cpd:C00267',
  'cpd:C01753',
  'cpd:C01789'},
 'path:map01063': {'cpd:C00022',
  'cpd:C00026',
  'cpd:C00042',
  'cpd:C00078',
  'cpd:C00122',
  'cpd:C00158',
  'cpd:C00183',
  'cpd:C00267',
  'cpd:C00493'},
 'path:map01064': {'cpd:C00022',
  'cpd:C00025',
  'cpd:C00026',
  'cpd:C00042',
  'cpd:C00047',
  'cpd:C00049',
  'cpd:C00122',
  'cpd:C00134',
  'cpd:C00158',
  'cpd:C00253',
  'cpd:C00267',
  'cpd:C00407'},
 'path:map01065': {'cpd:C00022',
  'cpd:C00026',
  'cpd:C00042',
  'cpd:C00122',
  'cpd:C00123',
  'cpd:C00158',
  'cpd:C00267'},
 'path:map01066': {'cpd:C00022',
  'cpd:C00026',
  'cpd:C00042',
  'cpd:C00122',
  'cpd:C00158',
  'cpd:C00267'},
 'path:map01070': {'cpd:C00022',
  'cpd:C00026',
  'cpd:C00042',
  'cpd:C00049',
  'cpd:C00073',
  'cpd:C00078',
  'cpd:C00122',
  'cpd:C00158',
  'cpd:C00267',
  'cpd:C00493',
  'cpd:C01789'},
 'path:map01100': {'cpd:C00022',
  'cpd:C00025',
  'cpd:C00026',
  'cpd:C00037',
  'cpd:C00042',
  'cpd:C00047',
  'cpd:C00049',
  'cpd:C00065',
  'cpd:C00073',
  'cpd:C00078',
  'cpd:C00085',
  'cpd:C00089',
  'cpd:C00095',
  'cpd:C00099',
  'cpd:C00122',
  'cpd:C00123',
  'cpd:C00134',
  'cpd:C00137',
  'cpd:C00148',
  'cpd:C00158',
  'cpd:C00160',
  'cpd:C00181',
  'cpd:C00183',
  'cpd:C00208',
  'cpd:C00249',
  'cpd:C00253',
  'cpd:C00258',
  'cpd:C00267',
  'cpd:C00315',
  'cpd:C00334',
  'cpd:C00407',
  'cpd:C00429',
  'cpd:C00493',
  'cpd:C01083',
  'cpd:C01595',
  'cpd:C01789',
  'cpd:C05422'},
 'path:map01110': {'cpd:C00022',
  'cpd:C00025',
  'cpd:C00026',
  'cpd:C00037',
  'cpd:C00042',
  'cpd:C00047',
  'cpd:C00049',
  'cpd:C00065',
  'cpd:C00073',
  'cpd:C00078',
  'cpd:C00099',
  'cpd:C00122',
  'cpd:C00123',
  'cpd:C00134',
  'cpd:C00137',
  'cpd:C00148',
  'cpd:C00158',
  'cpd:C00160',
  'cpd:C00183',
  'cpd:C00253',
  'cpd:C00258',
  'cpd:C00267',
  'cpd:C00407',
  'cpd:C00493',
  'cpd:C01083',
  'cpd:C01753',
  'cpd:C01789'},
 'path:map01120': {'cpd:C00022',
  'cpd:C00025',
  'cpd:C00026',
  'cpd:C00037',
  'cpd:C00042',
  'cpd:C00047',
  'cpd:C00049',
  'cpd:C00065',
  'cpd:C00085',
  'cpd:C00095',
  'cpd:C00122',
  'cpd:C00137',
  'cpd:C00158',
  'cpd:C00160',
  'cpd:C00253',
  'cpd:C00258',
  'cpd:C00267'},
 'path:map01200': {'cpd:C00022',
  'cpd:C00026',
  'cpd:C00037',
  'cpd:C00042',
  'cpd:C00049',
  'cpd:C00065',
  'cpd:C00085',
  'cpd:C00122',
  'cpd:C00158',
  'cpd:C00258',
  'cpd:C00267'},
 'path:map01210': {'cpd:C00022',
  'cpd:C00025',
  'cpd:C00026',
  'cpd:C00047',
  'cpd:C00049',
  'cpd:C00073',
  'cpd:C00078',
  'cpd:C00123',
  'cpd:C00158',
  'cpd:C00183',
  'cpd:C00407'},
 'path:map01212': {'cpd:C00249'},
 'path:map01220': {'cpd:C00022', 'cpd:C00042', 'cpd:C00122'},
 'path:map01230': {'cpd:C00022',
  'cpd:C00025',
  'cpd:C00026',
  'cpd:C00037',
  'cpd:C00047',
  'cpd:C00049',
  'cpd:C00065',
  'cpd:C00073',
  'cpd:C00078',
  'cpd:C00123',
  'cpd:C00148',
  'cpd:C00158',
  'cpd:C00183',
  'cpd:C00407',
  'cpd:C00493'},
 'path:map01502': {'cpd:C00022', 'cpd:C00037', 'cpd:C00065'},
 'path:map02010': {'cpd:C00025',
  'cpd:C00037',
  'cpd:C00047',
  'cpd:C00049',
  'cpd:C00065',
  'cpd:C00089',
  'cpd:C00095',
  'cpd:C00121',
  'cpd:C00123',
  'cpd:C00134',
  'cpd:C00137',
  'cpd:C00148',
  'cpd:C00181',
  'cpd:C00183',
  'cpd:C00208',
  'cpd:C00315',
  'cpd:C00407',
  'cpd:C00492',
  'cpd:C01083'},
 'path:map02020': {'cpd:C00025',
  'cpd:C00042',
  'cpd:C00049',
  'cpd:C00122',
  'cpd:C00158'},
 'path:map02030': {'cpd:C00049', 'cpd:C00121', 'cpd:C00208'},
 'path:map02060': {'cpd:C00022',
  'cpd:C00089',
  'cpd:C00095',
  'cpd:C00208',
  'cpd:C01083'},
 'path:map04024': {'cpd:C00042', 'cpd:C00334'},
 'path:map04066': {'cpd:C00022', 'cpd:C00026'},
 'path:map04068': {'cpd:C00025'},
 'path:map04070': {'cpd:C00137'},
 'path:map04071': {'cpd:C00065'},
 'path:map04080': {'cpd:C00025',
  'cpd:C00037',
  'cpd:C00049',
  'cpd:C00099',
  'cpd:C00334'},
 'path:map04152': {'cpd:C00022', 'cpd:C00085'},
 'path:map04540': {'cpd:C00025'},
 'path:map04713': {'cpd:C00025'},
 'path:map04720': {'cpd:C00025'},
 'path:map04721': {'cpd:C00025', 'cpd:C00037', 'cpd:C00334'},
 'path:map04723': {'cpd:C00025', 'cpd:C00334'},
 'path:map04724': {'cpd:C00025'},
 'path:map04726': {'cpd:C00078'},
 'path:map04727': {'cpd:C00025', 'cpd:C00026', 'cpd:C00042', 'cpd:C00334'},
 'path:map04730': {'cpd:C00025'},
 'path:map04742': {'cpd:C00025', 'cpd:C00089'},
 'path:map04911': {'cpd:C00022'},
 'path:map04915': {'cpd:C00334'},
 'path:map04922': {'cpd:C00022',
  'cpd:C00026',
  'cpd:C00042',
  'cpd:C00085',
  'cpd:C00122',
  'cpd:C00158'},
 'path:map04930': {'cpd:C00022'},
 'path:map04964': {'cpd:C00025', 'cpd:C00026', 'cpd:C00267'},
 'path:map04973': {'cpd:C00089', 'cpd:C00095', 'cpd:C00208'},
 'path:map04974': {'cpd:C00025',
  'cpd:C00037',
  'cpd:C00047',
  'cpd:C00049',
  'cpd:C00065',
  'cpd:C00073',
  'cpd:C00078',
  'cpd:C00099',
  'cpd:C00123',
  'cpd:C00134',
  'cpd:C00148',
  'cpd:C00183',
  'cpd:C00407'},
 'path:map04976': {'cpd:C00026', 'cpd:C00315'},
 'path:map04978': {'cpd:C00037',
  'cpd:C00065',
  'cpd:C00073',
  'cpd:C00078',
  'cpd:C00123',
  'cpd:C00148',
  'cpd:C00183',
  'cpd:C00407'},
 'path:map05014': {'cpd:C00025'},
 'path:map05016': {'cpd:C00025'},
 'path:map05030': {'cpd:C00025'},
 'path:map05031': {'cpd:C00025'},
 'path:map05032': {'cpd:C00334'},
 'path:map05033': {'cpd:C00025', 'cpd:C00334'},
 'path:map05034': {'cpd:C00025'},
 'path:map05133': {'cpd:C00253'},
 'path:map05143': {'cpd:C00078'},
 'path:map05200': {'cpd:C00122'},
 'path:map05211': {'cpd:C00122'},
 'path:map05230': {'cpd:C00022',
  'cpd:C00025',
  'cpd:C00026',
  'cpd:C00037',
  'cpd:C00042',
  'cpd:C00049',
  'cpd:C00065',
  'cpd:C00073',
  'cpd:C00078',
  'cpd:C00085',
  'cpd:C00122',
  'cpd:C00123',
  'cpd:C00148',
  'cpd:C00158',
  'cpd:C00183',
  'cpd:C00407'}}

In [65]:
cpdsFor['path:map01230']


Out[65]:
{'cpd:C00022',
 'cpd:C00025',
 'cpd:C00026',
 'cpd:C00037',
 'cpd:C00047',
 'cpd:C00049',
 'cpd:C00065',
 'cpd:C00073',
 'cpd:C00078',
 'cpd:C00123',
 'cpd:C00148',
 'cpd:C00158',
 'cpd:C00183',
 'cpd:C00407',
 'cpd:C00493'}

Mapping tissue specific profiles on KEGG Biosynthesis of amino acids pathway

creating table file for matplotlib figures


In [55]:
import os
def apath(x):
    foo = os.path.abspath('.') + "/" + x.replace("cpd:", "") + ".png"
    return foo
pngpath = map(apath, cpdsFor['path:map01230'])

def rmcpdhead(x):
    return x.replace("cpd:", "")
cpdid = map(rmcpdhead, cpdsFor['path:map01230'])

In [56]:
pngpath


Out[56]:
['/Users/knishida/projects/togotrial2014/C00049.png',
 '/Users/knishida/projects/togotrial2014/C00493.png',
 '/Users/knishida/projects/togotrial2014/C00407.png',
 '/Users/knishida/projects/togotrial2014/C00026.png',
 '/Users/knishida/projects/togotrial2014/C00078.png',
 '/Users/knishida/projects/togotrial2014/C00037.png',
 '/Users/knishida/projects/togotrial2014/C00025.png',
 '/Users/knishida/projects/togotrial2014/C00022.png',
 '/Users/knishida/projects/togotrial2014/C00148.png',
 '/Users/knishida/projects/togotrial2014/C00158.png',
 '/Users/knishida/projects/togotrial2014/C00123.png',
 '/Users/knishida/projects/togotrial2014/C00073.png',
 '/Users/knishida/projects/togotrial2014/C00047.png',
 '/Users/knishida/projects/togotrial2014/C00183.png',
 '/Users/knishida/projects/togotrial2014/C00065.png']

In [57]:
d = {'cgraph' : pd.Series(pngpath), 'plotcpd' : pd.Series(cpdid)}

In [58]:
df = pd.DataFrame(d)

In [59]:
df


Out[59]:
cgraph plotcpd
0 /Users/knishida/projects/togotrial2014/C00049.png C00049
1 /Users/knishida/projects/togotrial2014/C00493.png C00493
2 /Users/knishida/projects/togotrial2014/C00407.png C00407
3 /Users/knishida/projects/togotrial2014/C00026.png C00026
4 /Users/knishida/projects/togotrial2014/C00078.png C00078
5 /Users/knishida/projects/togotrial2014/C00037.png C00037
6 /Users/knishida/projects/togotrial2014/C00025.png C00025
7 /Users/knishida/projects/togotrial2014/C00022.png C00022
8 /Users/knishida/projects/togotrial2014/C00148.png C00148
9 /Users/knishida/projects/togotrial2014/C00158.png C00158
10 /Users/knishida/projects/togotrial2014/C00123.png C00123
11 /Users/knishida/projects/togotrial2014/C00073.png C00073
12 /Users/knishida/projects/togotrial2014/C00047.png C00047
13 /Users/knishida/projects/togotrial2014/C00183.png C00183
14 /Users/knishida/projects/togotrial2014/C00065.png C00065

Loading a KGML pathway data file from KEGG REST API


In [31]:
import requests

PORT_NUMBER = 1234
BASE_URL = "http://localhost:" + str(PORT_NUMBER) + "/v1/"
HEADERS = {'Content-Type': 'application/json'}

# Make sure Cytoscape  RESTful API App is running!
cytoscape_state = requests.get(BASE_URL)
print(json.dumps(json.loads(cytoscape_state.content), indent=4))


{
    "memoryStatus": {
        "usedMemory": 512, 
        "freeMemory": 2535, 
        "maxMemory": 13653, 
        "totalMemory": 3048
    }, 
    "numberOfCores": 8, 
    "apiVersion": "v1"
}

In [23]:
pathway_location = "http://rest.kegg.jp/get/rn01230/kgml"
res1 = requests.post(BASE_URL + "networks?source=url", data=json.dumps([pathway_location]), headers=HEADERS)
result = json.loads(res1.content)
pathway_suid = result[0]["networkSUID"][0]
print("Pathway SUID = " + str(pathway_suid))


Pathway SUID = 52

Final results

Finally you can visualize matplotlib images using Cytoscape custom node graphics. When you paste cgraph urls to Cytoscape custom node graphics Passthrough mapping column and adjust the size, you should see following result. Blue bars mean leaf profile, Green bars mean root profile. You can recognize the difference at a glance. For example, in branchin Valine, Leucine


In [67]:
from IPython.display import SVG
SVG(url='https://raw.githubusercontent.com/kozo2/togotrial2014/master/leaf-root.svg')


Out[67]:
Creator: FreeHEP Graphics2D Driver Producer: org.freehep.graphicsio.svg.SVGGraphics2D Revision Source: Date: Monday, March 23, 2015 12:43:33 AM JST L-Phenylalanine Phenylpyruvate R00694... R01373... R01795... DAHP 3-Dehydroquinate 3-Dehydroshikimate Shikimate Shikimate 3-phosphate R03083... R03084... O5-(1-Carboxyvinyl)-3-phosphoshikimate R02412... R03460... R02413... R01826... R01512... R01015... 1,3-Bisphospho-D-glycerate Glycerone phosphate Glyceraldehyde 3-phosphate R01061... R01070... R07159... Indoleglycerol phosphate 1-(2-Carboxyphenylamino)-1-deoxy-D-ribulose 5-phosphate R03509... R03508... Tryptophan R02722... R01714... R01715... R00985... Vitamin L1 Prephenate N-(5-Phospho-D-ribosyl)anthranilate Chorismate R01073... L-Arogenate Tyrosine R01731... R01728... R00734... 4-Hydroxyphenylpyruvate R00732... R04365... R04364... R10147... R04198... 2,3,4,5-Tetrahydrodipicolinate R06977... L-2,4-Diaminobutyrate HTPA R04336... N6-Acetyl-L-2,6-diaminopimelate R02733... R07613... R04467... R02734... N-Succinyl-L-2,6-diaminopimelate L-2-Acetamido-6-oxopimelate R04475... L-2-Amino-6-oxopimelate N-Succinyl-L-2-amino-6-oxopimelate R02755... R00351... L-Asp R00397... R00355... Oxaloacetate Citrate R00483... L-Alanine L-Asparagine R01773... R02291... 4-Phospho-L-aspartate L-Aspartic 4-semialdehyde R00480... L-Lysine LL-2,6-Diaminopimelate R02735... meso-2,6-Diaminopimelate R00451... 2-Phospho-D-glycerate 3-Phosphonooxypyruvate R01513... R01518... 3-Phosphoglycerate R04173... Methionine R00946... D-Citramalate R01286... Homocysteine R10305... R01290... R00658... PEP R00200... R07274... R00582... R03132... R00220... S-Sulfo-L-cysteine Dexfosfoserine R10409... R10404... S-Ribosylhomocysteine R00194... R00177... S-Adenosylhomocysteine SAM R01291... N-Acetyl-L-glutamate R02649... N-Acetyl-L-glutamyl 5-phosphate R03443... R00239... R09775... L-2-Aminoadipate [LysW]-L-2-aminoadipate LysW-gamma-L-alpha-aminoadipyl-6-phosphate R09776... R01939... 2-Oxoadipate L-Ornithine R00551... L-Arg L-Argininosuccinate R01086... R01954... R01398... Citrulline R00671... R03444... Homocitrate R00271... cis-Homoaconitate Homoisocitrate R01934... R09720... R04371... Saccharopine Allysine R03102... R09779... R02315... R09777... LysW-gamma-L-alpha-aminoadipate 6-semialdehyde R09778... LysW-gamma-L-lysine L-Lysine R00715... R02283... Carbamoyl phosphate R00669... R00149... CO2 2-Acetamido-5-oxopentanoate N-Acetylornithine NH3 R01324... L-Glutamine R00253... R00114... R00267... R00259... R00355... Isocitrate 2-Oxoglutarate Glutamate L-Proline R03314... 1-Pyrroline-5-carboxylate R03313... L-Glutamate 5-semialdehyde L-Glutamyl 5-phosphate R01248... R01830... R09780... R04779... D-Erythrose 4-phosphate beta-D-Fructose 1,6-bisphosphate beta-D-Fructose 6-phosphate Ribose 5-phosphate PRPP R01049... Phosphoribosyl-ATP Phosphoribosyl-AMP Phosphoribosyl-formimino-AICAR-phosphate R01071... R04037... R04035... R04640... D-Ribulose 5-phosphate R01529... D-arabino-6-Phospho-hex-3-ulose Sedoheptulose 7-phosphate R01827... R01056... D-Xylulose 5-phosphate R01641... R05338... Phosphoribulosyl-formimino-AICAR-phosphate R03243... R03457... R03013... L-Histidinol L-Histidinol phosphate Imidazole-acetol phosphate D-erythro-Imidazole-glycerol phosphate R04558... L-Histidine R01158... O-Phospho-L-homoserine R00996... R08648... L-Threonine R01466... 2-Oxoisocaproate R01090... 3-Isopropylmalate R10170... R10052... alpha-Isopropylmalate R01213... L-Leucine (2R,3S)-3-Methylmalate R00994... R03896... R00751... R07399... R00344... R00945... Gly R00258... 2-Ketovaline (R)-2,3-Dihydroxy-isovalerate (S)-2-Acetolactate R00226... R04441... R05071... L-Valine Pyruvate R01214... R01001... L-Homoserine O-Succinylhomoserine L-Cystathionine R03260... R01771... R01777... O-Acetyl-L-serine Serine R00586... R00897... L-Cysteine L-Isoleucine (S)-3-Methyl-2-oxopentanoate (R)-2,3-Dihydroxy-3-methylvalerate (S)-2-Aceto-2-hydroxybutanoate 2-Oxobutyrate R02199... R05070... R05069...

In [ ]: