about summary refs log tree commit diff
diff options
context:
space:
mode:
authorHao Chen2019-05-08 01:55:31 -0500
committerHao Chen2019-05-08 01:55:31 -0500
commitefaf3a4abe2f6ae5b67578182085d18d05f25c5f (patch)
tree00ee6bb45907e03cc192e469892c06c30e0f2e6b
parent577515fb8afdf7fa535a3b16d13f261696bb6ce0 (diff)
downloadgenecup-efaf3a4abe2f6ae5b67578182085d18d05f25c5f.tar.gz
multiple genes allowed
-rw-r--r--server.py25
-rw-r--r--templates/index.html14
-rw-r--r--templates/layout.html46
-rw-r--r--templates/network.html46
4 files changed, 122 insertions, 9 deletions
diff --git a/server.py b/server.py
index 76cb63c..d65625e 100644
--- a/server.py
+++ b/server.py
@@ -19,14 +19,21 @@ def network():
     nodes_list=[]
     if request.method == 'POST':
         term = request.form
-        gene=term['query']
-        nodes="{ data: { id: '" + gene +  "', nodecolor:'#FADBD8'} },\n" + default_nodes
-        tmp0=gene_addiction(gene)
-        e0=generate_edges(tmp0)
-        tmp1=gene_functional(gene)
-        e1=generate_edges(tmp1)
-        tmp2=gene_anatomical(gene)
-        e2=generate_edges(tmp2)
-        return render_template('network.html', elements=nodes+e0+e1+e2)
+        genes=term['query']
+        genes=genes.replace(",", " ")
+        genes=genes.replace(";", " ")
+        genes=genes.split()
+        nodes=default_nodes
+        edges=str()
+        for  gene in genes:
+            nodes+="{ data: { id: '" + gene +  "', nodecolor:'#FADBD8', fontweight:700} },\n"
+            tmp0=gene_addiction(gene)
+            e0=generate_edges(tmp0)
+            tmp1=gene_functional(gene)
+            e1=generate_edges(tmp1)
+            tmp2=gene_anatomical(gene)
+            e2=generate_edges(tmp2)
+            edges+=e0+e1+e2
+        return render_template('network.html', elements=nodes+edges)
 if __name__ == '__main__':
     app.run(debug=True)
diff --git a/templates/index.html b/templates/index.html
new file mode 100644
index 0000000..c7bafcd
--- /dev/null
+++ b/templates/index.html
@@ -0,0 +1,14 @@
+{% extends "layout.html" %}
+{% block content %}
+
+
+<h3> Searching PubMed to find sentences related to addiction</h3>
+    <form class="form-inline my-2 my-lg-0" action="/network" method="POST">
+      <input name="query" class="form-control mr-sm-2" type="search" placeholder="Nrxn1" aria-label="search" value="Nrxn1">
+      <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
+    </form>
+
+{% endblock %}
+
+
+
diff --git a/templates/layout.html b/templates/layout.html
new file mode 100644
index 0000000..1a81c1a
--- /dev/null
+++ b/templates/layout.html
@@ -0,0 +1,46 @@
+<!doctype html>
+<head>
+<!-- Required meta tags -->
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+	<meta http-equiv="X-UA-Compatible" content="ie=edge">
+		 
+    <!-- Bootstrap CSS -->
+    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
+	<link rel=stylesheet type=text/css href="{{ url_for('static', filename='style.css') }}">
+
+
+	<title>GatPub: Gene Addictionness through PubMed</title>
+</head>
+<body>
+
+<nav class="navbar navbar-expand-lg navbar-light bg-light">
+  <a class="navbar-brand" href="#">GatPub</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">Home <span class="sr-only">(current)</span></a>
+      </li>
+      <li class="nav-item">
+        <a class="nav-link" href="/search">Search</a>
+      </li>
+      <li class="nav-item">
+        <a class="nav-link" href="/result">Result</a>
+      </li>
+  </div>
+</nav>
+
+	<div class="container">
+	{% block content %}{% endblock %}
+	</div>
+
+<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
+<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
+<script src="http://d3js.org/d3.v5.min.js"></script>
+</body>
+
+
diff --git a/templates/network.html b/templates/network.html
new file mode 100644
index 0000000..24c18c1
--- /dev/null
+++ b/templates/network.html
@@ -0,0 +1,46 @@
+{% extends "layout.html" %}
+{% block content %}
+
+<script type="text/javascript" src="{{ url_for('static', filename='cytoscape.min.js') }}"></script>
+
+
+    <div id="cy"></div>
+    <script>
+      var cy = cytoscape({
+        container: document.getElementById('cy'),
+
+		style: [
+			{ selector: 'node',
+			  css: {
+				'content': 'data(id)',
+				'text-valign': 'center',
+				'text-halign': 'center',
+                'background-color': 'data(nodecolor)',
+				'font-weight': 'data(fontweight)'
+			  }
+			},
+		
+			{ selector: 'edge',
+			  css: {
+				'content': 'data(sentCnt)',
+				'curve-style': 'bezier',
+    			"opacity": "0.4",
+			  }
+			}
+		],
+	    elements:[ {{ elements | safe }} ], 
+	
+	    layout: {
+			name: 'concentric',
+			concentric: function( node ){
+			  return node.degree();
+        	},
+			levelWidth: function( nodes ){
+			  return 2;
+			}
+      	},
+
+	  });
+    </script>
+
+{% endblock %}