about summary refs log tree commit diff
path: root/ratspub.py
diff options
context:
space:
mode:
authorHao Chen2019-05-09 15:47:10 -0500
committerHao Chen2019-05-09 15:47:10 -0500
commit23e5c27d83d545fb1155ae9c0d558abe9c828c91 (patch)
treeb790b263c6bada6e2f98a1d70c95a490976bcfeb /ratspub.py
parent888e95f82ec96129257ff9064e9860a275fb7b15 (diff)
downloadgenecup-23e5c27d83d545fb1155ae9c0d558abe9c828c91.tar.gz
links from nodes
Diffstat (limited to 'ratspub.py')
-rwxr-xr-xratspub.py27
1 files changed, 16 insertions, 11 deletions
diff --git a/ratspub.py b/ratspub.py
index 345146e..ea78d85 100755
--- a/ratspub.py
+++ b/ratspub.py
@@ -3,6 +3,8 @@ from nltk.tokenize import sent_tokenize
 import os
 import re
 
+global function_d, brain_d, drug_d, addiction_d
+
 ## turn dictionary (synonyms) to regular expression
 def undic(dic):
     return "|".join(dic.values())
@@ -67,27 +69,28 @@ def gene_functional(gene):
                 out+=gene+"\t"+"function\t"+bio0+"\t"+sent+"\n"
     return(out)
 
-def generate_nodes(nodes_d, nodecolor):
+def generate_nodes(nodes_d, nodetype):
+    nodecolor={'function':"#A9CCE3", 'addiction': "#D7BDE2", 'drug': "#F9E79F", 'brain':"#A3E4D7"}
     # include all search terms even if there are no edges, just to show negative result 
-    json0 =str() #"{ data: { id: '" + gene +  "'} },\n"
+    json0 =str()
     for node in nodes_d:
-        json0 += "{ data: { id: '" + node +  "', nodecolor: '" + nodecolor + "' } },\n"
+        json0 += "{ data: { id: '" + node +  "', nodecolor: '" + nodecolor[nodetype] + "', nodetype: '"+nodetype + "', url:'/shownode?nodetype=" + nodetype + "&node="+node+"' } },\n"
     return(json0)
 
-def generate_edges(data):
+def generate_edges(data, filename):
     json0=str()
     edgeCnts={}
     for line in  data.split("\n"):
         if len(line.strip())!=0:
             (source, cat, target, pmid, sent) = line.split("\t")
-            edgeID=source+"|"+target
+            edgeID=filename+"|"+source+"|"+target
             if edgeID in edgeCnts:
                 edgeCnts[edgeID]+=1
             else:
                 edgeCnts[edgeID]=1
     for edgeID in edgeCnts:
-        (source,target)=edgeID.split("|")
-        json0+="{ data: { id: \'" + edgeID + "\', source: \'" + source + "\', target: '" + target + "\', sentCnt: '" + str(edgeCnts[edgeID]) + "',  url:'/sentences?edgeID=" + edgeID + "' } },\n"
+        (filename, source,target)=edgeID.split("|")
+        json0+="{ data: { id: '" + edgeID + "', source: '" + source + "', target: '" + target + "', sentCnt: '" + str(edgeCnts[edgeID]) + "',  url:'/sentences?edgeID=" + edgeID + "' } },\n"
     return(json0)
 
 addiction_d = {"reward":"reward|hedonic|incentive|intracranial self stimulation|ICSS|reinforcement|conditioned place preference|CPP|self administration|self administered|drug reinforced|operant|instrumental response",
@@ -126,9 +129,11 @@ function_d={"neuroplasticity":"neuroplasticity|plasticity|long term potentiation
             }
 function=undic(function_d)
 
+
+
 #https://htmlcolorcodes.com/
-n0=generate_nodes(function_d, "#D7BDE2")
-n1=generate_nodes(addiction_d,"#A9CCE3")
-n2=generate_nodes(drug_d, "#A3E4D7")
-n3=generate_nodes(brain_d, "#F9E79F")
+n0=generate_nodes(function_d, 'function')
+n1=generate_nodes(addiction_d, 'addiction')
+n2=generate_nodes(drug_d, 'drug')
+n3=generate_nodes(brain_d, 'brain')
 default_nodes=n0+n1+n2+n3