about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPjotr Prins2015-04-18 09:36:00 +0000
committerPjotr Prins2015-04-18 09:36:00 +0000
commita1d8f68d5428a4ceec9a2d9a771b000ecabec5e6 (patch)
treec0c40406867424a7281d7a08e0847b06f6154447
parenta86c0d8a0b942a08ff822f2f1fb026857346338f (diff)
downloadgenenetwork2-a1d8f68d5428a4ceec9a2d9a771b000ecabec5e6.tar.gz
pylmm: fix integration problems
-rwxr-xr-xwqflask/runserver.py6
-rwxr-xr-xwqflask/wqflask/marker_regression/marker_regression.py14
-rw-r--r--wqflask/wqflask/my_pylmm/pyLMM/gn2.py30
-rw-r--r--wqflask/wqflask/my_pylmm/pyLMM/lmm.py19
-rw-r--r--wqflask/wqflask/my_pylmm/pyLMM/lmm2.py18
5 files changed, 56 insertions, 31 deletions
diff --git a/wqflask/runserver.py b/wqflask/runserver.py
index 9d5686a9..fadae6bf 100755
--- a/wqflask/runserver.py
+++ b/wqflask/runserver.py
@@ -20,9 +20,9 @@ from wqflask import app
 
 import logging
 #from themodule import TheHandlerYouWant
-file_handler = logging.FileHandler("/tmp/flask_gn_log_danny_unsecure")
-file_handler.setLevel(logging.DEBUG)
-app.logger.addHandler(file_handler)
+# file_handler = logging.FileHandler("/tmp/flask_gn_log_danny_unsecure")
+# file_handler.setLevel(logging.DEBUG)
+# app.logger.addHandler(file_handler)
 
 import logging_tree
 logging_tree.printout()
diff --git a/wqflask/wqflask/marker_regression/marker_regression.py b/wqflask/wqflask/marker_regression/marker_regression.py
index 7708356b..ae3e062f 100755
--- a/wqflask/wqflask/marker_regression/marker_regression.py
+++ b/wqflask/wqflask/marker_regression/marker_regression.py
@@ -40,6 +40,7 @@ from utility import temp_data
 
 from utility.benchmark import Bench
 
+PYLMM_COMMAND= 'python /home/pjotr/izip/git/opensource/python/gn2/wqflask/wqflask/my_pylmm/pyLMM/lmm.py'
 
 class MarkerRegression(object):
 
