Mercurial > repos > pablocarb > synbiodesign
annotate rpviz/network2json.py @ 30:0ad6fda90f41 draft default tip
planemo upload commit f74fd52b330cc7460d98121b9bb78c08ca915d1e
author | pablocarb |
---|---|
date | Thu, 29 Aug 2019 06:59:58 -0400 |
parents | fe78fd6b315a |
children |
rev | line source |
---|---|
16
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
1 # -*- coding: utf-8 -*- |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
2 """ |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
3 Created on Thu May 30 16:23:33 2019 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
4 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
5 @author: anael |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
6 """ |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
7 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
8 import networkx as nx |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
9 import json |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
10 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
11 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
12 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
13 def network2(LR,Lreact,Lprod,name,smile,image,spname,splinks): |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
14 ###Create the network with networkx |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
15 G=nx.DiGraph() |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
16 G.add_nodes_from(LR) #add reactions nodes |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
17 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
18 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
19 for i in range(len(LR)): |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
20 for j in range(len(Lreact[i])): |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
21 G.add_edge(Lreact[i][j],LR[i]) #add reactants nodes |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
22 for k in range(len(Lprod[i])): |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
23 G.add_edge(LR[i],Lprod[i][k]) #add products nodes |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
24 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
25 #Attribute category |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
26 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
27 dic_types={} |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
28 for i in range(len(LR)): |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
29 dic_types[(list(G.nodes))[i]]='reactions' |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
30 for node in range(len(list(G.nodes))): |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
31 if list(G.nodes)[node] in Lprod[i]: |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
32 dic_types[list(G.nodes)[node]]='product' |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
33 if list(G.nodes)[node] not in dic_types: |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
34 dic_types[list(G.nodes)[node]]='reactant' |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
35 nx.set_node_attributes(G,name='category',values=dic_types) |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
36 nx.draw(G) |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
37 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
38 #Attribute smile |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
39 nx.set_node_attributes(G, name='smiles', values=smile) |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
40 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
41 #Attribute image |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
42 nx.set_node_attributes(G,name='image', values=image) |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
43 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
44 #Attribute name |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
45 nx.set_node_attributes(G,name='name', values=spname) |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
46 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
47 #Attribute link |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
48 nx.set_node_attributes(G,name="link",values=splinks) |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
49 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
50 js = nx.readwrite.json_graph.cytoscape_data(G) |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
51 json_elements=json.dumps(js) |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
52 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
53 return(json_elements) |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
54 #file = os.path.join('file_json',name+'.json') |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
55 #json.dump(js,open(file,'w')) #doesn't work on Windows |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
56 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
57 #from py2html import html |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
58 #html(file, name) |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
59 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
60 #from py2html2 import html2 |
fe78fd6b315a
planemo upload commit 87db86a34f2d92eb2c9756bf9ee53ae2970554d5
pablocarb
parents:
diff
changeset
|
61 #html2(file,name) |