def gen_human_results(self, pheno_vector, key, temp_uuid): file_base = os.path.join(webqtlConfig.PYLMM_PATH, self.dataset.group.name) print("file_base:", file_base) plink_input = input.plink(file_base, type='b') input_file_name = os.path.join(webqtlConfig.SNP_PATH, self.dataset.group.name + ".snps.gz") pheno_vector = pheno_vector.reshape((len(pheno_vector), 1)) covariate_matrix = np.ones((pheno_vector.shape[0],1)) kinship_matrix = np.fromfile(open(file_base + '.kin','r'),sep=" ") kinship_matrix.resize((len(plink_input.indivs),len(plink_input.indivs))) print("Before creating params") params = dict(pheno_vector = pheno_vector.tolist(), covariate_matrix = covariate_matrix.tolist(), input_file_name = input_file_name, kinship_matrix = kinship_matrix.tolist(), refit = False, temp_uuid = temp_uuid, # meta data timestamp = datetime.datetime.now().isoformat(), ) print("After creating params") json_params = json.dumps(params) Redis.set(key, json_params) Redis.expire(key, 60*60) print("Before creating the command") 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( # pheno_vector, # covariate_matrix, # input_file_name, # kinship_matrix, # loading_progress=tempdata # ) return p_values, t_stats
def create_snp_iterator_file(group): plink_file_base = os.path.join(webqtlConfig.PYLMM_PATH, group) plink_input = input.plink(plink_file_base, type='b') data = dict(plink_input = list(plink_input), numSNPs = plink_input.numSNPs) #input_dict = {} # #input_dict['plink_input'] = list(plink_input) #input_dict['numSNPs'] = plink_input.numSNPs # snp_file_base = os.path.join(webqtlConfig.SNP_PATH, group + ".snps.gz") with gzip.open(snp_file_base, "wb") as fh: pickle.dump(data, fh, pickle.HIGHEST_PROTOCOL)
def gen_human_results(self, pheno_vector, tempdata): file_base = os.path.join(webqtlConfig.PYLMM_PATH, self.dataset.group.name) plink_input = input.plink(file_base, type='b') input_file_name = os.path.join(webqtlConfig.SNP_PATH, self.dataset.group.name + ".snps.gz") pheno_vector = pheno_vector.reshape((len(pheno_vector), 1)) covariate_matrix = np.ones((pheno_vector.shape[0],1)) kinship_matrix = np.fromfile(open(file_base + '.kin','r'),sep=" ") kinship_matrix.resize((len(plink_input.indivs),len(plink_input.indivs))) p_values, t_stats = lmm.run_human( pheno_vector, covariate_matrix, input_file_name, kinship_matrix, loading_progress=tempdata ) return p_values, t_stats