diff options
Diffstat (limited to 'wqflask')
-rw-r--r-- | wqflask/wqflask/correlation_matrix/show_corr_matrix.py | 50 |
1 files changed, 14 insertions, 36 deletions
diff --git a/wqflask/wqflask/correlation_matrix/show_corr_matrix.py b/wqflask/wqflask/correlation_matrix/show_corr_matrix.py index d5ec738b..499a4e13 100644 --- a/wqflask/wqflask/correlation_matrix/show_corr_matrix.py +++ b/wqflask/wqflask/correlation_matrix/show_corr_matrix.py @@ -33,7 +33,6 @@ from utility import corr_result_helpers from utility.redis_tools import get_redis_conn - from gn3.computations.principal_component_analysis import compute_pca from gn3.computations.principal_component_analysis import process_factor_loadings_tdata @@ -44,6 +43,7 @@ from gn3.computations.principal_component_analysis import cache_pca_dataset Redis = get_redis_conn() THIRTY_DAYS = 60 * 60 * 24 * 30 + class CorrelationMatrix: def __init__(self, start_vars): @@ -54,7 +54,6 @@ class CorrelationMatrix: self.all_sample_list = [] self.traits = [] - self.insufficient_shared_samples = False self.do_PCA = True # ZS: Getting initial group name before verifying all traits are in the same group in the following loop this_group = self.trait_list[0][1].group.name @@ -169,12 +168,12 @@ class CorrelationMatrix: self.pca_works = "False" try: - if self.do_PCA == True: self.pca_works = "True" self.pca_trait_ids = [] pca = self.calculate_pca() - self.loadings_array = process_factor_loadings_tdata(self.loadings,len(self.trait_list)) + self.loadings_array = process_factor_loadings_tdata( + self.loadings, len(self.trait_list)) else: self.pca_works = "False" except: @@ -189,43 +188,25 @@ class CorrelationMatrix: def calculate_pca(self): - pca = compute_pca(self.pca_corr_results) self.loadings = pca["components"] self.scores = pca["scores"] - this_group_name = self.trait_list[0][1].group.name temp_dataset = data_set.create_dataset( dataset_name="Temp", dataset_type="Temp", group_name=this_group_name) temp_dataset.group.get_samplelist() + pca_dataset = generate_pca_temp_dataset(species=temp_dataset.group.species, group=this_group_name, + traits_data=self.trait_data_array, corr_array=self.pca_corr_results, + dataset_samples=temp_dataset.group.all_samples_ordered(), + shared_samples=self.shared_samples_list, + create_time=datetime.datetime.now().strftime("%m%d%H%M%S")) - species = temp_dataset.group.species - - group =this_group_name - - trait_data_array = self.trait_data_array - - pca_corr = self.pca_corr_results - - sample_list = temp_dataset.group.all_samples_ordered() - - - shared = self.shared_samples_list + cache_pca_dataset(Redis, THIRTY_DAYS, pca_dataset) - dt_time = datetime.datetime.now().strftime("%m%d%H%M%S") - - - - results = generate_pca_temp_dataset(species = species, group= group,traits_data = self.trait_data_array,corr_array = self.pca_corr_results,dataset_samples = sample_list, shared_samples=shared,create_time=dt_time) - - - - cache_pca_dataset(Redis,THIRTY_DAYS,results) - - self.pca_trait_ids = list(results.keys()) + self.pca_trait_ids = list(pca_dataset.keys()) return pca @@ -242,11 +223,11 @@ def export_corr_matrix(corr_results): output_file.write("\n") output_file.write("Correlation ") for i, item in enumerate(corr_results[0]): - output_file.write("Trait" + str(i + 1) + ": " + \ + output_file.write("Trait" + str(i + 1) + ": " + str(item[0].dataset.name) + "::" + str(item[0].name) + "\t") output_file.write("\n") for i, row in enumerate(corr_results): - output_file.write("Trait" + str(i + 1) + ": " + \ + output_file.write("Trait" + str(i + 1) + ": " + str(row[0][0].dataset.name) + "::" + str(row[0][0].name) + "\t") for item in row: output_file.write(str(item[1]) + "\t") @@ -256,17 +237,14 @@ def export_corr_matrix(corr_results): output_file.write("\n") output_file.write("N ") for i, item in enumerate(corr_results[0]): - output_file.write("Trait" + str(i) + ": " + \ + output_file.write("Trait" + str(i) + ": " + str(item[0].dataset.name) + "::" + str(item[0].name) + "\t") output_file.write("\n") for i, row in enumerate(corr_results): - output_file.write("Trait" + str(i) + ": " + \ + output_file.write("Trait" + str(i) + ": " + str(row[0][0].dataset.name) + "::" + str(row[0][0].name) + "\t") for item in row: output_file.write(str(item[2]) + "\t") output_file.write("\n") return corr_matrix_filename, matrix_export_path - - - |