about summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xratspub.py42
-rwxr-xr-x[-rw-r--r--]server.py12
-rw-r--r--templates/cytoscape.html6
-rw-r--r--templates/index.html3
-rw-r--r--templates/layout.html12
5 files changed, 33 insertions, 42 deletions
diff --git a/ratspub.py b/ratspub.py
index 0670726..7400488 100755
--- a/ratspub.py
+++ b/ratspub.py
@@ -15,7 +15,7 @@ def findWholeWord(w):
     return re.compile(r'\b({0})\b'.format(w), flags=re.IGNORECASE).search
 
 def getSentences(query, gene):
-    abstracts = os.popen("esearch -db pubmed -query " +  query + " | efetch -format uid |fetch-pubmed -path /run/media/hao/PubMed/Archive/ | xtract -pattern PubmedArticle -element MedlineCitation/PMID,ArticleTitle,AbstractText").read()
+    abstracts = os.popen("esearch -db pubmed -query " +  query + " | efetch -format uid |fetch-pubmed -path /run/media/hao/PubMed/Archive/ | xtract -pattern PubmedArticle -element MedlineCitation/PMID,ArticleTitle,AbstractText|sed \"s/-/ /g\"").read()
     out=str()
     for row in abstracts.split("\n"):
         tiab=row.split("\t")
@@ -25,7 +25,7 @@ def getSentences(query, gene):
         ## keep the sentence only if it contains the gene 
         for sent in sentences:
             if findWholeWord(gene)(sent):
-                sent=re.sub(r'\b(%s)\b' % gene, r'<b>\1</b>', sent, flags=re.I)
+                sent=re.sub(r'\b(%s)\b' % gene, r'<strong>\1</strong>', sent, flags=re.I)
                 out+=pmid+"\t"+sent+"\n"
     return(out)
 
@@ -40,8 +40,8 @@ def gene_addiction(gene):
                 sent=re.sub(r'\b(%s)\b' % drug_d[drug0], r'<b>\1</b>', sent, flags=re.I)
                 out+=gene+"\t"+"drug\t" + drug0+"\t"+sent+"\n"
         for add0 in addiction_d:
-            if findWholeWord(add0)(sent) :
-                sent=re.sub(r'\b(%s)\b' % add0, r'<b>\1</b>', sent, flags=re.I)
+            if findWholeWord(addiction_d[add0])(sent) :
+                sent=re.sub(r'\b(%s)\b' % addiction_d[add0], r'<b>\1</b>', sent, flags=re.I)
                 out+=gene+"\t"+"addiction\t"+add0+"\t"+sent+"\n"
     return(out)
 
@@ -92,39 +92,39 @@ def generate_edges(data):
 
 
 
