aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wqflask/wqflask/templates/wgcna_results.html2
-rwxr-xr-xwqflask/wqflask/views.py2
-rw-r--r--wqflask/wqflask/wgcna/wgcna_analysis.py14
3 files changed, 11 insertions, 7 deletions
diff --git a/wqflask/wqflask/templates/wgcna_results.html b/wqflask/wqflask/templates/wgcna_results.html
index 9592c25f..b8a4a4f5 100644
--- a/wqflask/wqflask/templates/wgcna_results.html
+++ b/wqflask/wqflask/templates/wgcna_results.html
@@ -12,7 +12,7 @@
{% endfor %}
</table>
<h2>WGCNA module plot</h2>
- <a href="{{ results['imgurl'] }}">
+ <a href="/tmp/{{ results['imgurl'] }}">
<img alt="Embedded Image" src="data:image/png;base64,
{% for elem in results['imgdata'] -%}
{% print("%c"|format(elem)) %}
diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py
index 73899316..dc199ab2 100755
--- a/wqflask/wqflask/views.py
+++ b/wqflask/wqflask/views.py
@@ -96,7 +96,7 @@ def tmp_page(img_path):
print("img_path:", img_path)
initial_start_vars = request.form
print("initial_start_vars:", initial_start_vars)
- imgfile = open('/home/zas1024/tmp/' + img_path, 'rb')
+ imgfile = open(webqtlConfig.TMPDIR + img_path, 'rb')
imgdata = imgfile.read()
imgB64 = imgdata.encode("base64")
bytesarray = array.array('B', imgB64)
diff --git a/wqflask/wqflask/wgcna/wgcna_analysis.py b/wqflask/wqflask/wgcna/wgcna_analysis.py
index 74bb6f8e..9ab7950b 100644
--- a/wqflask/wqflask/wgcna/wgcna_analysis.py
+++ b/wqflask/wqflask/wgcna/wgcna_analysis.py
@@ -7,6 +7,7 @@ import rpy2.robjects as ro # R Objects
import rpy2.rinterface as ri
from base import webqtlConfig # For paths and stuff
+from utility import webqtlUtil # Random number for the image
import base64
import array
@@ -97,22 +98,24 @@ class WGCNA(object):
# Create block wise modules using WGCNA
network = self.r_blockwiseModules(rM, power = 6, verbose = 3)
+ # Save the network for the GUI
self.results['network'] = network
# How many modules and how many gene per module ?
print(r_table(network[1]))
# The iconic WCGNA plot of the modules in the hanging tree
- self.results['imgurl'] = webqtlConfig.TMPDIR + "WGCNAoutput.png"
- r_png(self.results['imgurl'])
+ self.results['imgurl'] = webqtlUtil.genRandStr("WGCNAoutput_") + ".png"
+ self.results['imgloc'] = webqtlConfig.TMPDIR + self.results['imgurl']
+ r_png(self.results['imgloc'])
mergedColors = self.r_labels2colors(network[1])
- self.r_plotDendroAndColors(network[5][0], mergedColors, "Module colors",dendroLabels = False, hang = 0.03, addGuide = True, guideHang = 0.05)
+ self.r_plotDendroAndColors(network[5][0], mergedColors, "Module colors", dendroLabels = False, hang = 0.03, addGuide = True, guideHang = 0.05)
r_dev_off()
sys.stdout.flush()
def render_image(self, results):
- print("pre-loading imgage results:", self.results['imgurl'])
- imgfile = open(self.results['imgurl'], 'rb')
+ print("pre-loading imgage results:", self.results['imgloc'])
+ imgfile = open(self.results['imgloc'], 'rb')
imgdata = imgfile.read()
imgB64 = imgdata.encode("base64")
bytesarray = array.array('B', imgB64)
@@ -124,6 +127,7 @@ class WGCNA(object):
template_vars["input"] = self.input
template_vars["results"] = self.results
self.render_image(results)
+ sys.stdout.flush()
#r_sink(type = "message") # This restores R output to the stdout/stderr
#r_sink() # We should end the Rpy session more or less
return(dict(template_vars))