aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZachary Sloan2014-01-30 18:44:01 +0000
committerZachary Sloan2014-01-30 18:44:01 +0000
commit1a5ac67c8ac0a47deeea6fe2d1c4f59f94793a6c (patch)
tree42bb6f7c7f844fd2c370a56bf47c808663e18379
parenta0f5aae35941d880f58f178c80bfe0b346d7e8af (diff)
downloadgenenetwork2-1a5ac67c8ac0a47deeea6fe2d1c4f59f94793a6c.tar.gz
The calculations for the manhattan plot are now run from the command
line as a background process, allowing multiple to be run at the same time without the time increasing.
-rwxr-xr-xwqflask/wqflask/marker_regression/marker_regression.py24
-rwxr-xr-xwqflask/wqflask/my_pylmm/pyLMM/lmm.py101
2 files changed, 67 insertions, 58 deletions
diff --git a/wqflask/wqflask/marker_regression/marker_regression.py b/wqflask/wqflask/marker_regression/marker_regression.py
index 1594d35d..3435d0db 100755
--- a/wqflask/wqflask/marker_regression/marker_regression.py
+++ b/wqflask/wqflask/marker_regression/marker_regression.py
@@ -117,8 +117,8 @@ class MarkerRegression(object):
Redis.expire(key, 60*60)
print("before printing command")
- command = 'python /home/zas1024/gene/wqflask/wqflask/my_pylmm/pyLMM/lmm.py {} {}'.format(key,
- "non-human")
+ command = 'python /home/zas1024/gene/wqflask/wqflask/my_pylmm/pyLMM/lmm.py --key {} --species {}'.format(key,
+ "other")
print("command is:", command)
print("after printing command")
@@ -128,11 +128,9 @@ class MarkerRegression(object):
#lmm.run(key)
json_results = Redis.blpop("pylmm:results:" + temp_uuid, 45*60)
- results = json.load(json_results)
- t_stats = results['t_stats']
+ results = json.loads(json_results[1])
p_values = results['p_values']
-
- print("p_values:", p_values)
+ t_stats = results['t_stats']
#t_stats, p_values = lmm.run(
# pheno_vector,
@@ -169,7 +167,7 @@ class MarkerRegression(object):
temp_uuid = temp_uuid,
# meta data
- timestamp = datetime.datetime.isoformat(),
+ timestamp = datetime.datetime.now().isoformat(),
)
print("After creating params")
@@ -180,14 +178,20 @@ class MarkerRegression(object):
print("Before creating the command")
- command = 'python /home/zas1024/gene/wqflask/wqflask/my_pylmm/pyLMM/lmm.py {} {}'.format(key,
- "non-human")
+ command = 'python /home/zas1024/gene/wqflask/wqflask/my_pylmm/pyLMM/lmm.py --key {} --species {}'.format(key,
+ "human")
print("command is:", command)
os.system(command)
+
+ json_results = Redis.blpop("pylmm:results:" + temp_uuid, 45*60)
+ results = json.loads(json_results[1])
+ t_stats = results['t_stats']
+ p_values = results['p_values']
+
- p_values, t_stats = lmm.run_human(key)
+ #p_values, t_stats = lmm.run_human(key)
#p_values, t_stats = lmm.run_human(
# pheno_vector,
diff --git a/wqflask/wqflask/my_pylmm/pyLMM/lmm.py b/wqflask/wqflask/my_pylmm/pyLMM/lmm.py
index 2560aa9e..2345e132 100755
--- a/wqflask/wqflask/my_pylmm/pyLMM/lmm.py
+++ b/wqflask/wqflask/my_pylmm/pyLMM/lmm.py
@@ -38,13 +38,18 @@ import simplejson as json
from pprint import pformat as pf
+from redis import Redis
+Redis = Redis()
+
+import sys
+sys.path.append("/home/zas1024/gene/wqflask/")
+print("sys.path2:", sys.path)
+
from utility.benchmark import Bench
from utility import temp_data
from wqflask.my_pylmm.pyLMM import chunks
-from redis import Redis
-Redis = Redis()
#np.seterr('raise')
@@ -68,17 +73,17 @@ def run_human(pheno_vector,
identifier = str(uuid.uuid4())
- print("pheno_vector: ", pf(pheno_vector))
- print("kinship_matrix: ", pf(kinship_matrix))
- print("kinship_matrix.shape: ", pf(kinship_matrix.shape))
-
- lmm_vars = pickle.dumps(dict(
- pheno_vector = pheno_vector,
- covariate_matrix = covariate_matrix,
- kinship_matrix = kinship_matrix
- ))
- Redis.hset(identifier, "lmm_vars", lmm_vars)
- Redis.expire(identifier, 60*60)
+ #print("pheno_vector: ", pf(pheno_vector))
+ #print("kinship_matrix: ", pf(kinship_matrix))
+ #print("kinship_matrix.shape: ", pf(kinship_matrix.shape))
+
+ #lmm_vars = pickle.dumps(dict(
+ # pheno_vector = pheno_vector,
+ # covariate_matrix = covariate_matrix,
+ # kinship_matrix = kinship_matrix
+ #))
+ #Redis.hset(identifier, "lmm_vars", lmm_vars)
+ #Redis.expire(identifier, 60*60)
if v.sum():
pheno_vector = pheno_vector[keep]
@@ -696,44 +701,44 @@ class LMM:
pl.ylabel("Probability of data")
pl.title(title)
- def main():
- parser = argparse.ArgumentParser(description='Run pyLMM')
- parser.add_argument('-k', '--key')
-
- opts = parser.parse_args()
-
- key = opts.key
-
- json_params = Redis.get(key)
-
- params = json.loads(json_params)
- print("params:", params)
+def main():
+ parser = argparse.ArgumentParser(description='Run pyLMM')
+ parser.add_argument('-k', '--key')
+ parser.add_argument('-s', '--species')
+
+ opts = parser.parse_args()
+
+ key = opts.key
+ species = opts.species
+
+ json_params = Redis.get(key)
+
+ params = json.loads(json_params)
+ print("params:", params)
- is_human = params['human']
+ tempdata = temp_data.TempData(params['temp_uuid'])
+ if species == "human" :
+ ps, ts = run_human(pheno_vector = np.array(params['pheno_vector']),
+ covariate_matrix = np.array(params['covariate_matrix']),
+ plink_input_file = params['input_file_name'],
+ kinship_matrix = np.array(params['kinship_matrix']),
+ refit = params['refit'],
+ tempdata = tempdata)
+ else:
+ ps, ts = run_other(pheno_vector = np.array(params['pheno_vector']),
+ genotype_matrix = np.array(params['genotype_matrix']),
+ restricted_max_likelihood = params['restricted_max_likelihood'],
+ refit = params['refit'],
+ tempdata = tempdata)
- tempdata = temp_data.TempData(params['temp_uuid'])
- if is_human:
- ps, ts = run_human(pheno_vector = np.array(params['pheno_vector']),
- covariate_matrix = np.array(params['covariate_matrix']),
- plink_input_file = params['input_file_name'],
- kinship_matrix = np.array(params['kinship_matrix']),
- refit = params['refit'],
- tempdata = tempdata)
- else:
- ps, ts = run_other(pheno_vector = np.array(params['pheno_vector']),
- genotype_matrix = np.array(params['genotype_matrix']),
- restricted_max_likelihood = params['restricted_max_likelihood'],
- refit = params['refit'],
- tempdata = tempdata)
-
- results_key = "pylmm:results:" + params['temp_uuid']
+ results_key = "pylmm:results:" + params['temp_uuid']
- json_results = json.dumps(dict(p_values = ps,
- t_stats = ts))
-
- #Pushing json_results into a list where it is the only item because blpop needs a list
- Redis.rpush(results_key, json_results)
- Redis.expire(results_key, 60*60)
+ json_results = json.dumps(dict(p_values = ps,
+ t_stats = ts))
+
+ #Pushing json_results into a list where it is the only item because blpop needs a list
+ Redis.rpush(results_key, json_results)
+ Redis.expire(results_key, 60*60)
if __name__ == '__main__':
main()