about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPjotr Prins2015-04-03 11:15:29 +0200
committerPjotr Prins2015-04-03 11:15:29 +0200
commitfabbcac393627badf0542377fc22325ae7e96f3d (patch)
tree9e04884952b9e4a66675c0c851f0c93268e4f8c8
parent146b4a45c28b7d3ba4bf982cfaf93eda2e71d1ea (diff)
downloadgenenetwork2-fabbcac393627badf0542377fc22325ae7e96f3d.tar.gz
Passing in an iterator
-rw-r--r--wqflask/wqflask/my_pylmm/pyLMM/lmm.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/wqflask/wqflask/my_pylmm/pyLMM/lmm.py b/wqflask/wqflask/my_pylmm/pyLMM/lmm.py
index 6e22e6c9..b8650938 100644
--- a/wqflask/wqflask/my_pylmm/pyLMM/lmm.py
+++ b/wqflask/wqflask/my_pylmm/pyLMM/lmm.py
@@ -891,15 +891,21 @@ def gn2_load_redis(key,species,kinship,pheno,geno,new_code=True):
 def gn2_iter_redis(key,species,kinship,pheno,geno_iterator):
     """
     This function emulates GN2 behaviour by pre-loading Redis with
-    a SNP iterator
+    a SNP iterator, for this it sets a key for every genotype (SNP)
     """
     print("Loading Redis using a SNP iterator")
+    for i,genotypes in enumerate(geno_iterator):
+        gkey = key+'_geno_'+str(i)
+        Redis.set(gkey, genotypes)
+        Redis.expire(gkey, 60*60)
+    
     if kinship == None:
         k = None
     else:
         k = kinship.tolist()
     params = dict(pheno_vector = pheno.tolist(),
-                  genotype_matrix = geno_iterator.tolist(),
+                  genotype_matrix = "iterator",
+                  genotypes = i,
                   kinship_matrix = k,
                   restricted_max_likelihood = True,
                   refit = False,
@@ -913,7 +919,7 @@ def gn2_iter_redis(key,species,kinship,pheno,geno_iterator):
     Redis.set(key, json_params)
     Redis.expire(key, 60*60)
 
-    return gwas_using_redis(key,species,new_code)
+    return gwas_using_redis(key,species)
 
 # This is the main function used by Genenetwork2 (with environment)
 #