aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPjotr Prins2016-02-25 13:19:40 +0000
committerPjotr Prins2016-04-20 09:56:17 +0000
commit0ce72520d5b8f6ef38cfb43637b39ce209d5c7f7 (patch)
tree9941d3110616f6470c9d9a0996bff4a54746fd09
parent84fef98c7929d3d42e1a7efa33bff74cbbb468c7 (diff)
downloadgenenetwork2-0ce72520d5b8f6ef38cfb43637b39ce209d5c7f7.tar.gz
[PATCH 050/100] Using out-of-tree storage. Added comments for plink,
gemma.
-rw-r--r--wqflask/wqflask/marker_regression/gemma_mapping.py7
-rw-r--r--wqflask/wqflask/marker_regression/marker_regression.py39
-rw-r--r--wqflask/wqflask/views.py2
3 files changed, 10 insertions, 38 deletions
diff --git a/wqflask/wqflask/marker_regression/gemma_mapping.py b/wqflask/wqflask/marker_regression/gemma_mapping.py
index cfcd4783..ae426621 100644
--- a/wqflask/wqflask/marker_regression/gemma_mapping.py
+++ b/wqflask/wqflask/marker_regression/gemma_mapping.py
@@ -12,8 +12,11 @@ def run_gemma(this_dataset, samples, vals):
gen_pheno_txt_file(this_dataset, samples, vals)
- os.chdir(GEMMA_PATH)
+ # Don't do this!
+ # os.chdir("{}gemma".format(webqtlConfig.HTMLPATH))
+ # use GEMMA_RUN in the next one, create a unique temp file
+
gemma_command = GEMMA_COMMAND + ' -bfile %s/%s -k %s/output/%s.cXX.txt -lmm 1 -o %s_output' % (GEMMA_PATH,
this_dataset.group.name,
GEMMA_PATH,
@@ -46,4 +49,4 @@ def parse_gemma_output(this_dataset):
p_values.append(float(line.split("\t")[10]))
#print("p_values: ", p_values)
- return included_markers, p_values \ No newline at end of file
+ return included_markers, p_values
diff --git a/wqflask/wqflask/marker_regression/marker_regression.py b/wqflask/wqflask/marker_regression/marker_regression.py
index 1b32b05b..d1c0d9bc 100644
--- a/wqflask/wqflask/marker_regression/marker_regression.py
+++ b/wqflask/wqflask/marker_regression/marker_regression.py
@@ -30,16 +30,12 @@ from flask import Flask, g
from base.trait import GeneralTrait
from base import data_set
from base import species
-# from base import webqtlConfig
from utility import webqtlUtil
from utility import helper_functions
from utility import Plot, Bunch
from utility import temp_data
from utility.benchmark import Bench
from wqflask.marker_regression import gemma_mapping
-#from wqflask.marker_regression import qtl_reaper_mapping
-#from wqflask.marker_regression import plink_mapping
-#from wqflask.marker_regression import rqtl_mapping
from utility.tools import locate, locate_ignore_error, PYLMM_COMMAND, GEMMA_COMMAND, PLINK_COMMAND
from utility.external import shell
@@ -297,22 +293,14 @@ class MarkerRegression(object):
included_markers, p_values = self.parse_gemma_output()
self.dataset.group.get_specified_markers(markers = included_markers)
-
- #for marker in self.dataset.group.markers.markers:
- # if marker['name'] not in included_markers:
- # print("marker:", marker)
- # self.dataset.group.markers.markers.remove(marker)
- # #del self.dataset.group.markers.markers[marker]
-
self.dataset.group.markers.add_pvalues(p_values)
-
return self.dataset.group.markers.markers
-
def parse_gemma_output(self):
included_markers = []
p_values = []
- with open("/home/zas1024/gene/web/gemma/output/{}_output.assoc.txt".format(self.dataset.group.name)) as output_file:
+ # Use a temporary file name here!
+ with open(webqtlConfig.GENERATED_TEXT_DIR+"/{}_output.assoc.txt".format(self.dataset.group.name)) as output_file:
for line in output_file:
if line.startswith("chr"):
continue
@@ -325,31 +313,12 @@ class MarkerRegression(object):
def gen_pheno_txt_file(self):
"""Generates phenotype file for GEMMA"""
-
- #with open("/home/zas1024/gene/web/gemma/tmp_pheno/{}.txt".format(filename), "w") as outfile:
- # for sample, i in enumerate(self.samples):
- # print("sample:" + str(i))
- # print("self.vals[i]:" + str(self.vals[sample]))
- # outfile.write(str(i) + "\t" + str(self.vals[sample]) + "\n")
-
- with open("/home/zas1024/gene/web/gemma/{}.fam".format(self.dataset.group.name), "w") as outfile:
+ with open(webqtlConfig.GENERATED_TEXT_DIR+"{}.fam".format(self.dataset.group.name), "w") as outfile:
for i, sample in enumerate(self.samples):
outfile.write(str(sample) + " " + str(sample) + " 0 0 0 " + str(self.vals[i]) + "\n")
-
- #def gen_plink_for_gemma(self, filename):
- #
- # make_bed = "/home/zas1024/plink/plink --file /home/zas1024/plink/%s --noweb --no-fid --no-parents --no-sex --no-pheno --pheno %s%s.txt --out %s%s --make-bed" % (webqtlConfig.HTMLPATH,
- # webqtlConfig.HTMLPATH,
- # self.dataset.group.name,
- # webqtlConfig.TMPDIR,
- # filename,
- # webqtlConfig.TMPDIR,
- # filename)
- #
- #
def run_rqtl_plink(self):
- os.chdir("/home/zas1024/plink")
+ # os.chdir("/home/zas1024/plink") never do this!!
output_filename = webqtlUtil.genRandStr("%s_%s_"%(self.dataset.group.name, self.this_trait.name))
diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py
index b35bbbf9..4979d45d 100644
--- a/wqflask/wqflask/views.py
+++ b/wqflask/wqflask/views.py
@@ -458,7 +458,7 @@ def export_pdf():
svg_xml = request.form.get("data", "Invalid data")
print("svg_xml:", svg_xml)
filename = request.form.get("filename", "interval_map_pdf")
- filepath = "/home/zas1024/gene/wqflask/output/"+filename
+ filepath = GENERATED_IMAGE_DIR+filename
pdf_file = cairosvg.svg2pdf(bytestring=svg_xml)
response = Response(pdf_file, mimetype="application/pdf")
response.headers["Content-Disposition"] = "attachment; filename=%s"%filename