@@ -272,7 +273,7 @@ class MarkerRegression(object):
         """)
     
     def run_rqtl_geno(self):
-        print("Calling R/qtl from python")
+        print("Calling R/qtl")
 
         self.geno_to_rqtl_function()
 
@@ -655,8 +656,7 @@ class MarkerRegression(object):
                 Redis.set(key, json_params)
                 Redis.expire(key, 60*60)
     
-                command = 'python /home/zas1024/gene/wqflask/wqflask/my_pylmm/pyLMM/lmm.py --key {} --species {}'.format(key,
-                                                                                                                        "other")
+                command = PYLMM_COMMAND+' --key {} --species {}'.format(key,"other")
     
                 os.system(command)
     
@@ -713,8 +713,8 @@ class MarkerRegression(object):
             #            "refit": False,
             #            "temp_data": tempdata}
             
-            print("genotype_matrix:", str(genotype_matrix.tolist()))
-            print("pheno_vector:", str(pheno_vector.tolist()))
+            # print("genotype_matrix:", str(genotype_matrix.tolist()))
+            # print("pheno_vector:", str(pheno_vector.tolist()))
             
             params = dict(pheno_vector = pheno_vector.tolist(),
                         genotype_matrix = genotype_matrix.tolist(),
@@ -732,7 +732,7 @@ class MarkerRegression(object):
             Redis.expire(key, 60*60)
             print("before printing command")
 
-            command = 'python /home/zas1024/gene/wqflask/wqflask/my_pylmm/pyLMM/lmm.py --key {} --species {}'.format(key,
+            command = PYLMM_COMMAND + ' --key {} --species {}'.format(key,
                                                                                                                     "other")
             print("command is:", command)
             print("after printing command")
@@ -806,7 +806,7 @@ class MarkerRegression(object):
 
         print("Before creating the command")
 
-        command = 'python /home/zas1024/gene/wqflask/wqflask/my_pylmm/pyLMM/lmm.py --key {} --species {}'.format(key,
+        command = PYLMM_COMMAND+' --key {} --species {}'.format(key,
                                                                                                                 "human")
         
         print("command is:", command)
diff --git a/wqflask/wqflask/my_pylmm/pyLMM/gn2.py b/wqflask/wqflask/my_pylmm/pyLMM/gn2.py
index 7bceb089..b128bfab 100644
--- a/wqflask/wqflask/my_pylmm/pyLMM/gn2.py
+++ b/wqflask/wqflask/my_pylmm/pyLMM/gn2.py
@@ -1,7 +1,10 @@
-# Genenetwork2 specific methods and callback handler
+# Standalone specific methods and callback handler
 #
 # Copyright (C) 2015  Pjotr Prins (pjotr.prins@thebird.nl)
 #
+# Set the log level with
+#
+#   logging.basicConfig(level=logging.DEBUG)
 
 from __future__ import absolute_import, print_function, division
 
@@ -9,10 +12,12 @@ import numpy as np
 import sys
 import logging
 
-# logging.basicConfig(level=logging.DEBUG)
-# np.set_printoptions()
+# logger = logging.getLogger(__name__)
+logger = logging.getLogger('lmm2')
+logging.basicConfig(level=logging.DEBUG)
+np.set_printoptions(precision=3,suppress=True)
 
-progress_location = None 
+progress_location = None
 progress_current  = None
 progress_prev_perc     = None
 
@@ -20,30 +25,37 @@ def progress_default_func(location,count,total):
     global progress_current
     value = round(count*100.0/total)
     progress_current = value
-    
+
 progress_func = progress_default_func
 
 def progress_set_func(func):
     global progress_func
     progress_func = func
-    
+
 def progress(location, count, total):
     global progress_location
     global progress_prev_perc
-    
+
     perc = round(count*100.0/total)
     if perc != progress_prev_perc and (location != progress_location or perc > 98 or perc > progress_prev_perc + 5):
         progress_func(location, count, total)
         logger.info("Progress: %s %d%%" % (location,perc))
         progress_location = location
         progress_prev_perc = perc
-    
+
 def mprint(msg,data):
     """
     Array/matrix print function
     """
     m = np.array(data)
-    print(msg,m.shape,"=\n",m)
+    if m.ndim == 1:
+        print(msg,m.shape,"=\n",m[0:3]," ... ",m[-3:])
+    if m.ndim == 2:
+        print(msg,m.shape,"=\n[",
+              m[0][0:3]," ... ",m[0][-3:],"\n ",
+              m[1][0:3]," ... ",m[1][-3:],"\n  ...\n ",
+              m[-2][0:3]," ... ",m[-2][-3:],"\n ",
+              m[-1][0:3]," ... ",m[-1][-3:],"]")
 
 def fatal(msg):
     logger.critical(msg)
diff --git a/wqflask/wqflask/my_pylmm/pyLMM/lmm.py b/wqflask/wqflask/my_pylmm/pyLMM/lmm.py
index b2067b27..6fff5f1d 100644
--- a/wqflask/wqflask/my_pylmm/pyLMM/lmm.py
+++ b/wqflask/wqflask/my_pylmm/pyLMM/lmm.py
@@ -42,25 +42,27 @@ from redis import Redis
 Redis = Redis()
 
 import sys
-sys.path.append("/home/zas1024/gene/wqflask/")
-
-has_gn2=True
 
 from utility.benchmark import Bench
 from utility import temp_data
 
-sys.path.append("/home/zas1024/gene/wqflask/wqflask/my_pylmm/pyLMM/")
-
 from kinship import kinship, kinship_full, kvakve
 import genotype
 import phenotype
 import gwas
 
+has_gn2=True
+sys.stderr.write("INFO: pylmm system path is "+":".join(sys.path)+"\n")
+sys.stderr.write("INFO: pylmm file is "+__file__+"\n")
+
 # ---- A trick to decide on the environment:
 try:
-    from wqflask.my_pylmm.pyLMM import chunks
+    sys.stderr.write("INFO: trying loading module\n")
+    import utility.formatting # this is never used, just to check the environment
+    sys.stderr.write("INFO: This is a genenetwork2 environment\n")
     from gn2 import uses, progress_set_func
 except ImportError:
+    # Failed to load gn2
     has_gn2=False
     import standalone as handlers
     from standalone import uses, progress_set_func
@@ -856,7 +858,8 @@ def gwas_with_redis(key,species,new_code=True):
         print(key)
         v = params[key]
         if v is not None:
-            v = np.array(v)
+            v = np.array(v).astype(np.float)
+            print(v)
         return v
 
     def narrayT(key):
@@ -969,6 +972,6 @@ if __name__ == '__main__':
     if has_gn2:
         gn2_main()
     else:
-        print("Run from runlmm.py instead")
+        fatal("Run from runlmm.py instead")
 
 
diff --git a/wqflask/wqflask/my_pylmm/pyLMM/lmm2.py b/wqflask/wqflask/my_pylmm/pyLMM/lmm2.py
index 358bf27e..c65843ec 100644
--- a/wqflask/wqflask/my_pylmm/pyLMM/lmm2.py
+++ b/wqflask/wqflask/my_pylmm/pyLMM/lmm2.py
@@ -24,14 +24,24 @@ from scipy import optimize
 from optmatrix import matrixMult
 import kinship
 
+sys.stderr.write("INFO: pylmm (lmm2) system path is "+":".join(sys.path)+"\n")
+sys.stderr.write("INFO: pylmm (lmm2) file is "+__file__+"\n")
+
 # ---- A trick to decide on the environment:
 try:
-    from wqflask.my_pylmm.pyLMM import chunks
-    from gn2 import uses
+    sys.stderr.write("INFO: trying loading module\n")
+    import utility.formatting # this is never used, just to check the environment
+    sys.stderr.write("INFO: This is a genenetwork2 environment (lmm2)\n")
+    from gn2 import uses, progress_set_func
 except ImportError:
-    sys.stderr.write("WARNING: LMM2 standalone version missing the Genenetwork2 environment\n")
+    # Failed to load gn2
     has_gn2=False
-    from standalone import uses
+    import standalone as handlers
+    from standalone import uses, progress_set_func
+    sys.stderr.write("WARNING: LMM2 standalone version missing the Genenetwork2 environment\n")
+
+progress,mprint,debug,info,fatal = uses('progress','mprint','debug','info','fatal')
+
 
 def calculateKinship(W,center=False):
       """