-addiction_d = {"reward":"reward|reinforcement|conditioned place preference|CPP|self-administration|self-administered",
-        "aversion":"aversion|aversive|CTA|withdrawal",
-        "relapse":"relapse|reinstatement|craving|drug seeking",
+addiction_d = {"reward":"reward|hedonic|incentive|intracranial self stimulation|ICSS|reinforcement|conditioned place preference|CPP|self administration|self administered|drug reinforced|operant|instrumental response",
+        "aversion":"aversion|aversive|CTA|withdrawal|conditioned taste aversion",
+        "relapse":"relapse|reinstatement|craving|drug seeking|seeking",
         "sensitization":"sensitization",
-        "addiction":"addiction|drug abuse",
+        "addiction":"addiction|dependence|addictive|drug abuse|punishment|compulsive|escalation",
         "intoxication":"intoxication|binge"
         }
 addiction=undic(addiction_d)
 
-drug_d = {"alcohol":"alcohol|alcoholism",
+drug_d = {"alcohol":"alcohol|alcoholism|alcoholic",
         "nicotine":"smoking|nicotine|tobacco",
         "cocaine":"cocaine",
-        "opioid":"opioid|fentanyl|oxycodone|oxycontin|heroin|morphine",
+        "opioid":"opioid|opioids|fentanyl|oxycodone|oxycontin|heroin|morphine|methadone|buprenorphine",
         "amphetamine":"methamphetamine|amphetamine|METH",
-        "cannabinoid":"marijuana|cannabinoid|tetrahydrocannabinol|thc|thc-9"
+        "cannabinoid":"endocannabinoid|cannabinoids|endocannabinoids|marijuana|cannabidiol|cannabinoid|tetrahydrocannabinol|thc|thc 9|Oleoylethanolamide|palmitoylethanolamide|acylethanolamides"
         }
 drug=undic(drug_d)
 
-brain_d ={"cortex":"cortex|pfc|vmpfc|il|pl|prelimbic|infralimbic",
-          "striatum":"striatum|STR",
-          "accumbens":"shell|core|NAcc|acbs|acbc",
-          "hippocampus":"hippocampus|hipp|hip|ca1|ca3|dentate|gyrus",
-          "amygadala":"amygadala|cea|bla|amy",
-          "vta":"ventral tegmental|vta|pvta"
+brain_d ={"cortex":"cortex|prefrontal|pfc|mPFC|vmpfc|corticostriatal|cortico limbic|corticolimbic|prl|prelimbic|infralimbic|orbitofrontal|cingulate|cerebral|insular|insula",
+          "striatum":"striatum|STR|striatal|caudate|putamen",
+          "accumbens":"accumbens|accumbal|shell|core|Nacc|NacSh|acbs|acbc",
+          "hippocampus":"hippocampus|hippocampal|hipp|hip|ca1|ca3|dentate gyrus|subiculum|vhipp",
+          "amygdala":"amygdala|cea|bla|amy",
+          "vta":"ventral tegmental|vta|pvta|mesolimbic|limbic|midbrain|mesoaccumbens"
           }
 # brain region has too many short acronyms to just use the undic function, so search PubMed using the following 
 brain="cortex|accumbens|striatum|amygadala|hippocampus|tegmental|mesolimbic|infralimbic|prelimbic"
 
-function_d={"plasticity":"LTP|LTD|plasticity|synaptic|epsp|epsc",
-            "signalling":"signalling|phosphorylation|glycosylation",
+function_d={"neuroplasticity":"neuroplasticity|plasticity|long term potentiation|LTP|long term depression|LTD|synaptic|epsp|epsc|neurite|neurogenesis|boutons|mIPSC|IPSC|IPSP",
+            "signalling":"signalling|signaling|phosphorylation|glycosylation",
 #            "regulation":"increased|decreased|regulated|inhibited|stimulated",
-            "transcription":"transcription|methylation|histone|ribosome",
-            "neurotransmission": "neurotransmission|glutamate|GABA|cholinergic|serotoninergic",
+            "transcription":"transcription|methylation|hypomethylation|hypermethylation|histone|ribosome",
+            "neurotransmission": "neurotransmission|neuropeptides|neuropeptide|glutamate|glutamatergic|GABA|GABAergic|dopamine|dopaminergic|DAergic|cholinergic|nicotinic|muscarinic|serotonergic|serotonin|5 ht|acetylcholine",
             }
 function=undic(function_d)
 
diff --git a/server.py b/server.py
index 4eaf911..c9009d0 100644..100755
--- a/server.py
+++ b/server.py
@@ -1,3 +1,4 @@
+#!/bin/env  python3
 from flask import Flask, render_template, request, redirect
 import simplejson as json
 from ratspub import *
@@ -9,10 +10,6 @@ app.config['SECRET_KEY'] = '#DtfrL98G5t1dC*4'
 def root():
     return render_template('index.html')
 
-@app.route("/home")
-def home():
-    return render_template('index.html')
-
 @app.route("/search")
 def search():
     global all_sentences 
@@ -33,6 +30,9 @@ def search():
         e2=generate_edges(sent2)
         edges+=e0+e1+e2
         all_sentences+=sent0+sent1+sent2
+    f=open("all_sentences.tab","w")
+    f.write(all_sentences)
+    f.close()
     return render_template('cytoscape.html', elements=nodes+edges)
 
 @app.route("/sentences")
@@ -40,14 +40,14 @@ def sentences():
     edge=request.args.get('edgeID')
     (gene0, cat0)=edge.split("|")
     print (gene0 + cat0)
-    out=str()
+    out="<h3>"+gene0 + " and " + cat0  + "</h3>\n"
     for sent in all_sentences.split("\n"):
         #print (sent) 
         if len(sent.strip())!=0:
            (gene,nouse,cat, pmid, text)=sent.split("\t") 
            if (gene == gene0 and cat == cat0) :
                out+= "<li> "+ text + " <a href=\"https://www.ncbi.nlm.nih.gov/pubmed/?term=" + pmid +"\" target=_new>PMID:"+pmid+"<br></a>"
-    return render_template('sentences.html', sentences=out)
+    return render_template('sentences.html', sentences=out+"<p>")
 
 if __name__ == '__main__':
     app.run(debug=True)
diff --git a/templates/cytoscape.html b/templates/cytoscape.html
index ab30562..749b042 100644
--- a/templates/cytoscape.html
+++ b/templates/cytoscape.html
@@ -20,7 +20,8 @@
 				{ selector: 'edge',
 					css: {
 						'content': 'data(sentCnt)',
-						'curve-style': 'bezier'
+						'curve-style': 'bezier',
+			            'opacity': '0.3' 
 					}
 				},
 			{ selector: 'node.highlight',
@@ -35,7 +36,8 @@
         },
         {
             selector: 'edge.highlight',
-            style: { 'mid-target-arrow-color': '#FFF' }
+            style: { 'mid-target-arrow-color': '#FFF' },
+            style:{ 'opacity': '0.9' }
         },
         {
             selector: 'edge.semitransp',
diff --git a/templates/index.html b/templates/index.html
index 4f19269..27455fb 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -1,8 +1,7 @@
 {% extends "layout.html" %}
 {% block content %}
+<p>
 
-
-<h3> Searching PubMed to find sentences related to addiction</h3>
     <form class="form-inline my-2 my-lg-0" action="/search">
       <input name="query" class="form-control mr-sm-2" type="search" placeholder="Rgma Nrxn3" aria-label="search" value="Rgma Nrxn3">
       <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
diff --git a/templates/layout.html b/templates/layout.html
index 421798e..0d3021e 100644
--- a/templates/layout.html
+++ b/templates/layout.html
@@ -15,20 +15,10 @@
 <body>
 
 <nav class="navbar navbar-expand-lg navbar-light bg-light">
-  <a class="navbar-brand" href="#">RatsPub</a>
+	<a class="navbar-brand" href="/">RatsPub:</br> <span style="font-size:small"> <u>R</u>elationship  with <u>A</u>ddiction <u>T</u>hrough <u>S</u>earches of <u>Pub</u>Med </span></a>
   <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
     <span class="navbar-toggler-icon"></span>
   </button>
-
-  <div class="collapse navbar-collapse" id="navbarSupportedContent">
-    <ul class="navbar-nav mr-auto">
-      <li class="nav-item active">
-        <a class="nav-link" href="/home">Search <span class="sr-only">(current)</span></a>
-      </li>
-      <li class="nav-item">
-        <a class="nav-link" href="/result">Result</a>
-      </li>
-  </div>
 </nav>
 
 	<div class="container">