diff --git a/Docs/ChangeLog.md b/Docs/ChangeLog.md index 8f99a51..29daf0a 100644 --- a/Docs/ChangeLog.md +++ b/Docs/ChangeLog.md @@ -1,3 +1,26 @@ +# Version: 1.119.3 +## Date: 2024-12-3 +### Changes: +- Fix: Fixed the bug of Logger. + +# Version: 1.119.2 +## Date: 2024-12-3 +### Changes: +- Change: Change the layout of selection group or sample group in the basic plot part to make the layout more clear. + +# Version: 1.119.1 +## Date: 2024-11-29 +### Changes: +- New: Added UpSet plot for basic selection plot part. + + +# Version: 1.119.0 +## Date: 2024-11-28 +### Changes: +- Change: API updated to 4 +- New: Added an option to plot the upset plot. + + # Version: 1.118.4 ## Date: 2024-11-26 ### Changes: diff --git a/README.md b/README.md index d5d03d0..263bda4 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ The Tools in OTF Analyzer ![compostion](https://github.com/byemaxx/MetaX/raw/main/Docs/MetaX_Cookbook.assets/composition.png) -## OTFs Examples +## OTF Examples Linking Taxa and Functions in different levels of the hierarchy, and various functional categories. e.g., **Species-KO**, **Genus-CAZy**, **Phylum-EC**, etc. Lots of visualization tools can be selected. diff --git a/metax/gui/main_gui.py b/metax/gui/main_gui.py index 78d3b80..13067c2 100644 --- a/metax/gui/main_gui.py +++ b/metax/gui/main_gui.py @@ -39,7 +39,7 @@ from PyQt5 import QtWidgets, QtCore from PyQt5.QtWidgets import QFileDialog, QMessageBox, QTableWidgetItem from PyQt5.QtWidgets import QApplication, QListWidget, QListWidgetItem,QPushButton -from PyQt5.QtWidgets import QDialog, QVBoxLayout, QTextBrowser +from PyQt5.QtWidgets import QDialog, QVBoxLayout, QTextBrowser, QSizePolicy, QLayout from PyQt5.QtGui import QIcon, QCursor from PyQt5.QtCore import Qt, QTimer, QDir, QSettings @@ -377,6 +377,7 @@ def __init__(self, MainWindow): self.pushButton_plot_basic_treemap.clicked.connect(lambda: self.plot_basic_info_sns('treemap')) self.pushButton_plot_basic_sankey.clicked.connect(lambda: self.plot_basic_info_sns('sankey')) self.pushButton_basic_plot_number_bar.clicked.connect(lambda: self.plot_basic_info_sns('num_bar')) + self.pushButton_basic_plot_upset.clicked.connect(lambda: self.plot_basic_info_sns('upset')) # change event for checkBox_pca_if_show_lable self.comboBox_table4pca.currentIndexChanged.connect(self.change_event_checkBox_basic_plot_table) @@ -392,9 +393,16 @@ def __init__(self, MainWindow): self.pushButton_basic_bar_plot.clicked.connect(lambda: self.plot_basic_list('bar')) self.pushButton_basic_heatmap_get_table.clicked.connect(lambda: self.plot_basic_list('get_table')) self.pushButton_basic_heatmap_sankey_plot.clicked.connect(lambda: self.plot_basic_list('sankey')) + self.pushButton_basic_heatmap_plot_upset.clicked.connect(lambda: self.plot_basic_list('upset')) self.pushButton_basic_heatmap_add_a_list.clicked.connect(self.add_a_list_to_heatmap) self.comboBox_basic_heatmap_selection_list.add_all_searched.connect(self.add_all_searched_basic_heatmap_to_list) self.comboBox_basic_table.currentIndexChanged.connect(self.change_event_comboBox_basic_heatmap_table) + self.comboBox_basic_pca_group_sample.currentIndexChanged.connect(lambda:self.change_event_comboBox_group_or_sample('basic_pca_group')) + self.comboBox_basic_heatmap_group_or_sample.currentIndexChanged.connect(lambda:self.change_event_comboBox_group_or_sample('basic_heatmap_group')) + self.comboBox_co_expr_group_sample.currentIndexChanged.connect(lambda:self.change_event_comboBox_group_or_sample('co_expr_group')) + self.comboBox_trends_group_sample.currentIndexChanged.connect(lambda:self.change_event_comboBox_group_or_sample('trends_group')) + self.comboBox_tflink_group_sample.currentIndexChanged.connect(lambda:self.change_event_comboBox_group_or_sample('tflink_group')) + self.comboBox_radioButton_network_group_sample.currentIndexChanged.connect(lambda:self.change_event_comboBox_group_or_sample('tfnet_group')) ### Peptide Qeruy self.pushButton_basic_peptide_query.clicked.connect(self.peptide_query) @@ -637,6 +645,78 @@ def change_event_comboBox_basic_heatmap_table(self): self.pushButton_basic_heatmap_sankey_plot.setEnabled(True) else: self.pushButton_basic_heatmap_sankey_plot.setEnabled(False) + + + def hide_or_show_all_items_in_layout(self, layout, hide: bool): + """ + Recursively hide or show all items in the given layout, including nested layouts. + + Args: + layout (QLayout): The layout to process. + hide (bool): True to hide all items, False to show all items. + """ + # check if the layout is a QLayout + if not isinstance(layout, QLayout): + # set the visibility of the widget + layout.setVisible(not hide) + else: + # iterate over all items in the layout + for i in range(layout.count()): + item = layout.itemAt(i) + if item is not None: + widget = item.widget() + if widget is not None: + widget.setVisible(not hide) + elif isinstance(item, QLayout): + # If the item is a nested layout, recurse into it + self.hide_or_show_all_items_in_layout(item, hide) + + + + def change_event_comboBox_group_or_sample(self, position): + position_dict = { + 'basic_pca_group': {"current_text": 'comboBox_basic_pca_group_sample', + "group_layout": ['horizontalLayout_111', 'verticalLayout_basic_pca_group'], + "sample_layout": ['verticalLayout_basic_pca_sample']}, + 'basic_heatmap_group': {"current_text": 'comboBox_basic_heatmap_group_or_sample', + "group_layout": ['verticalLayout_basic_heatmap_group', 'horizontalLayout_112'], + "sample_layout": ['verticalLayout_basic_heatmap_sample']}, + 'co_expr_group': {"current_text": 'comboBox_co_expr_group_sample', + "group_layout": ['gridLayout_co_expr_group', 'horizontalLayout_42'], + "sample_layout": ['gridLayout_co_expr_sample']}, + 'trends_group': {"current_text": 'comboBox_trends_group_sample', + "group_layout": ['horizontalLayout_45', 'verticalLayout_trends_group'], + "sample_layout": ['verticalLayout_trends_sample']}, + 'tflink_group': {"current_text": 'comboBox_tflink_group_sample', + "group_layout": ['horizontalLayout_78', 'gridLayout_tflink_group'], + "sample_layout": ['gridLayout_tflink_sample']}, + 'tfnet_group': {"current_text": 'comboBox_radioButton_network_group_sample', + "group_layout": ['horizontalLayout_55', 'gridLayout_network_group'], + "sample_layout": ['gridLayout_network_sample']}, + } + + + # current_text = self.comboBox_basic_heatmap_group_or_sample.currentText() + current_combo = position_dict[position]["current_text"] + current_text = getattr(self, current_combo).currentText() + if current_text == 'Group': + # hide all in sample_layout + for layout in position_dict[position]["sample_layout"]: + self.hide_or_show_all_items_in_layout(getattr(self, layout), hide=True) + # show all in group_layout + for layout in position_dict[position]["group_layout"]: + self.hide_or_show_all_items_in_layout(getattr(self, layout), hide=False) + + self.update_in_condition_layout_state() + else: + # hide all in group_layout + for layout in position_dict[position]["group_layout"]: + self.hide_or_show_all_items_in_layout(getattr(self, layout), hide=True) + # show all in sample_layout + for layout in position_dict[position]["sample_layout"]: + self.hide_or_show_all_items_in_layout(getattr(self, layout), hide=False) + + def change_event_checkBox_comparing_group_control_in_condition(self): if self.checkBox_comparing_group_control_in_condition.isChecked(): @@ -1977,7 +2057,7 @@ def run_after_set_multi_tables(self): ''' print(f'\n----Multi Table Result----\n{msg_for_print}\n---------------------------\n') - self.logger.write_log(msg_for_print.replace('\n', '')) + self.logger.write_log(msg_for_print.strip()) QMessageBox.information(self.MainWindow, 'Result', msg) print("\n---------------------------------- Set Multi Table End ----------------------------------\n") # go to basic analysis tab and the first tab @@ -2723,7 +2803,6 @@ def set_multi_table(self, restore_taxafunc=False, saved_obj=None): try: print("\n---------------------------------- Set Multi Table ----------------------------------\n") - self.logger.write_log(f'set_multi_table: function: {function}, taxa_level: {taxa_level}, func_threshold: {func_threshold}, outlier_detect_method: {outlier_detect_method}, outlier_handle_method: {outlier_handle_method}, outlier_handle_by_group: {outlier_handle_by_group}, normalize_method: {normalize_method}, transform_method: {transform_method}, batch_group: {batch_meta}, processing_order: {processing_order}') self.tfa.set_func(function) # update group and sample in comboBox # self.update_group_and_sample_combobox() # No longer need due to self.change_event_meta_name_combobox_plot_part() @@ -2744,6 +2823,9 @@ def set_multi_table(self, restore_taxafunc=False, saved_obj=None): 'split_func': split_func, 'split_func_params': split_func_params, 'taxa_and_func_only_from_otf': taxa_and_func_only_from_otf, 'quant_method': quant_method} + + self.logger.write_log(f"set_multi_table_params: {set_multi_table_params} \ + \n\nOutlier_params: {outlier_params} \n\nData_preprocess_params: {data_preprocess_params}", 'i') def callback_after_set_multi_tables(result, success): if success: @@ -2862,62 +2944,96 @@ def update_basic_heatmap_combobox(self, type_list = 'taxa'): self.comboBox_basic_heatmap_selection_list.addItem(type_dict[type_list][0]) self.comboBox_basic_heatmap_selection_list.addItems(type_dict[type_list][1]) self.add_basic_heatmap_list() - + + def update_in_condition_layout_state(self,): + signal_slot_dict = { + "checkBox_basic_in_condtion": "horizontalLayout_36", + "checkBox_basic_heatmap_in_condition": "horizontalLayout_26", + "checkBox_ttest_in_condition": "horizontalLayout_70", + "checkBox_anova_in_condition": "horizontalLayout_71", + "checkBox_group_control_in_condition": "horizontalLayout_73", + "checkBox_deseq2_comparing_in_condition": "horizontalLayout_75", + "checkBox_tukey_in_condition": "horizontalLayout_72", + "checkBox_co_expression_in_condition": "horizontalLayout_74", + "checkBox_trends_in_condition": "horizontalLayout_76", + "checkBox_tflink_in_condition": "horizontalLayout_77", + "checkBox_tfnetwork_in_condition": "horizontalLayout_80", + } + for checkbox_name, layout_name in signal_slot_dict.items(): + checkbox = getattr(self, checkbox_name) + self.hide_or_show_all_items_in_layout(getattr(self, layout_name), not checkbox.isChecked()) + + def update_in_condition_combobox(self): - ''' - Update condition_group comboBox to enable multi condition selection - ''' + """ + Update condition_group to enable multi-condition selection based on QCheckBox state. + """ + signal_slot_dict = { + "checkBox_basic_in_condtion": "horizontalLayout_36", + "checkBox_basic_heatmap_in_condition": "horizontalLayout_26", + "checkBox_ttest_in_condition": "horizontalLayout_70", + "checkBox_anova_in_condition": "horizontalLayout_71", + "checkBox_group_control_in_condition": "horizontalLayout_73", + "checkBox_deseq2_comparing_in_condition": "horizontalLayout_75", + "checkBox_tukey_in_condition": "horizontalLayout_72", + "checkBox_co_expression_in_condition": "horizontalLayout_74", + "checkBox_trends_in_condition": "horizontalLayout_76", + "checkBox_tflink_in_condition": "horizontalLayout_77", + "checkBox_tfnetwork_in_condition": "horizontalLayout_80", + } + combobox_layout_dict = { - self.horizontalLayout_68: 'comboBox_basic_condition_group', - self.horizontalLayout_67: 'comboBox_basic_heatmap_condition_group', + self.horizontalLayout_36: 'comboBox_basic_condition_group', + self.horizontalLayout_26: 'comboBox_basic_heatmap_condition_group', self.horizontalLayout_70: 'comboBox_ttest_condition_group', self.horizontalLayout_71: 'comboBox_anova_condition_group', - self.horizontalLayout_72: 'comboBox_tukey_condition_group', self.horizontalLayout_73: 'comboBox_group_control_condition_group', - self.horizontalLayout_74: 'comboBox_co_expression_condition_group', self.horizontalLayout_75: 'comboBox_deseq2_condition_group', + self.horizontalLayout_72: 'comboBox_tukey_condition_group', + self.horizontalLayout_74: 'comboBox_co_expression_condition_group', self.horizontalLayout_76: 'comboBox_trends_condition_group', self.horizontalLayout_77: 'comboBox_tflink_condition_group', self.horizontalLayout_80: 'comboBox_tfnetwork_condition_group', } + # Iterate over layouts and replace only the target QComboBox for layout, combobox_name in combobox_layout_dict.items(): - try: - layout.itemAt(0).widget().deleteLater() - except Exception: - pass - new_combobox = CheckableComboBox() - setattr(self, combobox_name, new_combobox) - layout.addWidget(new_combobox) - # set as disabled - new_combobox.setEnabled(False) - - # reconnect the signal and slot - signnal_slot_dict = { - self.checkBox_basic_in_condtion: 'comboBox_basic_condition_group', - self.checkBox_basic_heatmap_in_condition: 'comboBox_basic_heatmap_condition_group', - self.checkBox_ttest_in_condition: 'comboBox_ttest_condition_group', - self.checkBox_anova_in_condition: 'comboBox_anova_condition_group', - self.checkBox_tukey_in_condition: 'comboBox_tukey_condition_group', - self.checkBox_group_control_in_condition: 'comboBox_group_control_condition_group', - self.checkBox_co_expression_in_condition: 'comboBox_co_expression_condition_group', - self.checkBox_deseq2_comparing_in_condition: 'comboBox_deseq2_condition_group', - self.checkBox_trends_in_condition: 'comboBox_trends_condition_group', - self.checkBox_tflink_in_condition: 'comboBox_tflink_condition_group', - self.checkBox_tfnetwork_in_condition: 'comboBox_tfnetwork_condition_group', - } + # Locate the original combobox + for i in range(layout.count()): + widget = layout.itemAt(i).widget() + if isinstance(widget, QtWidgets.QComboBox) and widget.objectName() == combobox_name: + # Replace the widget + widget.deleteLater() + new_combobox = CheckableComboBox() + new_combobox.setObjectName(combobox_name) + new_combobox.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) + layout.insertWidget(i, new_combobox) + setattr(self, combobox_name, new_combobox) + break + + + # Function to handle checkbox state change + def show_layout_by_checkbox(checked, layout_name): + """ + Show or hide the layout based on checkbox state. + Args: + checked (bool): True if the checkbox is checked, False otherwise. + layout_name (str): Name of the layout to show or hide. + """ + self.hide_or_show_all_items_in_layout(getattr(self, layout_name), not checked) + + # Connect each checkbox to the corresponding layout + for checkbox_name, layout_name in signal_slot_dict.items(): + checkbox = getattr(self, checkbox_name) + checkbox.toggled.connect( + lambda checked, ln=layout_name: show_layout_by_checkbox(checked, ln) + ) + + # Hide or show all items in layout based on checkbox state + self.update_in_condition_layout_state() - # when checkBox is checked, enable the comboBox - def enable_combobox_by_checkbox(checkbox, combobox_name): - if checkbox.isChecked(): - getattr(self, combobox_name).setEnabled(True) - else: - getattr(self, combobox_name).setEnabled(False) - for checkbox, combobox_name in signnal_slot_dict.items(): - checkbox.stateChanged.connect(lambda state, cb=checkbox, cmb_name=combobox_name: enable_combobox_by_checkbox(cb, cmb_name)) - def update_group_and_sample_combobox(self, meta_name = None, update_group_list = True, update_sample_list = True): if meta_name is None: @@ -2970,6 +3086,8 @@ def update_group_and_sample_combobox(self, meta_name = None, update_group_list = new_combobox = CheckableComboBox() setattr(self, combobox_name, new_combobox) # Assign to the attribute layout.addWidget(new_combobox) + # set horizontal policy as Expanding + new_combobox.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) for group in group_list: new_combobox.addItem(group) if update_sample_list: @@ -2983,6 +3101,8 @@ def update_group_and_sample_combobox(self, meta_name = None, update_group_list = layout.addWidget(new_combobox) for sample in sample_list: new_combobox.addItem(sample) + # set new_combobox as invisible + new_combobox.setVisible(False) def update_func_taxa_group_to_combobox(self): @@ -3082,6 +3202,7 @@ def enable_multi_button(self, state=True): list_button = [ self.pushButton_plot_pca_sns, self.pushButton_basic_plot_number_bar, + self.pushButton_basic_plot_upset, self.pushButton_plot_corr, self.pushButton_plot_box_sns, self.pushButton_anova_test, @@ -3108,6 +3229,7 @@ def enable_multi_button(self, state=True): self.pushButton_basic_heatmap_plot, self.pushButton_basic_bar_plot, self.pushButton_basic_heatmap_get_table, + self.pushButton_basic_heatmap_plot_upset, self.pushButton_basic_heatmap_sankey_plot, self.pushButton_basic_heatmap_add_top, self.pushButton_co_expr_plot, @@ -3449,7 +3571,7 @@ def add_basic_heatmap_top_list(self): if self.checkBox_basic_heatmap_in_condition.isChecked() else None ) # get sample list - if self.radioButton_basic_heatmap_group.isChecked(): # select by group + if self.comboBox_basic_heatmap_group_or_sample.currentText() == 'Group': group_list = self.comboBox_basic_group.getCheckedItems() sample_list = self.get_sample_list_for_group_list_in_condition(group_list, condition=in_condition) @@ -3561,7 +3683,7 @@ def plot_basic_list(self, plot_type='heatmap'): cmap = None # get sample list - if self.radioButton_basic_heatmap_group.isChecked(): + if self.comboBox_basic_heatmap_group_or_sample.currentText() == 'Group': condition = [self.comboBox_basic_heatmap_condition_meta.currentText(), self.comboBox_basic_heatmap_condition_group.getCheckedItems()]\ if self.checkBox_basic_heatmap_in_condition.isChecked() else None @@ -3734,7 +3856,22 @@ def plot_basic_list(self, plot_type='heatmap'): sub_meta=sub_meta, plot_mean=plot_mean, show_legend=self.checkBox_basic_bar_show_legend.isChecked()) self.save_and_show_js_plot(pic, title) + + elif plot_type == 'upset': + show_percentages = self.checkBox_basic_heatmap_plot_upset_show_percentage.isChecked() + min_subset_size = self.spinBox_basic_heatmap_plot_upset_min_subset.value() + max_subset_rank = self.spinBox_basic_heatmap_plot_upset_max_rank.value() + BasicPlot(self.tfa).plot_upset(df = df, title_name = table_name, show_label = True, + width=width, height=height, font_size=font_size, + plot_sample = False, sub_meta = sub_meta, + rename_sample = rename_sample, show_percentages = show_percentages, + min_subset_size = min_subset_size, max_subset_rank = max_subset_rank) + except (IndexError, AttributeError): + error_message = traceback.format_exc() + self.logger.write_log(f'plot_basic_info_sns error: {error_message}', 'e') + QMessageBox.warning(self.MainWindow, 'Warning', 'The index is out of range! Please check the settings.') + except Exception: error_message = traceback.format_exc() self.logger.write_log(f'plot_basic_list error: {error_message}', 'e') @@ -3831,10 +3968,11 @@ def add_trends_top_list(self): ) # get sample list - if self.radioButton_trends_group.isChecked(): # select by group + # if self.radioButton_trends_group.isChecked(): # select by group + if self.comboBox_trends_group_sample.currentText() == 'Group': sample_list = self.get_sample_list_for_group_list_in_condition(group_list, condition=in_condition) - elif self.radioButton_trends_sample.isChecked(): # select by sample + elif self.comboBox_trends_group_sample.currentText() == 'Sample': selected_samples = self.comboBox_trends_sample.getCheckedItems() if selected_samples: sample_list = selected_samples @@ -4261,6 +4399,24 @@ def plot_peptide_num_in_func(self): def plot_basic_info_sns(self, method:str ='pca'): + """ + Plot basic information using seaborn based on the specified method. + Parameters: + method (str): The method to use for plotting. Options include: + - 'pca': Principal Component Analysis (PCA) plot. + - 'pca_3d': 3D PCA plot. + - 'box': Box plot. + - 'corr': Correlation plot. + - 'alpha_div': Alpha diversity plot. + - 'beta_div': Beta diversity plot. + - 'sunburst': Sunburst chart. + - 'treemap': Treemap chart. + - 'sankey': Sankey diagram. + - 'num_bar': Number bar plot. + - 'upset': Upset plot. + Returns: + None + """ def get_title_by_table_name(self, table_name): taxa = (self.tfa.taxa_level or 'Taxa').capitalize() func = self.tfa.func_name or 'Functions' @@ -4291,7 +4447,8 @@ def get_title_by_table_name(self, table_name): title_name = get_title_by_table_name(self, table_name) # get sample list when plot by group - if self.radioButton_basic_pca_group.isChecked(): + # if self.radioButton_basic_pca_group.isChecked(): + if self.comboBox_basic_pca_group_sample.currentText() == 'Group': condition = [self.comboBox_basic_condition_meta.currentText(), self.comboBox_basic_condition_group.getCheckedItems()] \ if self.checkBox_basic_in_condtion.isChecked() else None @@ -4432,10 +4589,26 @@ def get_title_by_table_name(self, table_name): show_label = show_label, rename_sample = rename_sample, legend_col_num=legend_col_num, sub_meta = sub_meta) + elif method == 'upset': + plot_sample = self.checkBox_basic_plot_number_plot_sample.isChecked() + show_percentages = self.checkBox_basic_plot_upset_show_percentage.isChecked() + min_subset_size = self.spinBox_basic_plot_upset_min_subset.value() + max_subset_rank = self.spinBox_basic_plot_upset_max_rank.value() + BasicPlot(self.tfa).plot_upset(df = df, title_name = title_name, show_label = show_label, + width=width, height=height, font_size=font_size, + plot_sample = plot_sample, sub_meta = sub_meta, + rename_sample = rename_sample, show_percentages = show_percentages, + min_subset_size = min_subset_size, max_subset_rank = max_subset_rank) + except (IndexError, AttributeError): + error_message = traceback.format_exc() + self.logger.write_log(f'plot_basic_info_sns error: {error_message}', 'e') + QMessageBox.warning(self.MainWindow, 'Warning', 'The index is out of range! Please check the settings.') + except Exception: error_message = traceback.format_exc() + simplified_message = "An unexpected error occurred. Please check the logs for details." self.logger.write_log(f'plot_basic_info_sns error: {error_message}', 'e') - QMessageBox.warning(self.MainWindow, 'Error', f'{error_message}') + QMessageBox.warning(self.MainWindow, 'Error', simplified_message) # differential analysis @@ -5157,14 +5330,15 @@ def plot_co_expr(self, plot_type = 'network'): font_size = self.spinBox_co_expr_font_size.value() sample_list = self.tfa.sample_list - if self.radioButton_co_expr_bysample.isChecked(): + if self.comboBox_co_expr_group_sample.currentText() == 'Sample': slected_list = self.comboBox_co_expr_sample.getCheckedItems() if len(slected_list) == 0: print('Did not select any group!, plot all samples') else: sample_list = slected_list # print(f'Plot with selected samples:{sample_list}') - elif self.radioButton_co_expr_bygroup.isChecked(): + # elif self.radioButton_co_expr_bygroup.isChecked(): + elif self.comboBox_co_expr_group_sample.currentText() == 'Group': condition = [self.comboBox_co_expression_condition_meta.currentText(), self.comboBox_co_expression_condition_group.getCheckedItems()] \ if self.checkBox_co_expression_in_condition.isChecked() else None @@ -5346,7 +5520,8 @@ def add_tfnet_top_list(self): df_type = self.comboBox_tfnet_table.currentText() filtered = self.checkBox_tfnet_top_filtered.isChecked() - if self.radioButton_network_bysample.isChecked(): # by sample + # if self.radioButton_network_bysample.isChecked(): # by sample + if self.comboBox_radioButton_network_group_sample.currentText() == 'Sample': slected_list = self.comboBox_network_sample.getCheckedItems() if slected_list: sample_list = slected_list @@ -5481,7 +5656,8 @@ def plot_network(self): def get_sample_list_tflink(self): # get sample list - if self.radioButton_tflink_group.isChecked(): # by group + # if self.radioButton_tflink_group.isChecked(): # by group + if self.comboBox_tflink_group_sample.currentText() == 'Group': in_condition = ( [self.comboBox_tflink_condition_meta.currentText(), self.comboBox_tflink_condition_group.getCheckedItems()] if self.checkBox_tflink_in_condition.isChecked() else None @@ -5489,7 +5665,7 @@ def get_sample_list_tflink(self): group_list = self.comboBox_tflink_group.getCheckedItems() sample_list = self.get_sample_list_for_group_list_in_condition(group_list, condition=in_condition) - elif self.radioButton_tflink_sample.isChecked(): # by sample + elif self.comboBox_tflink_group_sample.currentText() == 'Sample': selected_samples = self.comboBox_tflink_sample.getCheckedItems() if not selected_samples: sample_list = self.tfa.sample_list @@ -5760,36 +5936,63 @@ def set_lineEdit_db_save_path(self): ############### Class LoggerManager Begin ############### class LoggerManager: - def __init__(self): - self.setup_logging() + def __init__(self, log_level=logging.DEBUG): + self.setup_logging(log_level) self.write_log(f'------------------------------ MetaX Started Version {__version__} ------------------------------', 'i') - - def setup_logging(self): + + def setup_logging(self, log_level=logging.DEBUG): """ - Configure logging settings. + Configure logging settings for LoggerManager. """ + self.logger = logging.getLogger('MetaXLogger') + self.logger.setLevel(log_level) + # Disable matplotlib logging for warnings matplotlib_logger = logging.getLogger('matplotlib') matplotlib_logger.setLevel(logging.WARNING) - + + # Create log directory if not exists home_path = os.path.expanduser("~") metax_path = os.path.join(home_path, 'MetaX') - if not os.path.exists(metax_path): - os.makedirs(metax_path) + try: + if not os.path.exists(metax_path): + os.makedirs(metax_path) + except Exception as e: + print(f"Error creating log directory: {metax_path}. {e}") + metax_path = home_path # Fallback to home directory + log_path = os.path.join(metax_path, 'MetaX.log') + + # Define formatter and handlers log_format = '%(asctime)s - %(levelname)s - %(message)s' - logging.basicConfig(filename=log_path, level=logging.DEBUG, format=log_format) + formatter = logging.Formatter(log_format) + + # File handler + file_handler = logging.FileHandler(log_path) + file_handler.setFormatter(formatter) + self.logger.addHandler(file_handler) - def write_log(self, msg:str, level:str='i'): + # Stream handler (optional, for console logging) + stream_handler = logging.StreamHandler() + stream_handler.setFormatter(formatter) + self.logger.addHandler(stream_handler) + + def write_log(self, msg: str, level: str = 'i'): + """ + Write a log message with the specified logging level. + Args: + msg (str): The log message. + level (str): The log level ('d', 'i', 'w', 'e', 'c'). + """ level_dict = { - 'd': logging.debug, - 'i': logging.info, - 'w': logging.warning, - 'e': logging.error, - 'c': logging.critical + 'd': self.logger.debug, + 'i': self.logger.info, + 'w': self.logger.warning, + 'e': self.logger.error, + 'c': self.logger.critical, } msg = msg.replace('\n', ' ').replace('\r', '') - log_func = level_dict.get(level, logging.info) + log_func = level_dict.get(level, self.logger.info) log_func(msg) diff --git a/metax/gui/metax_gui/main_window.ui b/metax/gui/metax_gui/main_window.ui index 68359a1..9191950 100644 --- a/metax/gui/metax_gui/main_window.ui +++ b/metax/gui/metax_gui/main_window.ui @@ -6,8 +6,8 @@ 0 0 - 1122 - 816 + 991 + 752 @@ -46,7 +46,7 @@ Qt::LeftToRight - 2 + 5 false @@ -245,8 +245,8 @@ 0 0 - 528 - 595 + 462 + 527 @@ -1454,8 +1454,188 @@ Basic Plot - - + + + + + + Counts + + + + + + + Taxa Overview + + + + + + + + 0 + 0 + + + + PCA + + + + + + + false + + + Correlation Heatmap + + + + + + + false + + + + 0 + 0 + + + + PCA + + + + + + + false + + + + 0 + 0 + + + + 3D PCA + + + + + + + Intensity + + + + + + + Diversity + + + + + + + + 0 + 0 + + + + Sankey + + + + + + + false + + + Alpha Diversity + + + + + + + false + + + Beta Diversity + + + + + + + false + + + TreeMap + + + + + + + false + + + Sunburst + + + + + + + false + + + Sankey + + + + + + + false + + + Box + + + + + + + false + + + UpSet + + + + + + + false + + + Bar + + + + + + + Qt::Horizontal @@ -1474,67 +1654,225 @@ - - - - Qt::Horizontal - - - - - - - - 16777215 - 300 - - - - Plotting Parameter - - - - - - - 0 - 0 - + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + Table + + + + + + + + 0 + 0 + + + + + Taxa - - - 16777215 - 16777215 - + + + + Functions - - true + + + + Taxa-Functions - - - - 0 - 0 - 1016 - 232 - - + + + + Peptides + + + + + + + + + 0 + 0 + + + + Meta + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + Sub Meta + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + 0 + 0 + + + + + None + + + + + + + + + + + + + + + 0 + 0 + + + + Select + + + + + + + + Group + + + + + Sample + + + + + + + + + + + 16777215 + 420 + + + + Plotting Parameter + + + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + true + + + + + 0 + 0 + 885 + 237 + + - - + + - + + + false + - + 0 0 - + Adjust label text to reduce overlap - Font Size + Adjust Labels + + + + + + + + + + + + 0 + 0 + + + + The number of columns in the legend, set 0 to hide + + + Legend Cols Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -1542,32 +1880,25 @@ - + - 1 - - - 999 + 0 - 10 + 1 - - - - - + - + 0 0 - Beta Diversity + Theme Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -1575,55 +1906,10 @@ - - - true + + + false - - - braycurtis - - - - - jaccard - - - - - euclidean - - - - - manhattan - - - - - canberra - - - - - chebyshev - - - - - dice - - - - - hamming - - - - - yule - - @@ -1699,42 +1985,10 @@ - - - - - 0 - 0 - - - - false - - - - - - Plot Samples - - - - - - - - 75 - true - - - - general - - - - - - - Qt::Horizontal + + + + Qt::Horizontal @@ -1812,30 +2066,76 @@ - - - - - - Show All Labels - - - - - - - X - - - - - - - Y - - - - + + + + + 0 + 0 + + + + + 75 + true + + + + Counts Plot + + + + + + + + 75 + true + + + + Sunburst + + + + + + + + 0 + 0 + + + + show Fliers + + + + + + + + 75 + true + + + + general + + + + + + + + 0 + 0 + + + + Plot Samples + + @@ -1888,31 +2188,50 @@ - - + + + + + 75 + true + + + + Scatter Plot + + + + + - + 0 0 + + + 75 + true + + - show Fliers + Diversity - - + + - + - + 0 0 - Width + Beta Diversity Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -1920,23 +2239,118 @@ - + + + true + + + + braycurtis + + + + + jaccard + + + + + euclidean + + + + + manhattan + + + + + canberra + + + + + chebyshev + + + + + dice + + + + + hamming + + + + + yule + + + + + + + + + + - + 0 0 + + + + + Font Size + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + 1 + + 999 + 10 + + + + + + + 0 + 0 + + + + false + + + + + + Plot Samples + + + + + - + 0 @@ -1944,7 +2358,7 @@ - Height + Width Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -1952,7 +2366,7 @@ - + 0 @@ -1963,83 +2377,12 @@ 1 - 8 - - - - - - - - - - 0 - 0 - - - - Plot Samples - - - - - - - - 0 - 0 - - - - - 150 - 0 - - - - - 75 - true - - - - Correlation Heatmap - - - - - - - - - - 0 - 0 - - - - The number of columns in the legend, set 0 to hide - - - Legend Cols - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - 0 - - - 1 + 10 - + 0 @@ -2047,7 +2390,7 @@ - Theme + Height Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -2055,69 +2398,23 @@ - - - false - - - - - - - - - - - false - + 0 0 - - Adjust label text to reduce overlap + + 1 - - Adjust Labels + + 8 - - - - - 0 - 0 - - - - - 75 - true - - - - Bar Plot - - - - - - - - 75 - true - - - - Sunburst - - - @@ -2131,14 +2428,45 @@ - - + + + + + + Show All Labels + + + + + + + X + + + + + + + Y + + + + + + + - + 0 0 + + + 0 + 0 + + 75 @@ -2146,10 +2474,27 @@ - Diversity + Correlation Heatmap + + + + + + false + + + Show All Lables for Sunburst + + + true + + + + + @@ -2186,31 +2531,77 @@ - - - - - 75 - true - - - - Scatter Plot - - - - - + + - + + + + 0 + 0 + + + + UpSet + + + + + false + + + 0 + 0 + + - Show All Lables for Sunburst + Show Percentages - - true + + + + + + + 0 + 0 + + + + Min Subset Size + + + + + + + 0 + + + 99999 + + + 1 + + + 1 + + + + + + + Max Rank + + + + + + + 999 @@ -2223,13 +2614,17 @@ - - - - - - - + + + + Qt::Horizontal + + + + + + + @@ -2244,24 +2639,30 @@ - - - false - - - - 0 - 0 - - - - - - + + + + + true + + + + 0 + 0 + + + + - false + true + + + + 0 + 0 + @@ -2269,328 +2670,383 @@ - - - - - 0 - 0 - - - - Groups - - - true - - - - - - - - 0 - 0 - - - - Samples - - + + - + - - - - - - Bar of Counts - - - - - - - Taxa Overview + + + + + Heatmap and Bar + + + + + + Select for plotting + + + + + + + Qt::Horizontal + + + + + + + + 0 + 0 + + + + + + + + Show Plotting Parameter + + + + + + + + + false - - - - - + 0 0 - PCA - - - - - - - false - - - Correlation Heatmap + Drop Item - - + + false - + 0 0 - PCA + Clean List - - + + false - + 0 0 - - 3D PCA - - - - - - - Correlation + + Add a list to the drawing box, make sure there is one item per line. - - - - - Diversity + Add A List - - + + + + + + Qt::Horizontal + + + + + + + - + 0 0 - Sankey - - - - - - - false - - - Bar - - - - - - - false + Select Top - - Box + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - false + + + + + 0 + 0 + - - Alpha Diversity + + 1 - - - - - - false + + 99999 - - Beta Diversity + + 10 - - - - false + + + + + 0 + 0 + - TreeMap + Sort by - - - - false - - - Sunburst - + + + + + Total Intensity + + + + + Frequency in Samples + + + + + Number of links + + + + + ANOVA(p-value) + + + + + ANOVA(f-statistic) + + + + + T-TEST(p-value) + + + + + T-TEST(t-statistic) + + + + + Deseq2-up(p-value) + + + + + Deseq2-down(p-value) + + + + + Deseq2-up(log2FC) + + + + + Deseq2-down(log2FC) + + - - - - false - + + - Sankey + Filter with threshold - - + + + + + 0 + 0 + + + + List for Plotting + + + + + + + false + + + + 0 + 0 + + + + Add conditionally filtered items to the drawing box + + + Add Top to List + + + + + + + false + + + + 0 + 0 + + + + Add selected item to the drawing box + + + Add to List + + + + + + + + 0 + 0 + + + + + + - + + + false + - + 0 0 - - Qt::LeftToRight - - Table + Plot Heatmap + + + false + + + false - + + + false + - + 0 0 - - - Taxa - - - - - Functions - - - - - Taxa-Functions - - - - - Peptides - - + + Plot Bar + - + + + false + - + 0 0 - Meta - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + UpSet - + + + false + 0 0 + + Plot Sankey + - + + + false + - + 0 0 - Sub Meta - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + Get Table - - - - - - - 0 - 0 - - - - - None - - - - - - - - - - - Heatmap and Bar - - @@ -2683,100 +3139,16 @@ - - - - Select for plotting + + + + + 16777215 + 330 + - - - - - - Show Plotting Parameter - - - - - - - Group - - - true - - - - - - - - - - 0 - 0 - - - - In Condition - - - - - - - false - - - - - - - - - false - - - - 0 - 0 - - - - - - - - - - - - false - - - - 0 - 0 - - - - Add selected item to the drawing box - - - Add to List - - - - - - - - 16777215 - 300 - - - - Plotting Parameter + + Plotting Parameter @@ -2789,8 +3161,8 @@ 0 0 - 621 - 152 + 885 + 187 @@ -2993,6 +3365,12 @@ + + + 0 + 0 + + 75 @@ -3294,6 +3672,106 @@ + + + + + + + 0 + 0 + + + + + 50 + false + + + + UpSet + + + + + + + + 0 + 0 + + + + Min Subset Size + + + + + + + + 0 + 0 + + + + 0 + + + 99999 + + + 1 + + + 1 + + + + + + + + 0 + 0 + + + + Max Rank + + + + + + + + 0 + 0 + + + + 999 + + + + + + + true + + + + 0 + 0 + + + + Show Percentages + + + + + @@ -3303,326 +3781,88 @@ - - - - - 0 - 0 - - - - List for Plotting - - - - - - - false - - - - 0 - 0 - - - - Add conditionally filtered items to the drawing box - - - Add Top to List - - - - - - - - - false - - - - 0 - 0 - - - - Drop Item - - - - - - - false - - - - 0 - 0 - - - - Clean List - - - - - - - false - - - - 0 - 0 - - - - Add a list to the drawing box, make sure there is one item per line. - - - Add A List - - - - - - - - - - 0 - 0 - - - - - - - - - - - - - - 0 - 0 - - - - Select Top - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - 1 - - - 99999 - - - 10 - - - + + - - - - 0 - 0 - - + - Sort by + Select - - - - Total Intensity - - - - - Frequency in Samples - - - - - Number of links - - - - - ANOVA(p-value) - - - - - ANOVA(f-statistic) - - + - T-TEST(p-value) + Group - T-TEST(t-statistic) - - - - - Deseq2-up(p-value) + Sample - - - Deseq2-down(p-value) - - - - - Deseq2-up(log2FC) - - - - - Deseq2-down(log2FC) - - - - - - - - Filter with threshold - - - - - - - false - - - - 0 - 0 - - - - Get Table - - - - - - - false - - - - 0 - 0 - - - - Plot Sankey - - - - - - - false - - - - 0 - 0 - - - - Plot Bar - - + + + + + + + + + 0 + 0 + + + + In Condition + + + + + + + + + true + + + + 0 + 0 + + + + + + + + true + + + + 0 + 0 + + + + + + + - - - - false - - - - 0 - 0 - - - - Plot Heatmap - - + + + + + - - - - - - - Sample - - - - - - - Qt::Horizontal - - - - - - - Qt::Horizontal - - - - - - - - 0 - 0 - - - - @@ -3678,6 +3918,12 @@ + + + 0 + 0 + + Plot @@ -3744,7 +3990,7 @@ false - + 0 0 @@ -3774,10 +4020,16 @@ + + + 0 + 0 + + 16777215 - 280 + 300 @@ -3806,7 +4058,7 @@ 0 0 - 1020 + 889 128 @@ -4836,11 +5088,17 @@ + + + 0 + 0 + + QTabWidget::Triangular - 3 + 0 @@ -4908,7 +5166,14 @@ - + + + + 0 + 0 + + + @@ -4926,19 +5191,19 @@ - - - - false - - - + + + + true + + + - false + true @@ -5126,19 +5391,19 @@ - - - - false - - - + + + + true + + + - false + true @@ -5188,6 +5453,12 @@ false + + + 0 + 0 + + Run Dunnett's TEST @@ -5258,19 +5529,19 @@ - - - - false - - - + + + + true + + + - false + true @@ -5347,6 +5618,12 @@ + + + 0 + 0 + + Qt::Horizontal @@ -5428,25 +5705,25 @@ - - - - false - - - - 0 - 0 - - - - + + + + true + + + + 0 + 0 + + + + - false + true @@ -5712,8 +5989,8 @@ 0 0 - 996 - 164 + 865 + 117 @@ -6159,94 +6436,270 @@ - + + + + Qt::Horizontal + + + + - + + + + 0 + 0 + + + + Meta + + + + + + + + + + Qt::RightToLeft + + + In Condition + + + + + + + + + true + + + + + + + true + + + + + + + + + + + + + + + + Expression Analysis + + + + + + QTabWidget::Triangular + + + 0 + + + + Co-Expression + + + + + + Qt::Horizontal + + + + + + + + + + + + false + + + + 0 + 0 + + + + Drop Item + + + + + + + false + - + 0 0 - Meta + Clean List - - - - - - Qt::RightToLeft + + + false + + + + 0 + 0 + + + + Add a list to the drawing box, make sure there is one item per line. - In Condition + Add a list + + + + + + false + + + Add selected item to the drawing box + + + Add to Focus List + + + + + - - - false + + + Select - + - - - false - - + + Group + - + + + Sample + + + - - - - Qt::Horizontal + + + + + 0 + 0 + + + + Show Plotting Parameter - - - - - - - - - Expression Analysis - - - - - - QTabWidget::Triangular - - - 1 - - - - Co-Expression - - - + + + + + + + + 0 + 0 + + + + In Condition + + + + + + + + + true + + + + + + + true + + + + 0 + 0 + + + + + 150 + 0 + + + + + 500 + 16777215 + + + + + + + + + + + + + + + 16777215 - 240 + 280 @@ -6263,8 +6716,8 @@ 0 0 - 493 - 128 + 885 + 168 @@ -6591,433 +7044,92 @@ - - - - false - - - Add conditionally filtered items to the drawing box - - - Add Top to List + + + + Qt::Horizontal - - - - - - 0 - 0 - - - - Table - - - - - - - false - - - - 0 - 0 - - - - - Taxa - - - - - Functions - - - - - Taxa-Functions - - - - - Peptides - - - - - - - - - 0 - 0 - - - - Qt::LeftToRight - - - Meta - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - - - - false - - - Add selected item to the drawing box - - - Add to Focus List - - - - - + - + - + 0 0 - Select Top + Table - - - - 0 - 0 - - - - 1 - - - 99999 - - - 10 + + + false - - - - - + 0 0 - - Sort by - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - Total Intensity - - - - - Frequency in Samples - - - - - Number of links - - - - - ANOVA(p-value) - - - - - ANOVA(f-statistic) - - - - - T-TEST(p-value) - - - - - T-TEST(t-statistic) - - - Deseq2-up(p-value) + Taxa - Deseq2-down(p-value) + Functions - Deseq2-up(log2FC) + Taxa-Functions - Deseq2-down(log2FC) + Peptides - - - - 0 - 0 - - - - Filter with threshold - - - - - - - - - - - false - - - - 0 - 0 - - - - Plot Co-Expression Network - - - - - - - false - - - Plot Co-Expression Heatmap - - - - - - - - - Qt::Horizontal - - - - - - - - - In Condition - - - - - - - false - - - - - - - - - false - - - - 0 - 0 - - - - - 150 - 0 - - - - - 500 - 16777215 - - - - - - - - - - - - Qt::Horizontal - - - - - - - - 0 - 0 - - - - Show Plotting Parameter - - - - - - - - 0 - 0 - - - - Group - - - true - - - - - - - - 600 - 0 - - - - - - - - - - false - + 0 0 - - Drop Item - - - - - - - false - - - - 0 - 0 - + + Qt::LeftToRight - Clean List + Meta + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - false - - - - 0 - 0 - - - - Add a list to the drawing box, make sure there is one item per line. - - - Add a list + + + + 0 + 0 + - - - - - 0 - 0 - - - - Sample - - - @@ -7031,78 +7143,51 @@ - - - - - - - - - - Qt::Horizontal + + + + false + + + Add conditionally filtered items to the drawing box + + + Add Top to List - - - - - Expression Trends - - - - + + - + + + false + - + 0 0 - - Qt::LeftToRight - - In Condition + Plot Co-Expression Network - + false + + Plot Co-Expression Heatmap + - - - - - - false - - - - 0 - 0 - - - - - - - - - - - 0 - 0 - - + + 600 @@ -7111,90 +7196,19 @@ - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - Group - - - true - - - - - - - false - - - - 0 - 0 - - - - Add conditionally filtered items to the drawing box - - - Add Top to List - - - - - + + Qt::Horizontal - - - - - 0 - 0 - - - - Sample - - - - - - - - 0 - 0 - - - - List for Plotting - - - - - + + - + - + 0 0 @@ -7202,15 +7216,12 @@ Select Top - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - + - + 0 0 @@ -7227,9 +7238,9 @@ - + - + 0 0 @@ -7237,10 +7248,13 @@ Sort by + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + - + Total Intensity @@ -7299,184 +7313,78 @@ - - - Filter with threshold - - - - - - - - - Qt::Horizontal - - - - - - - - - - Qt::Horizontal - - - - - - - - - - false - - - - 0 - 0 - - - - Add selected item to the drawing box - - - Add to List - - - - - - - - - false - - - - 0 - 0 - - - - Drop Item - - - - - - - false - - - - 0 - 0 - - - - Clean List - - - - - - - false - + - + 0 0 - - Add a list to the drawing box, make sure there is one item per line. - - Add A list + Filter with threshold - - + + + + + Expression Trends + + + + - - - - 0 - 0 - - - - Qt::LeftToRight - + - Table - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + Select - - - false - - - - Taxa - - + - Functions - - - - - Taxa-Functions + Group - Peptides + Sample - - - - Meta - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - + + + + + 0 + 0 + + - Select for plotting + List for Plotting - + + + + Qt::Horizontal + + + + 16777215 - 240 + 260 @@ -7493,8 +7401,8 @@ 0 0 - 1016 - 166 + 885 + 119 @@ -7719,7 +7627,375 @@ - + + + + + 0 + 0 + + + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + In Condition + + + + + + + + + true + + + + + + + true + + + + 0 + 0 + + + + + + + + + + + + + + + + + + + + false + + + + 0 + 0 + + + + Add selected item to the drawing box + + + Add to List + + + + + + + + + + 0 + 0 + + + + Select Top + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + 1 + + + 99999 + + + 10 + + + + + + + + 0 + 0 + + + + Sort by + + + + + + + + Total Intensity + + + + + Frequency in Samples + + + + + Number of links + + + + + ANOVA(p-value) + + + + + ANOVA(f-statistic) + + + + + T-TEST(p-value) + + + + + T-TEST(t-statistic) + + + + + Deseq2-up(p-value) + + + + + Deseq2-down(p-value) + + + + + Deseq2-up(log2FC) + + + + + Deseq2-down(log2FC) + + + + + + + + Filter with threshold + + + + + + + + + + + false + + + + 0 + 0 + + + + Drop Item + + + + + + + false + + + + 0 + 0 + + + + Clean List + + + + + + + false + + + + 0 + 0 + + + + Add a list to the drawing box, make sure there is one item per line. + + + Add A list + + + + + + + + + Qt::Horizontal + + + + + + + Select for plotting + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + Table + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + false + + + + Taxa + + + + + Functions + + + + + Taxa-Functions + + + + + Peptides + + + + + + + + Meta + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + + + + 0 + 0 + + + + + 600 + 0 + + + + + + + + false + + + + 0 + 0 + + + + Add conditionally filtered items to the drawing box + + + Add Top to List + + + + @@ -7838,6 +8114,13 @@ + + + + Qt::Horizontal + + + @@ -7858,14 +8141,14 @@ QTabWidget::Triangular - 1 + 0 Taxa-Func Link - + @@ -7901,291 +8184,126 @@ - - 16777215 - 50 - - - - Plot Bar - - - - - - - false - - - - 0 - 0 - - - - Get Heatmap Table - - - - - - - Show Plotting Parameter - - - - - - - - - Qt::Horizontal - - - - - - - - - - - 0 - 0 - - - - Group - - - true - - - - - - - - - - 0 - 0 - + + 16777215 + 50 + - Linked Number: - + Plot Bar - - + + false - + 0 0 - Show Linked Taxa Only + Get Heatmap Table + + + + + + + Show Plotting Parameter - - - - false - + + - + 0 0 - - Restore both lists to their original full items - - Reset List + Function - - - - - - Filter Top - - - - - - - - 0 - 0 - - - - 1 - - - 99999 - - - 10 - - - + + + + + 0 + 0 + + + + Qt::LeftToRight + + + + + - + - + 0 0 - By - - - Qt::AlignCenter + Sub Meta - - - - Total Intensity - - - - - Frequency in Samples - - - - - Number of links - - - - - ANOVA(p-value) - - - - - ANOVA(f-statistic) - - - - - T-TEST(p-value) - - - - - T-TEST(t-statistic) - - - - - Deseq2-up(p-value) - - - - - Deseq2-down(p-value) - - - - - Deseq2-up(log2FC) - - - - - Deseq2-down(log2FC) - - - + + + + + - + - + 0 0 - Filter with threshold + Linked Number: - - + false - + 0 0 - - Filter items in the two lists by condition - - Filter + Show Linked Func Only - - - - - - - - 0 - 0 - - - - Taxa - - - - - - - - 0 - 0 - - - - Meta - - - - + 16777215 - 240 + 260 @@ -8202,8 +8320,8 @@ 0 0 - 775 - 102 + 885 + 225 @@ -8642,25 +8760,90 @@ - - + + - + 0 0 - - Qt::LeftToRight + + true + + + + + + + + + Select + + + + + + + + Group + + + + + Sample + + + + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + + + false + + + + 0 + 0 + + + + Restore both lists to their original full items + + + Reset List - - + + - + - + 0 0 @@ -8671,7 +8854,7 @@ - + false @@ -8682,14 +8865,14 @@ - Show Linked Func Only + Show Linked Taxa Only - - + + 0 @@ -8697,99 +8880,383 @@ - Sample + Taxa - - - - Qt::Horizontal + + + + + 0 + 0 + + + + Meta - - - - Qt::Horizontal + + + + + 0 + 0 + + + + true - - + + + + + + Filter Top + + + + + + + + 0 + 0 + + + + 1 + + + 99999 + + + 10 + + + + + + + + 0 + 0 + + + + By + + + Qt::AlignCenter + + + + + + + + Total Intensity + + + + + Frequency in Samples + + + + + Number of links + + + + + ANOVA(p-value) + + + + + ANOVA(f-statistic) + + + + + T-TEST(p-value) + + + + + T-TEST(t-statistic) + + + + + Deseq2-up(p-value) + + + + + Deseq2-down(p-value) + + + + + Deseq2-up(log2FC) + + + + + Deseq2-down(log2FC) + + + + + + + + + 0 + 0 + + + + Filter with threshold + + + + + + + false + + + + 0 + 0 + + + + Filter items in the two lists by condition + + + Filter + + + + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + In Condition + + + + + + + + + + + true + + + + 0 + 0 + + + + + + + + true + + + + 0 + 0 + + + + + 300 + 16777215 + + + + + + + + + + + + + + + + + + + + + + + Taxa-Func Network + + + + + + + + + 0 + 0 + + + + Select Top + + + - + - + 0 0 - - Qt::LeftToRight + + 1 - - In Condition + + 99999 + + + 10 - - - false - + - + 0 0 + + Sort by + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + - + - - - - - false - - - - 0 - 0 - - - - - 300 - 16777215 - - - - - + + Total Intensity + - + + + Frequency in Samples + + + + + Number of links + + + + + ANOVA(p-value) + + + + + ANOVA(f-statistic) + + + + + T-TEST(p-value) + + + + + T-TEST(t-statistic) + + + + + Deseq2-up(p-value) + + + + + Deseq2-down(p-value) + + + + + Deseq2-up(log2FC) + + + + + Deseq2-down(log2FC) + + + + + + + + + 0 + 0 + + + + Filter with threshold + + - - - - - 0 - 0 - - - - true + + + + Qt::Horizontal - - + + 0 @@ -8797,60 +9264,20 @@ - Function - - - - - - - - 0 - 0 - - - - true + Show Parameter - - - - - - - 0 - 0 - - - - Sub Meta - - - - - - - - - - - - - Taxa-Func Network - - - - + + - + 0 0 - Sample + Focus List @@ -8906,93 +9333,51 @@ - - - - Qt::Horizontal - - - - - - - - 0 - 0 - - - - Focus List - - - - - + + - + 0 0 - - Qt::Horizontal - - - - - - - - 0 - 0 - - - - Qt::RightToLeft - - - In Condition - - - - - - - false - - - - 0 - 0 - - - - - - - - - - false - - - - 0 - 0 - - - - - - - - - - + + + + + + + false + - + + 0 + 0 + + + + + 120 + 16777215 + + + + Add selected item to the drawing box + + + Add to Focus List + + + + + + + false + + + 0 0 @@ -9004,21 +9389,27 @@ - Group + Plot Ntework - - true + + false - - - - Show Parameter + + + + + 0 + 0 + + + + Qt::Horizontal - + @@ -9067,48 +9458,7 @@ - - - - - - - - - - - 0 - 0 - - - - - - - false - - - - 0 - 0 - - - - - 120 - 16777215 - - - - Add selected item to the drawing box - - - Add to Focus List - - - - false @@ -9133,45 +9483,10 @@ - - - - - - - - - - 0 - 0 - - - - Select Top - - - - - - - - 0 - 0 - - - - 1 - - - 99999 - - - 10 - - - + + - + 0 @@ -9179,125 +9494,32 @@ - Sort by - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + Select - - - - Total Intensity - - - - - Frequency in Samples - - - - - Number of links - - - - - ANOVA(p-value) - - - - - ANOVA(f-statistic) - - - - - T-TEST(p-value) - - - - - T-TEST(t-statistic) - - - - - Deseq2-up(p-value) - - - - - Deseq2-down(p-value) - - + - Deseq2-up(log2FC) + Group - Deseq2-down(log2FC) + Sample - - - - - 0 - 0 - - - - Filter with threshold - - - - - - - Qt::Horizontal - - - - - - - false - - - - 0 - 0 - - - - - 16777215 - 50 - - - - Plot Ntework - - - false - - - - + 16777215 - 240 + 260 @@ -9314,8 +9536,8 @@ 0 0 - 1016 - 179 + 885 + 166 @@ -9487,6 +9709,73 @@ + + + + Qt::Horizontal + + + + + + + + + + + + 0 + 0 + + + + Qt::RightToLeft + + + In Condition + + + + + + + + + true + + + + 0 + 0 + + + + + + + + true + + + + 0 + 0 + + + + + + + + + + + + + + + + @@ -10448,8 +10737,8 @@ 0 0 - 1122 - 21 + 991 + 23 @@ -10584,102 +10873,6 @@ - - checkBox_deseq2_comparing_in_condition - clicked(bool) - comboBox_deseq2_condition_meta - setEnabled(bool) - - - 102 - 95 - - - 111 - 95 - - - - - checkBox_deseq2_comparing_in_condition - clicked(bool) - comboBox_deseq2_condition_group - setEnabled(bool) - - - 102 - 95 - - - 119 - 96 - - - - - checkBox_tflink_in_condition - clicked(bool) - comboBox_tflink_condition_meta - setEnabled(bool) - - - 63 - 99 - - - 70 - 99 - - - - - checkBox_tflink_in_condition - clicked(bool) - comboBox_tflink_condition_group - setEnabled(bool) - - - 63 - 99 - - - 78 - 101 - - - - - checkBox_tfnetwork_in_condition - clicked(bool) - comboBox_tfnetwork_condition_meta - setEnabled(bool) - - - 161 - 151 - - - 255 - 153 - - - - - checkBox_tfnetwork_in_condition - clicked(bool) - comboBox_tfnetwork_condition_group - setEnabled(bool) - - - 161 - 151 - - - 421 - 153 - - - checkBox_anova_in_condition clicked(bool) @@ -10687,12 +10880,12 @@ setEnabled(bool) - 96 - 94 + 533 + 229 - 108 - 94 + 746 + 228 @@ -10703,156 +10896,12 @@ setEnabled(bool) - 96 - 94 - - - 119 - 95 - - - - - checkBox_ttest_in_condition - clicked(bool) - comboBox_ttest_condition_meta - setEnabled(bool) - - - 96 - 93 - - - 108 - 93 - - - - - checkBox_ttest_in_condition - clicked(bool) - comboBox_ttest_condition_group - setEnabled(bool) - - - 96 - 93 - - - 119 - 94 - - - - - checkBox_basic_heatmap_in_condition - clicked(bool) - comboBox_basic_heatmap_condition_meta - setEnabled(bool) - - - 63 - 100 - - - 70 - 100 - - - - - checkBox_basic_heatmap_in_condition - clicked(bool) - comboBox_basic_heatmap_condition_group - setEnabled(bool) - - - 63 - 100 - - - 77 - 101 - - - - - checkBox_basic_in_condtion - clicked(bool) - comboBox_basic_condition_meta - setEnabled(bool) - - - 168 - 181 - - - 267 - 182 - - - - - checkBox_tukey_in_condition - clicked(bool) - comboBox_tukey_condition_meta - setEnabled(bool) - - - 95 - 95 - - - 108 - 95 - - - - - checkBox_tukey_in_condition - clicked(bool) - comboBox_tukey_condition_group - setEnabled(bool) - - - 95 - 95 - - - 119 - 96 - - - - - checkBox_group_control_in_condition - clicked(bool) - comboBox_group_control_condition_meta - setEnabled(bool) - - - 562 - 173 - - - 770 - 174 - - - - - checkBox_group_control_in_condition - clicked(bool) - comboBox_group_control_condition_group - setEnabled(bool) - - - 562 - 173 + 533 + 229 - 978 - 174 + 849 + 228 @@ -10863,12 +10912,12 @@ setEnabled(bool) - 1056 - 503 + 925 + 516 - 335 - 540 + 383 + 553 @@ -10879,12 +10928,12 @@ setEnabled(bool) - 1056 - 503 + 925 + 516 - 335 - 669 + 383 + 687 @@ -10895,28 +10944,12 @@ setEnabled(bool) - 1056 - 503 - - - 845 - 542 - - - - - checkBox_basic_in_condtion - clicked(bool) - comboBox_basic_condition_group - setEnabled(bool) - - - 168 - 181 + 925 + 516 - 478 - 182 + 731 + 555 @@ -10927,12 +10960,12 @@ setEnabled(bool) - 669 - 585 + 608 + 582 - 1012 - 585 + 825 + 582 @@ -10943,76 +10976,12 @@ setDisabled(bool) - 212 - 180 - - - 76 - 95 - - - - - checkBox_co_expression_in_condition - clicked(bool) - comboBox_co_expression_condition_meta - setEnabled(bool) - - - 63 - 99 - - - 70 - 99 - - - - - checkBox_co_expression_in_condition - clicked(bool) - comboBox_co_expression_condition_group - setEnabled(bool) - - - 63 - 99 - - - 227 - 100 - - - - - checkBox_trends_in_condition - clicked(bool) - comboBox_trends_condition_meta - setEnabled(bool) - - - 147 - 151 + 232 + 587 - 244 - 153 - - - - - checkBox_trends_in_condition - clicked(bool) - comboBox_trends_condition_group - setEnabled(bool) - - - 147 - 151 - - - 447 - 153 + 400 + 115 @@ -11023,8 +10992,8 @@ setVisible(bool) - 74 - 417 + 100 + 430 132 @@ -11039,12 +11008,12 @@ setVisible(bool) - 77 - 112 + 90 + 476 - 121 - 114 + 134 + 604 @@ -11055,12 +11024,12 @@ setVisible(bool) - 88 - 520 + 121 + 538 - 121 - 601 + 149 + 606 @@ -11071,12 +11040,12 @@ setVisible(bool) - 77 - 134 + 111 + 271 - 111 - 114 + 134 + 351 @@ -11088,11 +11057,11 @@ 77 - 112 + 477 121 - 114 + 504 @@ -11103,7 +11072,7 @@ setVisible(bool) - 64 + 89 543 @@ -11120,11 +11089,11 @@ 77 - 117 + 414 121 - 114 + 469 @@ -11151,12 +11120,12 @@ setEnabled(bool) - 915 - 141 + 800 + 139 - 971 - 142 + 856 + 140 @@ -11167,12 +11136,12 @@ setEnabled(bool) - 915 - 141 + 800 + 139 - 1044 - 141 + 957 + 139 @@ -11183,12 +11152,12 @@ setDisabled(bool) - 813 - 153 + 925 + 541 - 98 - 95 + 444 + 96 @@ -11199,12 +11168,28 @@ setVisible(bool) - 79 - 234 + 95 + 70 + + + 117 + 73 + + + + + checkBox_pca_if_show_lable + toggled(bool) + checkBox_basic_plot_upset_show_percentage + setEnabled(bool) + + + 800 + 514 - 101 - 267 + 690 + 609 diff --git a/metax/gui/metax_gui/ui_main_window.py b/metax/gui/metax_gui/ui_main_window.py index f4a0cfc..a668a49 100644 --- a/metax/gui/metax_gui/ui_main_window.py +++ b/metax/gui/metax_gui/ui_main_window.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Form implementation generated from reading ui file 'c:\Users\Qing\OneDrive - University of Ottawa\code\TaxaFunc\MetaX\metax\gui\metax_gui\main_window.ui' +# Form implementation generated from reading ui file 'c:\Users\max\OneDrive - University of Ottawa\code\TaxaFunc\MetaX\metax\gui\metax_gui\main_window.ui' # # Created by: PyQt5 UI code generator 5.15.9 # @@ -14,7 +14,7 @@ class Ui_metaX_main(object): def setupUi(self, metaX_main): metaX_main.setObjectName("metaX_main") - metaX_main.resize(1122, 816) + metaX_main.resize(991, 752) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -147,7 +147,7 @@ def setupUi(self, metaX_main): self.toolBox_2.setMaximumSize(QtCore.QSize(1677, 16777215)) self.toolBox_2.setObjectName("toolBox_2") self.page_2 = QtWidgets.QWidget() - self.page_2.setGeometry(QtCore.QRect(0, 0, 528, 595)) + self.page_2.setGeometry(QtCore.QRect(0, 0, 462, 527)) self.page_2.setObjectName("page_2") self.gridLayout_27 = QtWidgets.QGridLayout(self.page_2) self.gridLayout_27.setObjectName("gridLayout_27") @@ -713,11 +713,96 @@ def setupUi(self, metaX_main): self.tab_12.setObjectName("tab_12") self.gridLayout_26 = QtWidgets.QGridLayout(self.tab_12) self.gridLayout_26.setObjectName("gridLayout_26") - self.line_10 = QtWidgets.QFrame(self.tab_12) - self.line_10.setFrameShape(QtWidgets.QFrame.HLine) - self.line_10.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_10.setObjectName("line_10") - self.gridLayout_26.addWidget(self.line_10, 3, 0, 1, 3) + self.gridLayout_54 = QtWidgets.QGridLayout() + self.gridLayout_54.setObjectName("gridLayout_54") + self.label_170 = QtWidgets.QLabel(self.tab_12) + self.label_170.setObjectName("label_170") + self.gridLayout_54.addWidget(self.label_170, 2, 0, 1, 1) + self.label_172 = QtWidgets.QLabel(self.tab_12) + self.label_172.setObjectName("label_172") + self.gridLayout_54.addWidget(self.label_172, 4, 0, 1, 1) + self.label_121 = QtWidgets.QLabel(self.tab_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Maximum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_121.sizePolicy().hasHeightForWidth()) + self.label_121.setSizePolicy(sizePolicy) + self.label_121.setObjectName("label_121") + self.gridLayout_54.addWidget(self.label_121, 0, 0, 1, 1) + self.pushButton_plot_corr = QtWidgets.QPushButton(self.tab_12) + self.pushButton_plot_corr.setEnabled(False) + self.pushButton_plot_corr.setObjectName("pushButton_plot_corr") + self.gridLayout_54.addWidget(self.pushButton_plot_corr, 1, 1, 1, 1) + self.pushButton_plot_pca_sns = QtWidgets.QPushButton(self.tab_12) + self.pushButton_plot_pca_sns.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_plot_pca_sns.sizePolicy().hasHeightForWidth()) + self.pushButton_plot_pca_sns.setSizePolicy(sizePolicy) + self.pushButton_plot_pca_sns.setObjectName("pushButton_plot_pca_sns") + self.gridLayout_54.addWidget(self.pushButton_plot_pca_sns, 0, 1, 1, 1) + self.pushButton_plot_pca_js = QtWidgets.QPushButton(self.tab_12) + self.pushButton_plot_pca_js.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_plot_pca_js.sizePolicy().hasHeightForWidth()) + self.pushButton_plot_pca_js.setSizePolicy(sizePolicy) + self.pushButton_plot_pca_js.setObjectName("pushButton_plot_pca_js") + self.gridLayout_54.addWidget(self.pushButton_plot_pca_js, 0, 2, 1, 1) + self.label_119 = QtWidgets.QLabel(self.tab_12) + self.label_119.setObjectName("label_119") + self.gridLayout_54.addWidget(self.label_119, 1, 0, 1, 1) + self.label_171 = QtWidgets.QLabel(self.tab_12) + self.label_171.setObjectName("label_171") + self.gridLayout_54.addWidget(self.label_171, 3, 0, 1, 1) + self.label_173 = QtWidgets.QLabel(self.tab_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_173.sizePolicy().hasHeightForWidth()) + self.label_173.setSizePolicy(sizePolicy) + self.label_173.setObjectName("label_173") + self.gridLayout_54.addWidget(self.label_173, 5, 0, 1, 1) + self.pushButton_plot_alpha_div = QtWidgets.QPushButton(self.tab_12) + self.pushButton_plot_alpha_div.setEnabled(False) + self.pushButton_plot_alpha_div.setObjectName("pushButton_plot_alpha_div") + self.gridLayout_54.addWidget(self.pushButton_plot_alpha_div, 3, 1, 1, 1) + self.pushButton_plot_beta_div = QtWidgets.QPushButton(self.tab_12) + self.pushButton_plot_beta_div.setEnabled(False) + self.pushButton_plot_beta_div.setObjectName("pushButton_plot_beta_div") + self.gridLayout_54.addWidget(self.pushButton_plot_beta_div, 3, 2, 1, 1) + self.pushButton_plot_basic_treemap = QtWidgets.QPushButton(self.tab_12) + self.pushButton_plot_basic_treemap.setEnabled(False) + self.pushButton_plot_basic_treemap.setObjectName("pushButton_plot_basic_treemap") + self.gridLayout_54.addWidget(self.pushButton_plot_basic_treemap, 4, 1, 1, 1) + self.pushButton_plot_sunburst = QtWidgets.QPushButton(self.tab_12) + self.pushButton_plot_sunburst.setEnabled(False) + self.pushButton_plot_sunburst.setObjectName("pushButton_plot_sunburst") + self.gridLayout_54.addWidget(self.pushButton_plot_sunburst, 4, 2, 1, 1) + self.pushButton_plot_basic_sankey = QtWidgets.QPushButton(self.tab_12) + self.pushButton_plot_basic_sankey.setEnabled(False) + self.pushButton_plot_basic_sankey.setObjectName("pushButton_plot_basic_sankey") + self.gridLayout_54.addWidget(self.pushButton_plot_basic_sankey, 5, 1, 1, 1) + self.pushButton_plot_box_sns = QtWidgets.QPushButton(self.tab_12) + self.pushButton_plot_box_sns.setEnabled(False) + self.pushButton_plot_box_sns.setObjectName("pushButton_plot_box_sns") + self.gridLayout_54.addWidget(self.pushButton_plot_box_sns, 1, 2, 1, 1) + self.pushButton_basic_plot_upset = QtWidgets.QPushButton(self.tab_12) + self.pushButton_basic_plot_upset.setEnabled(False) + self.pushButton_basic_plot_upset.setObjectName("pushButton_basic_plot_upset") + self.gridLayout_54.addWidget(self.pushButton_basic_plot_upset, 2, 2, 1, 1) + self.pushButton_basic_plot_number_bar = QtWidgets.QPushButton(self.tab_12) + self.pushButton_basic_plot_number_bar.setEnabled(False) + self.pushButton_basic_plot_number_bar.setObjectName("pushButton_basic_plot_number_bar") + self.gridLayout_54.addWidget(self.pushButton_basic_plot_number_bar, 2, 1, 1, 1) + self.gridLayout_26.addLayout(self.gridLayout_54, 4, 0, 1, 3) + self.line_7 = QtWidgets.QFrame(self.tab_12) + self.line_7.setFrameShape(QtWidgets.QFrame.HLine) + self.line_7.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_7.setObjectName("line_7") + self.gridLayout_26.addWidget(self.line_7, 1, 0, 1, 3) self.checkBox_show_basic_plot_settings = QtWidgets.QCheckBox(self.tab_12) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) @@ -726,13 +811,86 @@ def setupUi(self, metaX_main): self.checkBox_show_basic_plot_settings.setSizePolicy(sizePolicy) self.checkBox_show_basic_plot_settings.setObjectName("checkBox_show_basic_plot_settings") self.gridLayout_26.addWidget(self.checkBox_show_basic_plot_settings, 10, 0, 1, 1) - self.line_7 = QtWidgets.QFrame(self.tab_12) - self.line_7.setFrameShape(QtWidgets.QFrame.HLine) - self.line_7.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_7.setObjectName("line_7") - self.gridLayout_26.addWidget(self.line_7, 1, 0, 1, 3) + self.horizontalLayout_35 = QtWidgets.QHBoxLayout() + self.horizontalLayout_35.setObjectName("horizontalLayout_35") + self.label_70 = QtWidgets.QLabel(self.tab_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_70.sizePolicy().hasHeightForWidth()) + self.label_70.setSizePolicy(sizePolicy) + self.label_70.setLayoutDirection(QtCore.Qt.LeftToRight) + self.label_70.setObjectName("label_70") + self.horizontalLayout_35.addWidget(self.label_70) + self.comboBox_table4pca = QtWidgets.QComboBox(self.tab_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_table4pca.sizePolicy().hasHeightForWidth()) + self.comboBox_table4pca.setSizePolicy(sizePolicy) + self.comboBox_table4pca.setObjectName("comboBox_table4pca") + self.comboBox_table4pca.addItem("") + self.comboBox_table4pca.addItem("") + self.comboBox_table4pca.addItem("") + self.comboBox_table4pca.addItem("") + self.horizontalLayout_35.addWidget(self.comboBox_table4pca) + self.label_146 = QtWidgets.QLabel(self.tab_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_146.sizePolicy().hasHeightForWidth()) + self.label_146.setSizePolicy(sizePolicy) + self.label_146.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_146.setObjectName("label_146") + self.horizontalLayout_35.addWidget(self.label_146) + self.comboBox_basic_pca_meta = QtWidgets.QComboBox(self.tab_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_basic_pca_meta.sizePolicy().hasHeightForWidth()) + self.comboBox_basic_pca_meta.setSizePolicy(sizePolicy) + self.comboBox_basic_pca_meta.setObjectName("comboBox_basic_pca_meta") + self.horizontalLayout_35.addWidget(self.comboBox_basic_pca_meta) + self.label_142 = QtWidgets.QLabel(self.tab_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_142.sizePolicy().hasHeightForWidth()) + self.label_142.setSizePolicy(sizePolicy) + self.label_142.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_142.setObjectName("label_142") + self.horizontalLayout_35.addWidget(self.label_142) + self.horizontalLayout_6 = QtWidgets.QHBoxLayout() + self.horizontalLayout_6.setObjectName("horizontalLayout_6") + self.comboBox_sub_meta_pca = QtWidgets.QComboBox(self.tab_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_sub_meta_pca.sizePolicy().hasHeightForWidth()) + self.comboBox_sub_meta_pca.setSizePolicy(sizePolicy) + self.comboBox_sub_meta_pca.setObjectName("comboBox_sub_meta_pca") + self.comboBox_sub_meta_pca.addItem("") + self.horizontalLayout_6.addWidget(self.comboBox_sub_meta_pca) + self.horizontalLayout_35.addLayout(self.horizontalLayout_6) + self.gridLayout_26.addLayout(self.horizontalLayout_35, 0, 0, 1, 2) + self.horizontalLayout_109 = QtWidgets.QHBoxLayout() + self.horizontalLayout_109.setObjectName("horizontalLayout_109") + self.label_210 = QtWidgets.QLabel(self.tab_12) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_210.sizePolicy().hasHeightForWidth()) + self.label_210.setSizePolicy(sizePolicy) + self.label_210.setObjectName("label_210") + self.horizontalLayout_109.addWidget(self.label_210) + self.comboBox_basic_pca_group_sample = QtWidgets.QComboBox(self.tab_12) + self.comboBox_basic_pca_group_sample.setObjectName("comboBox_basic_pca_group_sample") + self.comboBox_basic_pca_group_sample.addItem("") + self.comboBox_basic_pca_group_sample.addItem("") + self.horizontalLayout_109.addWidget(self.comboBox_basic_pca_group_sample) + self.gridLayout_26.addLayout(self.horizontalLayout_109, 2, 0, 1, 1) self.groupBox_basic_plot = QtWidgets.QGroupBox(self.tab_12) - self.groupBox_basic_plot.setMaximumSize(QtCore.QSize(16777215, 300)) + self.groupBox_basic_plot.setMaximumSize(QtCore.QSize(16777215, 420)) self.groupBox_basic_plot.setObjectName("groupBox_basic_plot") self.gridLayout_40 = QtWidgets.QGridLayout(self.groupBox_basic_plot) self.gridLayout_40.setObjectName("gridLayout_40") @@ -746,54 +904,52 @@ def setupUi(self, metaX_main): self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName("scrollArea") self.scrollAreaWidgetContents = QtWidgets.QWidget() - self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 1016, 232)) + self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 885, 237)) self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") self.gridLayout_34 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents) self.gridLayout_34.setObjectName("gridLayout_34") - self.horizontalLayout_33 = QtWidgets.QHBoxLayout() - self.horizontalLayout_33.setObjectName("horizontalLayout_33") - self.label_107 = QtWidgets.QLabel(self.scrollAreaWidgetContents) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + self.horizontalLayout_79 = QtWidgets.QHBoxLayout() + self.horizontalLayout_79.setObjectName("horizontalLayout_79") + self.checkBox_pca_if_adjust_pca_label = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) + self.checkBox_pca_if_adjust_pca_label.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_107.sizePolicy().hasHeightForWidth()) - self.label_107.setSizePolicy(sizePolicy) - self.label_107.setToolTip("") - self.label_107.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) - self.label_107.setObjectName("label_107") - self.horizontalLayout_33.addWidget(self.label_107) - self.spinBox_basic_pca_label_font_size = QtWidgets.QSpinBox(self.scrollAreaWidgetContents) - self.spinBox_basic_pca_label_font_size.setMinimum(1) - self.spinBox_basic_pca_label_font_size.setMaximum(999) - self.spinBox_basic_pca_label_font_size.setProperty("value", 10) - self.spinBox_basic_pca_label_font_size.setObjectName("spinBox_basic_pca_label_font_size") - self.horizontalLayout_33.addWidget(self.spinBox_basic_pca_label_font_size) - self.gridLayout_34.addLayout(self.horizontalLayout_33, 1, 1, 1, 1) - self.horizontalLayout_4 = QtWidgets.QHBoxLayout() - self.horizontalLayout_4.setObjectName("horizontalLayout_4") - self.label_118 = QtWidgets.QLabel(self.scrollAreaWidgetContents) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.checkBox_pca_if_adjust_pca_label.sizePolicy().hasHeightForWidth()) + self.checkBox_pca_if_adjust_pca_label.setSizePolicy(sizePolicy) + self.checkBox_pca_if_adjust_pca_label.setObjectName("checkBox_pca_if_adjust_pca_label") + self.horizontalLayout_79.addWidget(self.checkBox_pca_if_adjust_pca_label) + self.gridLayout_34.addLayout(self.horizontalLayout_79, 3, 1, 1, 1) + self.horizontalLayout_25 = QtWidgets.QHBoxLayout() + self.horizontalLayout_25.setObjectName("horizontalLayout_25") + self.label_159 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_118.sizePolicy().hasHeightForWidth()) - self.label_118.setSizePolicy(sizePolicy) - self.label_118.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) - self.label_118.setObjectName("label_118") - self.horizontalLayout_4.addWidget(self.label_118) - self.comboBox_beta_div_method = QtWidgets.QComboBox(self.scrollAreaWidgetContents) - self.comboBox_beta_div_method.setEnabled(True) - self.comboBox_beta_div_method.setObjectName("comboBox_beta_div_method") - self.comboBox_beta_div_method.addItem("") - self.comboBox_beta_div_method.addItem("") - self.comboBox_beta_div_method.addItem("") - self.comboBox_beta_div_method.addItem("") - self.comboBox_beta_div_method.addItem("") - self.comboBox_beta_div_method.addItem("") - self.comboBox_beta_div_method.addItem("") - self.comboBox_beta_div_method.addItem("") - self.comboBox_beta_div_method.addItem("") - self.horizontalLayout_4.addWidget(self.comboBox_beta_div_method) - self.gridLayout_34.addLayout(self.horizontalLayout_4, 7, 2, 1, 1) + sizePolicy.setHeightForWidth(self.label_159.sizePolicy().hasHeightForWidth()) + self.label_159.setSizePolicy(sizePolicy) + self.label_159.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.label_159.setObjectName("label_159") + self.horizontalLayout_25.addWidget(self.label_159) + self.spinBox_basic_legend_col_num = QtWidgets.QSpinBox(self.scrollAreaWidgetContents) + self.spinBox_basic_legend_col_num.setMinimum(0) + self.spinBox_basic_legend_col_num.setProperty("value", 1) + self.spinBox_basic_legend_col_num.setObjectName("spinBox_basic_legend_col_num") + self.horizontalLayout_25.addWidget(self.spinBox_basic_legend_col_num) + self.label_151 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_151.sizePolicy().hasHeightForWidth()) + self.label_151.setSizePolicy(sizePolicy) + self.label_151.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.label_151.setObjectName("label_151") + self.horizontalLayout_25.addWidget(self.label_151) + self.comboBox_basic_theme = QtWidgets.QComboBox(self.scrollAreaWidgetContents) + self.comboBox_basic_theme.setEditable(False) + self.comboBox_basic_theme.setObjectName("comboBox_basic_theme") + self.horizontalLayout_25.addWidget(self.comboBox_basic_theme) + self.gridLayout_34.addLayout(self.horizontalLayout_25, 0, 2, 1, 1) self.horizontalLayout_10 = QtWidgets.QHBoxLayout() self.horizontalLayout_10.setObjectName("horizontalLayout_10") self.label_117 = QtWidgets.QLabel(self.scrollAreaWidgetContents) @@ -820,23 +976,6 @@ def setupUi(self, metaX_main): self.comboBox_alpha_div_method.addItem("") self.horizontalLayout_10.addWidget(self.comboBox_alpha_div_method) self.gridLayout_34.addLayout(self.horizontalLayout_10, 7, 1, 1, 1) - self.checkBox_basic_plot_number_plot_sample = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_basic_plot_number_plot_sample.sizePolicy().hasHeightForWidth()) - self.checkBox_basic_plot_number_plot_sample.setSizePolicy(sizePolicy) - self.checkBox_basic_plot_number_plot_sample.setAcceptDrops(False) - self.checkBox_basic_plot_number_plot_sample.setToolTip("") - self.checkBox_basic_plot_number_plot_sample.setObjectName("checkBox_basic_plot_number_plot_sample") - self.gridLayout_34.addWidget(self.checkBox_basic_plot_number_plot_sample, 5, 1, 1, 1) - self.label_122 = QtWidgets.QLabel(self.scrollAreaWidgetContents) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_122.setFont(font) - self.label_122.setObjectName("label_122") - self.gridLayout_34.addWidget(self.label_122, 0, 0, 1, 1) self.line_15 = QtWidgets.QFrame(self.scrollAreaWidgetContents) self.line_15.setFrameShape(QtWidgets.QFrame.HLine) self.line_15.setFrameShadow(QtWidgets.QFrame.Sunken) @@ -877,18 +1016,48 @@ def setupUi(self, metaX_main): self.spinBox_basic_dot_size.setObjectName("spinBox_basic_dot_size") self.horizontalLayout_63.addWidget(self.spinBox_basic_dot_size) self.gridLayout_34.addLayout(self.horizontalLayout_63, 3, 2, 1, 1) - self.horizontalLayout_5 = QtWidgets.QHBoxLayout() - self.horizontalLayout_5.setObjectName("horizontalLayout_5") - self.label_129 = QtWidgets.QLabel(self.scrollAreaWidgetContents) - self.label_129.setObjectName("label_129") - self.horizontalLayout_5.addWidget(self.label_129) - self.checkBox_corr_show_all_labels_x = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) - self.checkBox_corr_show_all_labels_x.setObjectName("checkBox_corr_show_all_labels_x") - self.horizontalLayout_5.addWidget(self.checkBox_corr_show_all_labels_x) - self.checkBox_corr_show_all_labels_y = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) - self.checkBox_corr_show_all_labels_y.setObjectName("checkBox_corr_show_all_labels_y") - self.horizontalLayout_5.addWidget(self.checkBox_corr_show_all_labels_y) - self.gridLayout_34.addLayout(self.horizontalLayout_5, 4, 2, 1, 1) + self.label_155 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_155.sizePolicy().hasHeightForWidth()) + self.label_155.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_155.setFont(font) + self.label_155.setObjectName("label_155") + self.gridLayout_34.addWidget(self.label_155, 5, 0, 1, 1) + self.label_137 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_137.setFont(font) + self.label_137.setObjectName("label_137") + self.gridLayout_34.addWidget(self.label_137, 8, 0, 1, 1) + self.checkBox_box_if_show_fliers = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.checkBox_box_if_show_fliers.sizePolicy().hasHeightForWidth()) + self.checkBox_box_if_show_fliers.setSizePolicy(sizePolicy) + self.checkBox_box_if_show_fliers.setObjectName("checkBox_box_if_show_fliers") + self.gridLayout_34.addWidget(self.checkBox_box_if_show_fliers, 6, 2, 1, 1) + self.label_122 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_122.setFont(font) + self.label_122.setObjectName("label_122") + self.gridLayout_34.addWidget(self.label_122, 0, 0, 1, 1) + self.checkBox_box_plot_samples = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.checkBox_box_plot_samples.sizePolicy().hasHeightForWidth()) + self.checkBox_box_plot_samples.setSizePolicy(sizePolicy) + self.checkBox_box_plot_samples.setObjectName("checkBox_box_plot_samples") + self.gridLayout_34.addWidget(self.checkBox_box_plot_samples, 6, 1, 1, 1) self.horizontalLayout_34 = QtWidgets.QHBoxLayout() self.horizontalLayout_34.setObjectName("horizontalLayout_34") self.checkBox_pca_if_show_group_name_in_label = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) @@ -913,14 +1082,79 @@ def setupUi(self, metaX_main): self.checkBox_pca_if_show_lable.setObjectName("checkBox_pca_if_show_lable") self.horizontalLayout_34.addWidget(self.checkBox_pca_if_show_lable) self.gridLayout_34.addLayout(self.horizontalLayout_34, 1, 2, 1, 1) - self.checkBox_box_if_show_fliers = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) + self.label_179 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_179.setFont(font) + self.label_179.setObjectName("label_179") + self.gridLayout_34.addWidget(self.label_179, 3, 0, 1, 1) + self.label_167 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_167.sizePolicy().hasHeightForWidth()) + self.label_167.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_167.setFont(font) + self.label_167.setObjectName("label_167") + self.gridLayout_34.addWidget(self.label_167, 7, 0, 1, 1) + self.horizontalLayout_4 = QtWidgets.QHBoxLayout() + self.horizontalLayout_4.setObjectName("horizontalLayout_4") + self.label_118 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_118.sizePolicy().hasHeightForWidth()) + self.label_118.setSizePolicy(sizePolicy) + self.label_118.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.label_118.setObjectName("label_118") + self.horizontalLayout_4.addWidget(self.label_118) + self.comboBox_beta_div_method = QtWidgets.QComboBox(self.scrollAreaWidgetContents) + self.comboBox_beta_div_method.setEnabled(True) + self.comboBox_beta_div_method.setObjectName("comboBox_beta_div_method") + self.comboBox_beta_div_method.addItem("") + self.comboBox_beta_div_method.addItem("") + self.comboBox_beta_div_method.addItem("") + self.comboBox_beta_div_method.addItem("") + self.comboBox_beta_div_method.addItem("") + self.comboBox_beta_div_method.addItem("") + self.comboBox_beta_div_method.addItem("") + self.comboBox_beta_div_method.addItem("") + self.comboBox_beta_div_method.addItem("") + self.horizontalLayout_4.addWidget(self.comboBox_beta_div_method) + self.gridLayout_34.addLayout(self.horizontalLayout_4, 7, 2, 1, 1) + self.horizontalLayout_33 = QtWidgets.QHBoxLayout() + self.horizontalLayout_33.setObjectName("horizontalLayout_33") + self.label_107 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_107.sizePolicy().hasHeightForWidth()) + self.label_107.setSizePolicy(sizePolicy) + self.label_107.setToolTip("") + self.label_107.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.label_107.setObjectName("label_107") + self.horizontalLayout_33.addWidget(self.label_107) + self.spinBox_basic_pca_label_font_size = QtWidgets.QSpinBox(self.scrollAreaWidgetContents) + self.spinBox_basic_pca_label_font_size.setMinimum(1) + self.spinBox_basic_pca_label_font_size.setMaximum(999) + self.spinBox_basic_pca_label_font_size.setProperty("value", 10) + self.spinBox_basic_pca_label_font_size.setObjectName("spinBox_basic_pca_label_font_size") + self.horizontalLayout_33.addWidget(self.spinBox_basic_pca_label_font_size) + self.gridLayout_34.addLayout(self.horizontalLayout_33, 1, 1, 1, 1) + self.checkBox_basic_plot_number_plot_sample = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_box_if_show_fliers.sizePolicy().hasHeightForWidth()) - self.checkBox_box_if_show_fliers.setSizePolicy(sizePolicy) - self.checkBox_box_if_show_fliers.setObjectName("checkBox_box_if_show_fliers") - self.gridLayout_34.addWidget(self.checkBox_box_if_show_fliers, 6, 2, 1, 1) + sizePolicy.setHeightForWidth(self.checkBox_basic_plot_number_plot_sample.sizePolicy().hasHeightForWidth()) + self.checkBox_basic_plot_number_plot_sample.setSizePolicy(sizePolicy) + self.checkBox_basic_plot_number_plot_sample.setAcceptDrops(False) + self.checkBox_basic_plot_number_plot_sample.setToolTip("") + self.checkBox_basic_plot_number_plot_sample.setObjectName("checkBox_basic_plot_number_plot_sample") + self.gridLayout_34.addWidget(self.checkBox_basic_plot_number_plot_sample, 5, 1, 1, 1) self.horizontalLayout_32 = QtWidgets.QHBoxLayout() self.horizontalLayout_32.setObjectName("horizontalLayout_32") self.label_94 = QtWidgets.QLabel(self.scrollAreaWidgetContents) @@ -962,88 +1196,6 @@ def setupUi(self, metaX_main): self.spinBox_basic_pca_height.setObjectName("spinBox_basic_pca_height") self.horizontalLayout_32.addWidget(self.spinBox_basic_pca_height) self.gridLayout_34.addLayout(self.horizontalLayout_32, 0, 1, 1, 1) - self.checkBox_box_plot_samples = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_box_plot_samples.sizePolicy().hasHeightForWidth()) - self.checkBox_box_plot_samples.setSizePolicy(sizePolicy) - self.checkBox_box_plot_samples.setObjectName("checkBox_box_plot_samples") - self.gridLayout_34.addWidget(self.checkBox_box_plot_samples, 6, 1, 1, 1) - self.label_168 = QtWidgets.QLabel(self.scrollAreaWidgetContents) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_168.sizePolicy().hasHeightForWidth()) - self.label_168.setSizePolicy(sizePolicy) - self.label_168.setMinimumSize(QtCore.QSize(150, 0)) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_168.setFont(font) - self.label_168.setObjectName("label_168") - self.gridLayout_34.addWidget(self.label_168, 4, 0, 1, 1) - self.horizontalLayout_25 = QtWidgets.QHBoxLayout() - self.horizontalLayout_25.setObjectName("horizontalLayout_25") - self.label_159 = QtWidgets.QLabel(self.scrollAreaWidgetContents) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_159.sizePolicy().hasHeightForWidth()) - self.label_159.setSizePolicy(sizePolicy) - self.label_159.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) - self.label_159.setObjectName("label_159") - self.horizontalLayout_25.addWidget(self.label_159) - self.spinBox_basic_legend_col_num = QtWidgets.QSpinBox(self.scrollAreaWidgetContents) - self.spinBox_basic_legend_col_num.setMinimum(0) - self.spinBox_basic_legend_col_num.setProperty("value", 1) - self.spinBox_basic_legend_col_num.setObjectName("spinBox_basic_legend_col_num") - self.horizontalLayout_25.addWidget(self.spinBox_basic_legend_col_num) - self.label_151 = QtWidgets.QLabel(self.scrollAreaWidgetContents) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_151.sizePolicy().hasHeightForWidth()) - self.label_151.setSizePolicy(sizePolicy) - self.label_151.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) - self.label_151.setObjectName("label_151") - self.horizontalLayout_25.addWidget(self.label_151) - self.comboBox_basic_theme = QtWidgets.QComboBox(self.scrollAreaWidgetContents) - self.comboBox_basic_theme.setEditable(False) - self.comboBox_basic_theme.setObjectName("comboBox_basic_theme") - self.horizontalLayout_25.addWidget(self.comboBox_basic_theme) - self.gridLayout_34.addLayout(self.horizontalLayout_25, 0, 2, 1, 1) - self.horizontalLayout_79 = QtWidgets.QHBoxLayout() - self.horizontalLayout_79.setObjectName("horizontalLayout_79") - self.checkBox_pca_if_adjust_pca_label = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) - self.checkBox_pca_if_adjust_pca_label.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_pca_if_adjust_pca_label.sizePolicy().hasHeightForWidth()) - self.checkBox_pca_if_adjust_pca_label.setSizePolicy(sizePolicy) - self.checkBox_pca_if_adjust_pca_label.setObjectName("checkBox_pca_if_adjust_pca_label") - self.horizontalLayout_79.addWidget(self.checkBox_pca_if_adjust_pca_label) - self.gridLayout_34.addLayout(self.horizontalLayout_79, 3, 1, 1, 1) - self.label_155 = QtWidgets.QLabel(self.scrollAreaWidgetContents) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_155.sizePolicy().hasHeightForWidth()) - self.label_155.setSizePolicy(sizePolicy) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_155.setFont(font) - self.label_155.setObjectName("label_155") - self.gridLayout_34.addWidget(self.label_155, 5, 0, 1, 1) - self.label_137 = QtWidgets.QLabel(self.scrollAreaWidgetContents) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_137.setFont(font) - self.label_137.setObjectName("label_137") - self.gridLayout_34.addWidget(self.label_137, 8, 0, 1, 1) self.label_169 = QtWidgets.QLabel(self.scrollAreaWidgetContents) font = QtGui.QFont() font.setBold(True) @@ -1051,18 +1203,39 @@ def setupUi(self, metaX_main): self.label_169.setFont(font) self.label_169.setObjectName("label_169") self.gridLayout_34.addWidget(self.label_169, 6, 0, 1, 1) - self.label_167 = QtWidgets.QLabel(self.scrollAreaWidgetContents) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + self.horizontalLayout_5 = QtWidgets.QHBoxLayout() + self.horizontalLayout_5.setObjectName("horizontalLayout_5") + self.label_129 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + self.label_129.setObjectName("label_129") + self.horizontalLayout_5.addWidget(self.label_129) + self.checkBox_corr_show_all_labels_x = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) + self.checkBox_corr_show_all_labels_x.setObjectName("checkBox_corr_show_all_labels_x") + self.horizontalLayout_5.addWidget(self.checkBox_corr_show_all_labels_x) + self.checkBox_corr_show_all_labels_y = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) + self.checkBox_corr_show_all_labels_y.setObjectName("checkBox_corr_show_all_labels_y") + self.horizontalLayout_5.addWidget(self.checkBox_corr_show_all_labels_y) + self.gridLayout_34.addLayout(self.horizontalLayout_5, 4, 2, 1, 1) + self.label_168 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_167.sizePolicy().hasHeightForWidth()) - self.label_167.setSizePolicy(sizePolicy) + sizePolicy.setHeightForWidth(self.label_168.sizePolicy().hasHeightForWidth()) + self.label_168.setSizePolicy(sizePolicy) + self.label_168.setMinimumSize(QtCore.QSize(0, 0)) font = QtGui.QFont() font.setBold(True) font.setWeight(75) - self.label_167.setFont(font) - self.label_167.setObjectName("label_167") - self.gridLayout_34.addWidget(self.label_167, 7, 0, 1, 1) + self.label_168.setFont(font) + self.label_168.setObjectName("label_168") + self.gridLayout_34.addWidget(self.label_168, 4, 0, 1, 1) + self.horizontalLayout_20 = QtWidgets.QHBoxLayout() + self.horizontalLayout_20.setObjectName("horizontalLayout_20") + self.checkBox_sunburst_show_all_lables = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) + self.checkBox_sunburst_show_all_lables.setEnabled(False) + self.checkBox_sunburst_show_all_lables.setChecked(True) + self.checkBox_sunburst_show_all_lables.setObjectName("checkBox_sunburst_show_all_lables") + self.horizontalLayout_20.addWidget(self.checkBox_sunburst_show_all_lables) + self.gridLayout_34.addLayout(self.horizontalLayout_20, 8, 1, 1, 1) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.checkBox_corr_cluster = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) @@ -1086,31 +1259,60 @@ def setupUi(self, metaX_main): self.comboBox_basic_corr_cmap.setObjectName("comboBox_basic_corr_cmap") self.horizontalLayout_3.addWidget(self.comboBox_basic_corr_cmap) self.gridLayout_34.addLayout(self.horizontalLayout_3, 4, 1, 1, 1) - self.label_179 = QtWidgets.QLabel(self.scrollAreaWidgetContents) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.label_179.setFont(font) - self.label_179.setObjectName("label_179") - self.gridLayout_34.addWidget(self.label_179, 3, 0, 1, 1) - self.horizontalLayout_20 = QtWidgets.QHBoxLayout() - self.horizontalLayout_20.setObjectName("horizontalLayout_20") - self.checkBox_sunburst_show_all_lables = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) - self.checkBox_sunburst_show_all_lables.setEnabled(False) - self.checkBox_sunburst_show_all_lables.setChecked(True) - self.checkBox_sunburst_show_all_lables.setObjectName("checkBox_sunburst_show_all_lables") - self.horizontalLayout_20.addWidget(self.checkBox_sunburst_show_all_lables) - self.gridLayout_34.addLayout(self.horizontalLayout_20, 8, 1, 1, 1) + self.horizontalLayout_105 = QtWidgets.QHBoxLayout() + self.horizontalLayout_105.setObjectName("horizontalLayout_105") + self.label_207 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_207.sizePolicy().hasHeightForWidth()) + self.label_207.setSizePolicy(sizePolicy) + self.label_207.setObjectName("label_207") + self.horizontalLayout_105.addWidget(self.label_207) + self.checkBox_basic_plot_upset_show_percentage = QtWidgets.QCheckBox(self.scrollAreaWidgetContents) + self.checkBox_basic_plot_upset_show_percentage.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.checkBox_basic_plot_upset_show_percentage.sizePolicy().hasHeightForWidth()) + self.checkBox_basic_plot_upset_show_percentage.setSizePolicy(sizePolicy) + self.checkBox_basic_plot_upset_show_percentage.setObjectName("checkBox_basic_plot_upset_show_percentage") + self.horizontalLayout_105.addWidget(self.checkBox_basic_plot_upset_show_percentage) + self.label_206 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_206.sizePolicy().hasHeightForWidth()) + self.label_206.setSizePolicy(sizePolicy) + self.label_206.setObjectName("label_206") + self.horizontalLayout_105.addWidget(self.label_206) + self.spinBox_basic_plot_upset_min_subset = QtWidgets.QSpinBox(self.scrollAreaWidgetContents) + self.spinBox_basic_plot_upset_min_subset.setMinimum(0) + self.spinBox_basic_plot_upset_min_subset.setMaximum(99999) + self.spinBox_basic_plot_upset_min_subset.setSingleStep(1) + self.spinBox_basic_plot_upset_min_subset.setProperty("value", 1) + self.spinBox_basic_plot_upset_min_subset.setObjectName("spinBox_basic_plot_upset_min_subset") + self.horizontalLayout_105.addWidget(self.spinBox_basic_plot_upset_min_subset) + self.label_208 = QtWidgets.QLabel(self.scrollAreaWidgetContents) + self.label_208.setObjectName("label_208") + self.horizontalLayout_105.addWidget(self.label_208) + self.spinBox_basic_plot_upset_max_rank = QtWidgets.QSpinBox(self.scrollAreaWidgetContents) + self.spinBox_basic_plot_upset_max_rank.setMaximum(999) + self.spinBox_basic_plot_upset_max_rank.setObjectName("spinBox_basic_plot_upset_max_rank") + self.horizontalLayout_105.addWidget(self.spinBox_basic_plot_upset_max_rank) + self.gridLayout_34.addLayout(self.horizontalLayout_105, 5, 2, 1, 1) self.scrollArea.setWidget(self.scrollAreaWidgetContents) self.gridLayout_40.addWidget(self.scrollArea, 0, 0, 1, 1) self.gridLayout_26.addWidget(self.groupBox_basic_plot, 12, 0, 1, 3) - self.gridLayout_77 = QtWidgets.QGridLayout() - self.gridLayout_77.setObjectName("gridLayout_77") - self.verticalLayout_basic_pca_group = QtWidgets.QVBoxLayout() - self.verticalLayout_basic_pca_group.setObjectName("verticalLayout_basic_pca_group") - self.gridLayout_77.addLayout(self.verticalLayout_basic_pca_group, 0, 2, 1, 1) - self.horizontalLayout_36 = QtWidgets.QHBoxLayout() - self.horizontalLayout_36.setObjectName("horizontalLayout_36") + self.line_10 = QtWidgets.QFrame(self.tab_12) + self.line_10.setFrameShape(QtWidgets.QFrame.HLine) + self.line_10.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_10.setObjectName("line_10") + self.gridLayout_26.addWidget(self.line_10, 3, 0, 1, 3) + self.horizontalLayout_114 = QtWidgets.QHBoxLayout() + self.horizontalLayout_114.setObjectName("horizontalLayout_114") + self.horizontalLayout_111 = QtWidgets.QHBoxLayout() + self.horizontalLayout_111.setObjectName("horizontalLayout_111") self.checkBox_basic_in_condtion = QtWidgets.QCheckBox(self.tab_12) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) @@ -1118,9 +1320,11 @@ def setupUi(self, metaX_main): sizePolicy.setHeightForWidth(self.checkBox_basic_in_condtion.sizePolicy().hasHeightForWidth()) self.checkBox_basic_in_condtion.setSizePolicy(sizePolicy) self.checkBox_basic_in_condtion.setObjectName("checkBox_basic_in_condtion") - self.horizontalLayout_36.addWidget(self.checkBox_basic_in_condtion) + self.horizontalLayout_111.addWidget(self.checkBox_basic_in_condtion) + self.horizontalLayout_36 = QtWidgets.QHBoxLayout() + self.horizontalLayout_36.setObjectName("horizontalLayout_36") self.comboBox_basic_condition_meta = QtWidgets.QComboBox(self.tab_12) - self.comboBox_basic_condition_meta.setEnabled(False) + self.comboBox_basic_condition_meta.setEnabled(True) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1128,183 +1332,215 @@ def setupUi(self, metaX_main): self.comboBox_basic_condition_meta.setSizePolicy(sizePolicy) self.comboBox_basic_condition_meta.setObjectName("comboBox_basic_condition_meta") self.horizontalLayout_36.addWidget(self.comboBox_basic_condition_meta) - self.horizontalLayout_68 = QtWidgets.QHBoxLayout() - self.horizontalLayout_68.setObjectName("horizontalLayout_68") self.comboBox_basic_condition_group = QtWidgets.QComboBox(self.tab_12) - self.comboBox_basic_condition_group.setEnabled(False) - self.comboBox_basic_condition_group.setObjectName("comboBox_basic_condition_group") - self.horizontalLayout_68.addWidget(self.comboBox_basic_condition_group) - self.horizontalLayout_36.addLayout(self.horizontalLayout_68) - self.gridLayout_77.addLayout(self.horizontalLayout_36, 0, 1, 1, 1) - self.radioButton_basic_pca_group = QtWidgets.QRadioButton(self.tab_12) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.radioButton_basic_pca_group.sizePolicy().hasHeightForWidth()) - self.radioButton_basic_pca_group.setSizePolicy(sizePolicy) - self.radioButton_basic_pca_group.setChecked(True) - self.radioButton_basic_pca_group.setObjectName("radioButton_basic_pca_group") - self.gridLayout_77.addWidget(self.radioButton_basic_pca_group, 0, 0, 1, 1) - self.radioButton_basic_pca_sample = QtWidgets.QRadioButton(self.tab_12) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + self.comboBox_basic_condition_group.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.radioButton_basic_pca_sample.sizePolicy().hasHeightForWidth()) - self.radioButton_basic_pca_sample.setSizePolicy(sizePolicy) - self.radioButton_basic_pca_sample.setObjectName("radioButton_basic_pca_sample") - self.gridLayout_77.addWidget(self.radioButton_basic_pca_sample, 1, 0, 1, 1) + sizePolicy.setHeightForWidth(self.comboBox_basic_condition_group.sizePolicy().hasHeightForWidth()) + self.comboBox_basic_condition_group.setSizePolicy(sizePolicy) + self.comboBox_basic_condition_group.setObjectName("comboBox_basic_condition_group") + self.horizontalLayout_36.addWidget(self.comboBox_basic_condition_group) + self.horizontalLayout_111.addLayout(self.horizontalLayout_36) + self.horizontalLayout_114.addLayout(self.horizontalLayout_111) + self.verticalLayout_basic_pca_group = QtWidgets.QVBoxLayout() + self.verticalLayout_basic_pca_group.setObjectName("verticalLayout_basic_pca_group") + self.horizontalLayout_114.addLayout(self.verticalLayout_basic_pca_group) self.verticalLayout_basic_pca_sample = QtWidgets.QVBoxLayout() self.verticalLayout_basic_pca_sample.setObjectName("verticalLayout_basic_pca_sample") - self.gridLayout_77.addLayout(self.verticalLayout_basic_pca_sample, 1, 1, 1, 2) - self.gridLayout_26.addLayout(self.gridLayout_77, 2, 0, 1, 3) - self.gridLayout_54 = QtWidgets.QGridLayout() - self.gridLayout_54.setObjectName("gridLayout_54") - self.label_170 = QtWidgets.QLabel(self.tab_12) - self.label_170.setObjectName("label_170") - self.gridLayout_54.addWidget(self.label_170, 2, 0, 1, 1) - self.label_172 = QtWidgets.QLabel(self.tab_12) - self.label_172.setObjectName("label_172") - self.gridLayout_54.addWidget(self.label_172, 4, 0, 1, 1) - self.label_121 = QtWidgets.QLabel(self.tab_12) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Maximum) + self.horizontalLayout_114.addLayout(self.verticalLayout_basic_pca_sample) + self.gridLayout_26.addLayout(self.horizontalLayout_114, 2, 1, 1, 2) + self.tabWidget_4.addTab(self.tab_12, "") + self.tab_13 = QtWidgets.QWidget() + self.tab_13.setObjectName("tab_13") + self.gridLayout_23 = QtWidgets.QGridLayout(self.tab_13) + self.gridLayout_23.setObjectName("gridLayout_23") + self.label_32 = QtWidgets.QLabel(self.tab_13) + self.label_32.setObjectName("label_32") + self.gridLayout_23.addWidget(self.label_32, 5, 0, 1, 1) + self.line_8 = QtWidgets.QFrame(self.tab_13) + self.line_8.setFrameShape(QtWidgets.QFrame.HLine) + self.line_8.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_8.setObjectName("line_8") + self.gridLayout_23.addWidget(self.line_8, 1, 0, 1, 4) + self.comboBox_basic_heatmap_selection_list = QtWidgets.QComboBox(self.tab_13) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_121.sizePolicy().hasHeightForWidth()) - self.label_121.setSizePolicy(sizePolicy) - self.label_121.setObjectName("label_121") - self.gridLayout_54.addWidget(self.label_121, 0, 0, 1, 1) - self.pushButton_plot_corr = QtWidgets.QPushButton(self.tab_12) - self.pushButton_plot_corr.setEnabled(False) - self.pushButton_plot_corr.setObjectName("pushButton_plot_corr") - self.gridLayout_54.addWidget(self.pushButton_plot_corr, 1, 1, 1, 1) - self.pushButton_plot_pca_sns = QtWidgets.QPushButton(self.tab_12) - self.pushButton_plot_pca_sns.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.comboBox_basic_heatmap_selection_list.sizePolicy().hasHeightForWidth()) + self.comboBox_basic_heatmap_selection_list.setSizePolicy(sizePolicy) + self.comboBox_basic_heatmap_selection_list.setObjectName("comboBox_basic_heatmap_selection_list") + self.gridLayout_23.addWidget(self.comboBox_basic_heatmap_selection_list, 5, 1, 1, 2) + self.checkBox = QtWidgets.QCheckBox(self.tab_13) + self.checkBox.setObjectName("checkBox") + self.gridLayout_23.addWidget(self.checkBox, 10, 0, 1, 2) + self.verticalLayout = QtWidgets.QVBoxLayout() + self.verticalLayout.setObjectName("verticalLayout") + self.pushButton_basic_heatmap_drop_item = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_heatmap_drop_item.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_plot_pca_sns.sizePolicy().hasHeightForWidth()) - self.pushButton_plot_pca_sns.setSizePolicy(sizePolicy) - self.pushButton_plot_pca_sns.setObjectName("pushButton_plot_pca_sns") - self.gridLayout_54.addWidget(self.pushButton_plot_pca_sns, 0, 1, 1, 1) - self.pushButton_plot_pca_js = QtWidgets.QPushButton(self.tab_12) - self.pushButton_plot_pca_js.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_drop_item.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_heatmap_drop_item.setSizePolicy(sizePolicy) + self.pushButton_basic_heatmap_drop_item.setObjectName("pushButton_basic_heatmap_drop_item") + self.verticalLayout.addWidget(self.pushButton_basic_heatmap_drop_item) + self.pushButton_basic_heatmap_clean_list = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_heatmap_clean_list.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_plot_pca_js.sizePolicy().hasHeightForWidth()) - self.pushButton_plot_pca_js.setSizePolicy(sizePolicy) - self.pushButton_plot_pca_js.setObjectName("pushButton_plot_pca_js") - self.gridLayout_54.addWidget(self.pushButton_plot_pca_js, 0, 2, 1, 1) - self.label_119 = QtWidgets.QLabel(self.tab_12) - self.label_119.setObjectName("label_119") - self.gridLayout_54.addWidget(self.label_119, 1, 0, 1, 1) - self.label_171 = QtWidgets.QLabel(self.tab_12) - self.label_171.setObjectName("label_171") - self.gridLayout_54.addWidget(self.label_171, 3, 0, 1, 1) - self.label_173 = QtWidgets.QLabel(self.tab_12) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_clean_list.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_heatmap_clean_list.setSizePolicy(sizePolicy) + self.pushButton_basic_heatmap_clean_list.setObjectName("pushButton_basic_heatmap_clean_list") + self.verticalLayout.addWidget(self.pushButton_basic_heatmap_clean_list) + self.pushButton_basic_heatmap_add_a_list = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_heatmap_add_a_list.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_173.sizePolicy().hasHeightForWidth()) - self.label_173.setSizePolicy(sizePolicy) - self.label_173.setObjectName("label_173") - self.gridLayout_54.addWidget(self.label_173, 5, 0, 1, 1) - self.pushButton_basic_plot_number_bar = QtWidgets.QPushButton(self.tab_12) - self.pushButton_basic_plot_number_bar.setEnabled(False) - self.pushButton_basic_plot_number_bar.setObjectName("pushButton_basic_plot_number_bar") - self.gridLayout_54.addWidget(self.pushButton_basic_plot_number_bar, 2, 1, 1, 1) - self.pushButton_plot_box_sns = QtWidgets.QPushButton(self.tab_12) - self.pushButton_plot_box_sns.setEnabled(False) - self.pushButton_plot_box_sns.setObjectName("pushButton_plot_box_sns") - self.gridLayout_54.addWidget(self.pushButton_plot_box_sns, 2, 2, 1, 1) - self.pushButton_plot_alpha_div = QtWidgets.QPushButton(self.tab_12) - self.pushButton_plot_alpha_div.setEnabled(False) - self.pushButton_plot_alpha_div.setObjectName("pushButton_plot_alpha_div") - self.gridLayout_54.addWidget(self.pushButton_plot_alpha_div, 3, 1, 1, 1) - self.pushButton_plot_beta_div = QtWidgets.QPushButton(self.tab_12) - self.pushButton_plot_beta_div.setEnabled(False) - self.pushButton_plot_beta_div.setObjectName("pushButton_plot_beta_div") - self.gridLayout_54.addWidget(self.pushButton_plot_beta_div, 3, 2, 1, 1) - self.pushButton_plot_basic_treemap = QtWidgets.QPushButton(self.tab_12) - self.pushButton_plot_basic_treemap.setEnabled(False) - self.pushButton_plot_basic_treemap.setObjectName("pushButton_plot_basic_treemap") - self.gridLayout_54.addWidget(self.pushButton_plot_basic_treemap, 4, 1, 1, 1) - self.pushButton_plot_sunburst = QtWidgets.QPushButton(self.tab_12) - self.pushButton_plot_sunburst.setEnabled(False) - self.pushButton_plot_sunburst.setObjectName("pushButton_plot_sunburst") - self.gridLayout_54.addWidget(self.pushButton_plot_sunburst, 4, 2, 1, 1) - self.pushButton_plot_basic_sankey = QtWidgets.QPushButton(self.tab_12) - self.pushButton_plot_basic_sankey.setEnabled(False) - self.pushButton_plot_basic_sankey.setObjectName("pushButton_plot_basic_sankey") - self.gridLayout_54.addWidget(self.pushButton_plot_basic_sankey, 5, 1, 1, 1) - self.gridLayout_26.addLayout(self.gridLayout_54, 4, 0, 1, 3) - self.horizontalLayout_35 = QtWidgets.QHBoxLayout() - self.horizontalLayout_35.setObjectName("horizontalLayout_35") - self.label_70 = QtWidgets.QLabel(self.tab_12) + sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_add_a_list.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_heatmap_add_a_list.setSizePolicy(sizePolicy) + self.pushButton_basic_heatmap_add_a_list.setObjectName("pushButton_basic_heatmap_add_a_list") + self.verticalLayout.addWidget(self.pushButton_basic_heatmap_add_a_list) + self.gridLayout_23.addLayout(self.verticalLayout, 7, 0, 2, 1) + self.line_12 = QtWidgets.QFrame(self.tab_13) + self.line_12.setFrameShape(QtWidgets.QFrame.HLine) + self.line_12.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_12.setObjectName("line_12") + self.gridLayout_23.addWidget(self.line_12, 4, 0, 1, 4) + self.horizontalLayout_29 = QtWidgets.QHBoxLayout() + self.horizontalLayout_29.setObjectName("horizontalLayout_29") + self.label_67 = QtWidgets.QLabel(self.tab_13) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_67.sizePolicy().hasHeightForWidth()) + self.label_67.setSizePolicy(sizePolicy) + self.label_67.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_67.setObjectName("label_67") + self.horizontalLayout_29.addWidget(self.label_67) + self.spinBox_basic_heatmap_top_num = QtWidgets.QSpinBox(self.tab_13) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_70.sizePolicy().hasHeightForWidth()) - self.label_70.setSizePolicy(sizePolicy) - self.label_70.setLayoutDirection(QtCore.Qt.LeftToRight) - self.label_70.setObjectName("label_70") - self.horizontalLayout_35.addWidget(self.label_70) - self.comboBox_table4pca = QtWidgets.QComboBox(self.tab_12) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum) + sizePolicy.setHeightForWidth(self.spinBox_basic_heatmap_top_num.sizePolicy().hasHeightForWidth()) + self.spinBox_basic_heatmap_top_num.setSizePolicy(sizePolicy) + self.spinBox_basic_heatmap_top_num.setMinimum(1) + self.spinBox_basic_heatmap_top_num.setMaximum(99999) + self.spinBox_basic_heatmap_top_num.setProperty("value", 10) + self.spinBox_basic_heatmap_top_num.setObjectName("spinBox_basic_heatmap_top_num") + self.horizontalLayout_29.addWidget(self.spinBox_basic_heatmap_top_num) + self.label_68 = QtWidgets.QLabel(self.tab_13) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_table4pca.sizePolicy().hasHeightForWidth()) - self.comboBox_table4pca.setSizePolicy(sizePolicy) - self.comboBox_table4pca.setObjectName("comboBox_table4pca") - self.comboBox_table4pca.addItem("") - self.comboBox_table4pca.addItem("") - self.comboBox_table4pca.addItem("") - self.comboBox_table4pca.addItem("") - self.horizontalLayout_35.addWidget(self.comboBox_table4pca) - self.label_146 = QtWidgets.QLabel(self.tab_12) + sizePolicy.setHeightForWidth(self.label_68.sizePolicy().hasHeightForWidth()) + self.label_68.setSizePolicy(sizePolicy) + self.label_68.setObjectName("label_68") + self.horizontalLayout_29.addWidget(self.label_68) + self.comboBox_basic_heatmap_top_by = QtWidgets.QComboBox(self.tab_13) + self.comboBox_basic_heatmap_top_by.setObjectName("comboBox_basic_heatmap_top_by") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.comboBox_basic_heatmap_top_by.addItem("") + self.horizontalLayout_29.addWidget(self.comboBox_basic_heatmap_top_by) + self.checkBox_basic_heatmap_top_filtered = QtWidgets.QCheckBox(self.tab_13) + self.checkBox_basic_heatmap_top_filtered.setObjectName("checkBox_basic_heatmap_top_filtered") + self.horizontalLayout_29.addWidget(self.checkBox_basic_heatmap_top_filtered) + self.gridLayout_23.addLayout(self.horizontalLayout_29, 6, 1, 1, 2) + self.label_34 = QtWidgets.QLabel(self.tab_13) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_146.sizePolicy().hasHeightForWidth()) - self.label_146.setSizePolicy(sizePolicy) - self.label_146.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_146.setObjectName("label_146") - self.horizontalLayout_35.addWidget(self.label_146) - self.comboBox_basic_pca_meta = QtWidgets.QComboBox(self.tab_12) + sizePolicy.setHeightForWidth(self.label_34.sizePolicy().hasHeightForWidth()) + self.label_34.setSizePolicy(sizePolicy) + self.label_34.setObjectName("label_34") + self.gridLayout_23.addWidget(self.label_34, 6, 0, 1, 1) + self.pushButton_basic_heatmap_add_top = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_heatmap_add_top.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_basic_pca_meta.sizePolicy().hasHeightForWidth()) - self.comboBox_basic_pca_meta.setSizePolicy(sizePolicy) - self.comboBox_basic_pca_meta.setObjectName("comboBox_basic_pca_meta") - self.horizontalLayout_35.addWidget(self.comboBox_basic_pca_meta) - self.label_142 = QtWidgets.QLabel(self.tab_12) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_142.sizePolicy().hasHeightForWidth()) - self.label_142.setSizePolicy(sizePolicy) - self.label_142.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_142.setObjectName("label_142") - self.horizontalLayout_35.addWidget(self.label_142) - self.horizontalLayout_6 = QtWidgets.QHBoxLayout() - self.horizontalLayout_6.setObjectName("horizontalLayout_6") - self.comboBox_sub_meta_pca = QtWidgets.QComboBox(self.tab_12) + sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_add_top.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_heatmap_add_top.setSizePolicy(sizePolicy) + self.pushButton_basic_heatmap_add_top.setObjectName("pushButton_basic_heatmap_add_top") + self.gridLayout_23.addWidget(self.pushButton_basic_heatmap_add_top, 6, 3, 1, 1) + self.pushButton_basic_heatmap_add = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_heatmap_add.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_sub_meta_pca.sizePolicy().hasHeightForWidth()) - self.comboBox_sub_meta_pca.setSizePolicy(sizePolicy) - self.comboBox_sub_meta_pca.setObjectName("comboBox_sub_meta_pca") - self.comboBox_sub_meta_pca.addItem("") - self.horizontalLayout_6.addWidget(self.comboBox_sub_meta_pca) - self.horizontalLayout_35.addLayout(self.horizontalLayout_6) - self.gridLayout_26.addLayout(self.horizontalLayout_35, 0, 0, 1, 2) - self.tabWidget_4.addTab(self.tab_12, "") - self.tab_13 = QtWidgets.QWidget() - self.tab_13.setObjectName("tab_13") - self.gridLayout_23 = QtWidgets.QGridLayout(self.tab_13) - self.gridLayout_23.setObjectName("gridLayout_23") + sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_add.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_heatmap_add.setSizePolicy(sizePolicy) + self.pushButton_basic_heatmap_add.setObjectName("pushButton_basic_heatmap_add") + self.gridLayout_23.addWidget(self.pushButton_basic_heatmap_add, 5, 3, 1, 1) + self.listWidget_list_for_ploting = QtWidgets.QListWidget(self.tab_13) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.listWidget_list_for_ploting.sizePolicy().hasHeightForWidth()) + self.listWidget_list_for_ploting.setSizePolicy(sizePolicy) + self.listWidget_list_for_ploting.setObjectName("listWidget_list_for_ploting") + self.gridLayout_23.addWidget(self.listWidget_list_for_ploting, 7, 1, 2, 3) + self.horizontalLayout_107 = QtWidgets.QHBoxLayout() + self.horizontalLayout_107.setObjectName("horizontalLayout_107") + self.pushButton_basic_heatmap_plot = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_heatmap_plot.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_plot.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_heatmap_plot.setSizePolicy(sizePolicy) + self.pushButton_basic_heatmap_plot.setAutoDefault(False) + self.pushButton_basic_heatmap_plot.setFlat(False) + self.pushButton_basic_heatmap_plot.setObjectName("pushButton_basic_heatmap_plot") + self.horizontalLayout_107.addWidget(self.pushButton_basic_heatmap_plot) + self.pushButton_basic_bar_plot = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_bar_plot.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_basic_bar_plot.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_bar_plot.setSizePolicy(sizePolicy) + self.pushButton_basic_bar_plot.setObjectName("pushButton_basic_bar_plot") + self.horizontalLayout_107.addWidget(self.pushButton_basic_bar_plot) + self.pushButton_basic_heatmap_plot_upset = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_heatmap_plot_upset.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_plot_upset.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_heatmap_plot_upset.setSizePolicy(sizePolicy) + self.pushButton_basic_heatmap_plot_upset.setObjectName("pushButton_basic_heatmap_plot_upset") + self.horizontalLayout_107.addWidget(self.pushButton_basic_heatmap_plot_upset) + self.pushButton_basic_heatmap_sankey_plot = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_heatmap_sankey_plot.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_sankey_plot.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_heatmap_sankey_plot.setSizePolicy(sizePolicy) + self.pushButton_basic_heatmap_sankey_plot.setObjectName("pushButton_basic_heatmap_sankey_plot") + self.horizontalLayout_107.addWidget(self.pushButton_basic_heatmap_sankey_plot) + self.pushButton_basic_heatmap_get_table = QtWidgets.QPushButton(self.tab_13) + self.pushButton_basic_heatmap_get_table.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_get_table.sizePolicy().hasHeightForWidth()) + self.pushButton_basic_heatmap_get_table.setSizePolicy(sizePolicy) + self.pushButton_basic_heatmap_get_table.setObjectName("pushButton_basic_heatmap_get_table") + self.horizontalLayout_107.addWidget(self.pushButton_basic_heatmap_get_table) + self.gridLayout_23.addLayout(self.horizontalLayout_107, 9, 0, 1, 4) self.horizontalLayout_28 = QtWidgets.QHBoxLayout() self.horizontalLayout_28.setObjectName("horizontalLayout_28") self.label_80 = QtWidgets.QLabel(self.tab_13) @@ -1356,54 +1592,8 @@ def setupUi(self, metaX_main): self.comboBox_3dbar_sub_meta.setObjectName("comboBox_3dbar_sub_meta") self.horizontalLayout_28.addWidget(self.comboBox_3dbar_sub_meta) self.gridLayout_23.addLayout(self.horizontalLayout_28, 0, 0, 1, 2) - self.label_32 = QtWidgets.QLabel(self.tab_13) - self.label_32.setObjectName("label_32") - self.gridLayout_23.addWidget(self.label_32, 5, 0, 1, 1) - self.checkBox = QtWidgets.QCheckBox(self.tab_13) - self.checkBox.setObjectName("checkBox") - self.gridLayout_23.addWidget(self.checkBox, 10, 0, 1, 2) - self.radioButton_basic_heatmap_group = QtWidgets.QRadioButton(self.tab_13) - self.radioButton_basic_heatmap_group.setChecked(True) - self.radioButton_basic_heatmap_group.setObjectName("radioButton_basic_heatmap_group") - self.gridLayout_23.addWidget(self.radioButton_basic_heatmap_group, 2, 0, 1, 1) - self.horizontalLayout_26 = QtWidgets.QHBoxLayout() - self.horizontalLayout_26.setObjectName("horizontalLayout_26") - self.checkBox_basic_heatmap_in_condition = QtWidgets.QCheckBox(self.tab_13) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_basic_heatmap_in_condition.sizePolicy().hasHeightForWidth()) - self.checkBox_basic_heatmap_in_condition.setSizePolicy(sizePolicy) - self.checkBox_basic_heatmap_in_condition.setObjectName("checkBox_basic_heatmap_in_condition") - self.horizontalLayout_26.addWidget(self.checkBox_basic_heatmap_in_condition) - self.comboBox_basic_heatmap_condition_meta = QtWidgets.QComboBox(self.tab_13) - self.comboBox_basic_heatmap_condition_meta.setEnabled(False) - self.comboBox_basic_heatmap_condition_meta.setObjectName("comboBox_basic_heatmap_condition_meta") - self.horizontalLayout_26.addWidget(self.comboBox_basic_heatmap_condition_meta) - self.horizontalLayout_67 = QtWidgets.QHBoxLayout() - self.horizontalLayout_67.setObjectName("horizontalLayout_67") - self.comboBox_basic_heatmap_condition_group = QtWidgets.QComboBox(self.tab_13) - self.comboBox_basic_heatmap_condition_group.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_basic_heatmap_condition_group.sizePolicy().hasHeightForWidth()) - self.comboBox_basic_heatmap_condition_group.setSizePolicy(sizePolicy) - self.comboBox_basic_heatmap_condition_group.setObjectName("comboBox_basic_heatmap_condition_group") - self.horizontalLayout_67.addWidget(self.comboBox_basic_heatmap_condition_group) - self.horizontalLayout_26.addLayout(self.horizontalLayout_67) - self.gridLayout_23.addLayout(self.horizontalLayout_26, 2, 1, 1, 1) - self.pushButton_basic_heatmap_add = QtWidgets.QPushButton(self.tab_13) - self.pushButton_basic_heatmap_add.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_add.sizePolicy().hasHeightForWidth()) - self.pushButton_basic_heatmap_add.setSizePolicy(sizePolicy) - self.pushButton_basic_heatmap_add.setObjectName("pushButton_basic_heatmap_add") - self.gridLayout_23.addWidget(self.pushButton_basic_heatmap_add, 5, 3, 1, 1) self.groupBox_basic_heatmap_plot_settings = QtWidgets.QGroupBox(self.tab_13) - self.groupBox_basic_heatmap_plot_settings.setMaximumSize(QtCore.QSize(16777215, 300)) + self.groupBox_basic_heatmap_plot_settings.setMaximumSize(QtCore.QSize(16777215, 330)) self.groupBox_basic_heatmap_plot_settings.setObjectName("groupBox_basic_heatmap_plot_settings") self.gridLayout_41 = QtWidgets.QGridLayout(self.groupBox_basic_heatmap_plot_settings) self.gridLayout_41.setObjectName("gridLayout_41") @@ -1411,7 +1601,7 @@ def setupUi(self, metaX_main): self.scrollArea_2.setWidgetResizable(True) self.scrollArea_2.setObjectName("scrollArea_2") self.scrollAreaWidgetContents_2 = QtWidgets.QWidget() - self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 621, 152)) + self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 885, 187)) self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2") self.gridLayout_50 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_2) self.gridLayout_50.setObjectName("gridLayout_50") @@ -1526,6 +1716,11 @@ def setupUi(self, metaX_main): self.checkBox_basic_hetatmap_row_cluster.setObjectName("checkBox_basic_hetatmap_row_cluster") self.gridLayout_70.addWidget(self.checkBox_basic_hetatmap_row_cluster, 3, 2, 1, 1) self.label_183 = QtWidgets.QLabel(self.scrollAreaWidgetContents_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_183.sizePolicy().hasHeightForWidth()) + self.label_183.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setBold(True) font.setWeight(75) @@ -1690,197 +1885,141 @@ def setupUi(self, metaX_main): self.checkBox_basic_bar_show_legend.setObjectName("checkBox_basic_bar_show_legend") self.horizontalLayout_104.addWidget(self.checkBox_basic_bar_show_legend) self.gridLayout_70.addLayout(self.horizontalLayout_104, 4, 1, 1, 1) - self.gridLayout_50.addLayout(self.gridLayout_70, 0, 0, 1, 1) - self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2) - self.gridLayout_41.addWidget(self.scrollArea_2, 0, 0, 1, 1) - self.gridLayout_23.addWidget(self.groupBox_basic_heatmap_plot_settings, 11, 0, 1, 4) - self.label_34 = QtWidgets.QLabel(self.tab_13) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_34.sizePolicy().hasHeightForWidth()) - self.label_34.setSizePolicy(sizePolicy) - self.label_34.setObjectName("label_34") - self.gridLayout_23.addWidget(self.label_34, 6, 0, 1, 1) - self.pushButton_basic_heatmap_add_top = QtWidgets.QPushButton(self.tab_13) - self.pushButton_basic_heatmap_add_top.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_add_top.sizePolicy().hasHeightForWidth()) - self.pushButton_basic_heatmap_add_top.setSizePolicy(sizePolicy) - self.pushButton_basic_heatmap_add_top.setObjectName("pushButton_basic_heatmap_add_top") - self.gridLayout_23.addWidget(self.pushButton_basic_heatmap_add_top, 6, 3, 1, 1) - self.verticalLayout = QtWidgets.QVBoxLayout() - self.verticalLayout.setObjectName("verticalLayout") - self.pushButton_basic_heatmap_drop_item = QtWidgets.QPushButton(self.tab_13) - self.pushButton_basic_heatmap_drop_item.setEnabled(False) + self.horizontalLayout_110 = QtWidgets.QHBoxLayout() + self.horizontalLayout_110.setObjectName("horizontalLayout_110") + self.label_heatmap_upset = QtWidgets.QLabel(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_drop_item.sizePolicy().hasHeightForWidth()) - self.pushButton_basic_heatmap_drop_item.setSizePolicy(sizePolicy) - self.pushButton_basic_heatmap_drop_item.setObjectName("pushButton_basic_heatmap_drop_item") - self.verticalLayout.addWidget(self.pushButton_basic_heatmap_drop_item) - self.pushButton_basic_heatmap_clean_list = QtWidgets.QPushButton(self.tab_13) - self.pushButton_basic_heatmap_clean_list.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.label_heatmap_upset.sizePolicy().hasHeightForWidth()) + self.label_heatmap_upset.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setBold(False) + font.setWeight(50) + self.label_heatmap_upset.setFont(font) + self.label_heatmap_upset.setObjectName("label_heatmap_upset") + self.horizontalLayout_110.addWidget(self.label_heatmap_upset) + self.label_211 = QtWidgets.QLabel(self.scrollAreaWidgetContents_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_clean_list.sizePolicy().hasHeightForWidth()) - self.pushButton_basic_heatmap_clean_list.setSizePolicy(sizePolicy) - self.pushButton_basic_heatmap_clean_list.setObjectName("pushButton_basic_heatmap_clean_list") - self.verticalLayout.addWidget(self.pushButton_basic_heatmap_clean_list) - self.pushButton_basic_heatmap_add_a_list = QtWidgets.QPushButton(self.tab_13) - self.pushButton_basic_heatmap_add_a_list.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.label_211.sizePolicy().hasHeightForWidth()) + self.label_211.setSizePolicy(sizePolicy) + self.label_211.setObjectName("label_211") + self.horizontalLayout_110.addWidget(self.label_211) + self.spinBox_basic_heatmap_plot_upset_min_subset = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_add_a_list.sizePolicy().hasHeightForWidth()) - self.pushButton_basic_heatmap_add_a_list.setSizePolicy(sizePolicy) - self.pushButton_basic_heatmap_add_a_list.setObjectName("pushButton_basic_heatmap_add_a_list") - self.verticalLayout.addWidget(self.pushButton_basic_heatmap_add_a_list) - self.gridLayout_23.addLayout(self.verticalLayout, 7, 0, 2, 1) - self.comboBox_basic_heatmap_selection_list = QtWidgets.QComboBox(self.tab_13) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.spinBox_basic_heatmap_plot_upset_min_subset.sizePolicy().hasHeightForWidth()) + self.spinBox_basic_heatmap_plot_upset_min_subset.setSizePolicy(sizePolicy) + self.spinBox_basic_heatmap_plot_upset_min_subset.setMinimum(0) + self.spinBox_basic_heatmap_plot_upset_min_subset.setMaximum(99999) + self.spinBox_basic_heatmap_plot_upset_min_subset.setSingleStep(1) + self.spinBox_basic_heatmap_plot_upset_min_subset.setProperty("value", 1) + self.spinBox_basic_heatmap_plot_upset_min_subset.setObjectName("spinBox_basic_heatmap_plot_upset_min_subset") + self.horizontalLayout_110.addWidget(self.spinBox_basic_heatmap_plot_upset_min_subset) + self.label_212 = QtWidgets.QLabel(self.scrollAreaWidgetContents_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_basic_heatmap_selection_list.sizePolicy().hasHeightForWidth()) - self.comboBox_basic_heatmap_selection_list.setSizePolicy(sizePolicy) - self.comboBox_basic_heatmap_selection_list.setObjectName("comboBox_basic_heatmap_selection_list") - self.gridLayout_23.addWidget(self.comboBox_basic_heatmap_selection_list, 5, 1, 1, 2) - self.verticalLayout_basic_heatmap_group = QtWidgets.QVBoxLayout() - self.verticalLayout_basic_heatmap_group.setObjectName("verticalLayout_basic_heatmap_group") - self.gridLayout_23.addLayout(self.verticalLayout_basic_heatmap_group, 2, 2, 1, 2) - self.horizontalLayout_29 = QtWidgets.QHBoxLayout() - self.horizontalLayout_29.setObjectName("horizontalLayout_29") - self.label_67 = QtWidgets.QLabel(self.tab_13) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.label_212.sizePolicy().hasHeightForWidth()) + self.label_212.setSizePolicy(sizePolicy) + self.label_212.setObjectName("label_212") + self.horizontalLayout_110.addWidget(self.label_212) + self.spinBox_basic_heatmap_plot_upset_max_rank = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_67.sizePolicy().hasHeightForWidth()) - self.label_67.setSizePolicy(sizePolicy) - self.label_67.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_67.setObjectName("label_67") - self.horizontalLayout_29.addWidget(self.label_67) - self.spinBox_basic_heatmap_top_num = QtWidgets.QSpinBox(self.tab_13) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.spinBox_basic_heatmap_plot_upset_max_rank.sizePolicy().hasHeightForWidth()) + self.spinBox_basic_heatmap_plot_upset_max_rank.setSizePolicy(sizePolicy) + self.spinBox_basic_heatmap_plot_upset_max_rank.setMaximum(999) + self.spinBox_basic_heatmap_plot_upset_max_rank.setObjectName("spinBox_basic_heatmap_plot_upset_max_rank") + self.horizontalLayout_110.addWidget(self.spinBox_basic_heatmap_plot_upset_max_rank) + self.checkBox_basic_heatmap_plot_upset_show_percentage = QtWidgets.QCheckBox(self.scrollAreaWidgetContents_2) + self.checkBox_basic_heatmap_plot_upset_show_percentage.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_basic_heatmap_top_num.sizePolicy().hasHeightForWidth()) - self.spinBox_basic_heatmap_top_num.setSizePolicy(sizePolicy) - self.spinBox_basic_heatmap_top_num.setMinimum(1) - self.spinBox_basic_heatmap_top_num.setMaximum(99999) - self.spinBox_basic_heatmap_top_num.setProperty("value", 10) - self.spinBox_basic_heatmap_top_num.setObjectName("spinBox_basic_heatmap_top_num") - self.horizontalLayout_29.addWidget(self.spinBox_basic_heatmap_top_num) - self.label_68 = QtWidgets.QLabel(self.tab_13) + sizePolicy.setHeightForWidth(self.checkBox_basic_heatmap_plot_upset_show_percentage.sizePolicy().hasHeightForWidth()) + self.checkBox_basic_heatmap_plot_upset_show_percentage.setSizePolicy(sizePolicy) + self.checkBox_basic_heatmap_plot_upset_show_percentage.setObjectName("checkBox_basic_heatmap_plot_upset_show_percentage") + self.horizontalLayout_110.addWidget(self.checkBox_basic_heatmap_plot_upset_show_percentage) + self.gridLayout_70.addLayout(self.horizontalLayout_110, 5, 2, 1, 2) + self.gridLayout_50.addLayout(self.gridLayout_70, 0, 0, 1, 1) + self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2) + self.gridLayout_41.addWidget(self.scrollArea_2, 0, 0, 1, 1) + self.gridLayout_23.addWidget(self.groupBox_basic_heatmap_plot_settings, 11, 0, 1, 4) + self.horizontalLayout_106 = QtWidgets.QHBoxLayout() + self.horizontalLayout_106.setObjectName("horizontalLayout_106") + self.label_209 = QtWidgets.QLabel(self.tab_13) + self.label_209.setObjectName("label_209") + self.horizontalLayout_106.addWidget(self.label_209) + self.comboBox_basic_heatmap_group_or_sample = QtWidgets.QComboBox(self.tab_13) + self.comboBox_basic_heatmap_group_or_sample.setObjectName("comboBox_basic_heatmap_group_or_sample") + self.comboBox_basic_heatmap_group_or_sample.addItem("") + self.comboBox_basic_heatmap_group_or_sample.addItem("") + self.horizontalLayout_106.addWidget(self.comboBox_basic_heatmap_group_or_sample) + self.gridLayout_23.addLayout(self.horizontalLayout_106, 3, 0, 1, 1) + self.horizontalLayout_basic_heatmap_group_selection = QtWidgets.QHBoxLayout() + self.horizontalLayout_basic_heatmap_group_selection.setObjectName("horizontalLayout_basic_heatmap_group_selection") + self.horizontalLayout_112 = QtWidgets.QHBoxLayout() + self.horizontalLayout_112.setObjectName("horizontalLayout_112") + self.checkBox_basic_heatmap_in_condition = QtWidgets.QCheckBox(self.tab_13) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_68.sizePolicy().hasHeightForWidth()) - self.label_68.setSizePolicy(sizePolicy) - self.label_68.setObjectName("label_68") - self.horizontalLayout_29.addWidget(self.label_68) - self.comboBox_basic_heatmap_top_by = QtWidgets.QComboBox(self.tab_13) - self.comboBox_basic_heatmap_top_by.setObjectName("comboBox_basic_heatmap_top_by") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.comboBox_basic_heatmap_top_by.addItem("") - self.horizontalLayout_29.addWidget(self.comboBox_basic_heatmap_top_by) - self.checkBox_basic_heatmap_top_filtered = QtWidgets.QCheckBox(self.tab_13) - self.checkBox_basic_heatmap_top_filtered.setObjectName("checkBox_basic_heatmap_top_filtered") - self.horizontalLayout_29.addWidget(self.checkBox_basic_heatmap_top_filtered) - self.gridLayout_23.addLayout(self.horizontalLayout_29, 6, 1, 1, 2) - self.gridLayout_39 = QtWidgets.QGridLayout() - self.gridLayout_39.setObjectName("gridLayout_39") - self.pushButton_basic_heatmap_get_table = QtWidgets.QPushButton(self.tab_13) - self.pushButton_basic_heatmap_get_table.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.checkBox_basic_heatmap_in_condition.sizePolicy().hasHeightForWidth()) + self.checkBox_basic_heatmap_in_condition.setSizePolicy(sizePolicy) + self.checkBox_basic_heatmap_in_condition.setObjectName("checkBox_basic_heatmap_in_condition") + self.horizontalLayout_112.addWidget(self.checkBox_basic_heatmap_in_condition) + self.horizontalLayout_26 = QtWidgets.QHBoxLayout() + self.horizontalLayout_26.setObjectName("horizontalLayout_26") + self.comboBox_basic_heatmap_condition_meta = QtWidgets.QComboBox(self.tab_13) + self.comboBox_basic_heatmap_condition_meta.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_get_table.sizePolicy().hasHeightForWidth()) - self.pushButton_basic_heatmap_get_table.setSizePolicy(sizePolicy) - self.pushButton_basic_heatmap_get_table.setObjectName("pushButton_basic_heatmap_get_table") - self.gridLayout_39.addWidget(self.pushButton_basic_heatmap_get_table, 2, 1, 1, 1) - self.pushButton_basic_heatmap_sankey_plot = QtWidgets.QPushButton(self.tab_13) - self.pushButton_basic_heatmap_sankey_plot.setEnabled(False) + sizePolicy.setHeightForWidth(self.comboBox_basic_heatmap_condition_meta.sizePolicy().hasHeightForWidth()) + self.comboBox_basic_heatmap_condition_meta.setSizePolicy(sizePolicy) + self.comboBox_basic_heatmap_condition_meta.setObjectName("comboBox_basic_heatmap_condition_meta") + self.horizontalLayout_26.addWidget(self.comboBox_basic_heatmap_condition_meta) + self.comboBox_basic_heatmap_condition_group = QtWidgets.QComboBox(self.tab_13) + self.comboBox_basic_heatmap_condition_group.setEnabled(True) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_sankey_plot.sizePolicy().hasHeightForWidth()) - self.pushButton_basic_heatmap_sankey_plot.setSizePolicy(sizePolicy) - self.pushButton_basic_heatmap_sankey_plot.setObjectName("pushButton_basic_heatmap_sankey_plot") - self.gridLayout_39.addWidget(self.pushButton_basic_heatmap_sankey_plot, 2, 0, 1, 1) - self.pushButton_basic_bar_plot = QtWidgets.QPushButton(self.tab_13) - self.pushButton_basic_bar_plot.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.comboBox_basic_heatmap_condition_group.sizePolicy().hasHeightForWidth()) + self.comboBox_basic_heatmap_condition_group.setSizePolicy(sizePolicy) + self.comboBox_basic_heatmap_condition_group.setObjectName("comboBox_basic_heatmap_condition_group") + self.horizontalLayout_26.addWidget(self.comboBox_basic_heatmap_condition_group) + self.horizontalLayout_112.addLayout(self.horizontalLayout_26) + self.horizontalLayout_basic_heatmap_group_selection.addLayout(self.horizontalLayout_112) + self.verticalLayout_basic_heatmap_group = QtWidgets.QVBoxLayout() + self.verticalLayout_basic_heatmap_group.setObjectName("verticalLayout_basic_heatmap_group") + self.horizontalLayout_basic_heatmap_group_selection.addLayout(self.verticalLayout_basic_heatmap_group) + self.verticalLayout_basic_heatmap_sample = QtWidgets.QVBoxLayout() + self.verticalLayout_basic_heatmap_sample.setObjectName("verticalLayout_basic_heatmap_sample") + self.horizontalLayout_basic_heatmap_group_selection.addLayout(self.verticalLayout_basic_heatmap_sample) + self.gridLayout_23.addLayout(self.horizontalLayout_basic_heatmap_group_selection, 3, 1, 1, 3) + self.tabWidget_4.addTab(self.tab_13, "") + self.tab_10 = QtWidgets.QWidget() + self.tab_10.setObjectName("tab_10") + self.gridLayout_28 = QtWidgets.QGridLayout(self.tab_10) + self.gridLayout_28.setObjectName("gridLayout_28") + self.label_81 = QtWidgets.QLabel(self.tab_10) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_basic_bar_plot.sizePolicy().hasHeightForWidth()) - self.pushButton_basic_bar_plot.setSizePolicy(sizePolicy) - self.pushButton_basic_bar_plot.setObjectName("pushButton_basic_bar_plot") - self.gridLayout_39.addWidget(self.pushButton_basic_bar_plot, 1, 1, 1, 1) - self.pushButton_basic_heatmap_plot = QtWidgets.QPushButton(self.tab_13) - self.pushButton_basic_heatmap_plot.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_basic_heatmap_plot.sizePolicy().hasHeightForWidth()) - self.pushButton_basic_heatmap_plot.setSizePolicy(sizePolicy) - self.pushButton_basic_heatmap_plot.setObjectName("pushButton_basic_heatmap_plot") - self.gridLayout_39.addWidget(self.pushButton_basic_heatmap_plot, 1, 0, 1, 1) - self.gridLayout_23.addLayout(self.gridLayout_39, 9, 0, 1, 4) - self.verticalLayout_basic_heatmap_sample = QtWidgets.QVBoxLayout() - self.verticalLayout_basic_heatmap_sample.setObjectName("verticalLayout_basic_heatmap_sample") - self.gridLayout_23.addLayout(self.verticalLayout_basic_heatmap_sample, 3, 1, 1, 3) - self.radioButton_basic_heatmap_sample = QtWidgets.QRadioButton(self.tab_13) - self.radioButton_basic_heatmap_sample.setObjectName("radioButton_basic_heatmap_sample") - self.gridLayout_23.addWidget(self.radioButton_basic_heatmap_sample, 3, 0, 1, 1) - self.line_12 = QtWidgets.QFrame(self.tab_13) - self.line_12.setFrameShape(QtWidgets.QFrame.HLine) - self.line_12.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_12.setObjectName("line_12") - self.gridLayout_23.addWidget(self.line_12, 4, 0, 1, 4) - self.line_8 = QtWidgets.QFrame(self.tab_13) - self.line_8.setFrameShape(QtWidgets.QFrame.HLine) - self.line_8.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_8.setObjectName("line_8") - self.gridLayout_23.addWidget(self.line_8, 1, 0, 1, 4) - self.listWidget_list_for_ploting = QtWidgets.QListWidget(self.tab_13) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.listWidget_list_for_ploting.sizePolicy().hasHeightForWidth()) - self.listWidget_list_for_ploting.setSizePolicy(sizePolicy) - self.listWidget_list_for_ploting.setObjectName("listWidget_list_for_ploting") - self.gridLayout_23.addWidget(self.listWidget_list_for_ploting, 7, 1, 2, 3) - self.tabWidget_4.addTab(self.tab_13, "") - self.tab_10 = QtWidgets.QWidget() - self.tab_10.setObjectName("tab_10") - self.gridLayout_28 = QtWidgets.QGridLayout(self.tab_10) - self.gridLayout_28.setObjectName("gridLayout_28") - self.label_81 = QtWidgets.QLabel(self.tab_10) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_81.sizePolicy().hasHeightForWidth()) - self.label_81.setSizePolicy(sizePolicy) - self.label_81.setObjectName("label_81") - self.gridLayout_28.addWidget(self.label_81, 0, 0, 1, 1) - self.comboBox_basic_peptide_query = QtWidgets.QComboBox(self.tab_10) - self.comboBox_basic_peptide_query.setObjectName("comboBox_basic_peptide_query") - self.gridLayout_28.addWidget(self.comboBox_basic_peptide_query, 0, 1, 1, 1) - self.pushButton_basic_peptide_query = QtWidgets.QPushButton(self.tab_10) - self.pushButton_basic_peptide_query.setEnabled(False) + sizePolicy.setHeightForWidth(self.label_81.sizePolicy().hasHeightForWidth()) + self.label_81.setSizePolicy(sizePolicy) + self.label_81.setObjectName("label_81") + self.gridLayout_28.addWidget(self.label_81, 0, 0, 1, 1) + self.comboBox_basic_peptide_query = QtWidgets.QComboBox(self.tab_10) + self.comboBox_basic_peptide_query.setObjectName("comboBox_basic_peptide_query") + self.gridLayout_28.addWidget(self.comboBox_basic_peptide_query, 0, 1, 1, 1) + self.pushButton_basic_peptide_query = QtWidgets.QPushButton(self.tab_10) + self.pushButton_basic_peptide_query.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -1901,6 +2040,11 @@ def setupUi(self, metaX_main): self.gridLayout_9 = QtWidgets.QGridLayout(self.tab_2) self.gridLayout_9.setObjectName("gridLayout_9") self.groupBox_cross_heatmap_plot = QtWidgets.QGroupBox(self.tab_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.groupBox_cross_heatmap_plot.sizePolicy().hasHeightForWidth()) + self.groupBox_cross_heatmap_plot.setSizePolicy(sizePolicy) self.groupBox_cross_heatmap_plot.setObjectName("groupBox_cross_heatmap_plot") self.gridLayout_75 = QtWidgets.QGridLayout(self.groupBox_cross_heatmap_plot) self.gridLayout_75.setObjectName("gridLayout_75") @@ -1939,7 +2083,7 @@ def setupUi(self, metaX_main): self.gridLayout_46.addWidget(self.pushButton_get_top_cross_table, 1, 1, 1, 1) self.pushButton_plot_top_heatmap = QtWidgets.QPushButton(self.groupBox_cross_heatmap_plot) self.pushButton_plot_top_heatmap.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.pushButton_plot_top_heatmap.sizePolicy().hasHeightForWidth()) @@ -1953,7 +2097,12 @@ def setupUi(self, metaX_main): self.gridLayout_46.addWidget(self.checkBox_2, 1, 0, 1, 1) self.gridLayout_75.addLayout(self.gridLayout_46, 0, 0, 1, 1) self.groupBox_cross_heatmap_settings = QtWidgets.QGroupBox(self.groupBox_cross_heatmap_plot) - self.groupBox_cross_heatmap_settings.setMaximumSize(QtCore.QSize(16777215, 280)) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.groupBox_cross_heatmap_settings.sizePolicy().hasHeightForWidth()) + self.groupBox_cross_heatmap_settings.setSizePolicy(sizePolicy) + self.groupBox_cross_heatmap_settings.setMaximumSize(QtCore.QSize(16777215, 300)) self.groupBox_cross_heatmap_settings.setObjectName("groupBox_cross_heatmap_settings") self.gridLayout_52 = QtWidgets.QGridLayout(self.groupBox_cross_heatmap_settings) self.gridLayout_52.setObjectName("gridLayout_52") @@ -1967,7 +2116,7 @@ def setupUi(self, metaX_main): self.scrollArea_cross_heatmap_settings.setWidgetResizable(True) self.scrollArea_cross_heatmap_settings.setObjectName("scrollArea_cross_heatmap_settings") self.scrollAreaWidgetContents_3 = QtWidgets.QWidget() - self.scrollAreaWidgetContents_3.setGeometry(QtCore.QRect(0, 0, 1020, 128)) + self.scrollAreaWidgetContents_3.setGeometry(QtCore.QRect(0, 0, 889, 128)) self.scrollAreaWidgetContents_3.setObjectName("scrollAreaWidgetContents_3") self.gridLayout_38 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_3) self.gridLayout_38.setObjectName("gridLayout_38") @@ -2398,6 +2547,11 @@ def setupUi(self, metaX_main): self.gridLayout_75.addWidget(self.groupBox_cross_heatmap_settings, 1, 0, 1, 1) self.gridLayout_9.addWidget(self.groupBox_cross_heatmap_plot, 1, 0, 1, 1) self.tabWidget_3 = QtWidgets.QTabWidget(self.tab_2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Ignored) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.tabWidget_3.sizePolicy().hasHeightForWidth()) + self.tabWidget_3.setSizePolicy(sizePolicy) self.tabWidget_3.setTabShape(QtWidgets.QTabWidget.Triangular) self.tabWidget_3.setObjectName("tabWidget_3") self.tab_3 = QtWidgets.QWidget() @@ -2432,6 +2586,11 @@ def setupUi(self, metaX_main): self.label_103.setObjectName("label_103") self.horizontalLayout_38.addWidget(self.label_103) self.comboBox_ttest_meta = QtWidgets.QComboBox(self.tab_3) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_ttest_meta.sizePolicy().hasHeightForWidth()) + self.comboBox_ttest_meta.setSizePolicy(sizePolicy) self.comboBox_ttest_meta.setObjectName("comboBox_ttest_meta") self.horizontalLayout_38.addWidget(self.comboBox_ttest_meta) self.checkBox_ttest_in_condition = QtWidgets.QCheckBox(self.tab_3) @@ -2443,14 +2602,14 @@ def setupUi(self, metaX_main): self.checkBox_ttest_in_condition.setLayoutDirection(QtCore.Qt.RightToLeft) self.checkBox_ttest_in_condition.setObjectName("checkBox_ttest_in_condition") self.horizontalLayout_38.addWidget(self.checkBox_ttest_in_condition) - self.comboBox_ttest_condition_meta = QtWidgets.QComboBox(self.tab_3) - self.comboBox_ttest_condition_meta.setEnabled(False) - self.comboBox_ttest_condition_meta.setObjectName("comboBox_ttest_condition_meta") - self.horizontalLayout_38.addWidget(self.comboBox_ttest_condition_meta) self.horizontalLayout_70 = QtWidgets.QHBoxLayout() self.horizontalLayout_70.setObjectName("horizontalLayout_70") + self.comboBox_ttest_condition_meta = QtWidgets.QComboBox(self.tab_3) + self.comboBox_ttest_condition_meta.setEnabled(True) + self.comboBox_ttest_condition_meta.setObjectName("comboBox_ttest_condition_meta") + self.horizontalLayout_70.addWidget(self.comboBox_ttest_condition_meta) self.comboBox_ttest_condition_group = QtWidgets.QComboBox(self.tab_3) - self.comboBox_ttest_condition_group.setEnabled(False) + self.comboBox_ttest_condition_group.setEnabled(True) self.comboBox_ttest_condition_group.setObjectName("comboBox_ttest_condition_group") self.horizontalLayout_70.addWidget(self.comboBox_ttest_condition_group) self.horizontalLayout_38.addLayout(self.horizontalLayout_70) @@ -2561,14 +2720,14 @@ def setupUi(self, metaX_main): self.checkBox_anova_in_condition.setLayoutDirection(QtCore.Qt.RightToLeft) self.checkBox_anova_in_condition.setObjectName("checkBox_anova_in_condition") self.horizontalLayout_37.addWidget(self.checkBox_anova_in_condition) - self.comboBox_anova_condition_meta = QtWidgets.QComboBox(self.tab_7) - self.comboBox_anova_condition_meta.setEnabled(False) - self.comboBox_anova_condition_meta.setObjectName("comboBox_anova_condition_meta") - self.horizontalLayout_37.addWidget(self.comboBox_anova_condition_meta) self.horizontalLayout_71 = QtWidgets.QHBoxLayout() self.horizontalLayout_71.setObjectName("horizontalLayout_71") + self.comboBox_anova_condition_meta = QtWidgets.QComboBox(self.tab_7) + self.comboBox_anova_condition_meta.setEnabled(True) + self.comboBox_anova_condition_meta.setObjectName("comboBox_anova_condition_meta") + self.horizontalLayout_71.addWidget(self.comboBox_anova_condition_meta) self.comboBox_anova_condition_group = QtWidgets.QComboBox(self.tab_7) - self.comboBox_anova_condition_group.setEnabled(False) + self.comboBox_anova_condition_group.setEnabled(True) self.comboBox_anova_condition_group.setObjectName("comboBox_anova_condition_group") self.horizontalLayout_71.addWidget(self.comboBox_anova_condition_group) self.horizontalLayout_37.addLayout(self.horizontalLayout_71) @@ -2601,6 +2760,11 @@ def setupUi(self, metaX_main): self.gridLayout_33.addWidget(self.line_25, 3, 1, 1, 2) self.pushButton_dunnett_test = QtWidgets.QPushButton(self.tab_16) self.pushButton_dunnett_test.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_dunnett_test.sizePolicy().hasHeightForWidth()) + self.pushButton_dunnett_test.setSizePolicy(sizePolicy) self.pushButton_dunnett_test.setObjectName("pushButton_dunnett_test") self.gridLayout_33.addWidget(self.pushButton_dunnett_test, 10, 1, 1, 1) self.horizontalLayout_39 = QtWidgets.QHBoxLayout() @@ -2635,14 +2799,14 @@ def setupUi(self, metaX_main): self.checkBox_group_control_in_condition.setLayoutDirection(QtCore.Qt.RightToLeft) self.checkBox_group_control_in_condition.setObjectName("checkBox_group_control_in_condition") self.horizontalLayout_39.addWidget(self.checkBox_group_control_in_condition) - self.comboBox_group_control_condition_meta = QtWidgets.QComboBox(self.tab_16) - self.comboBox_group_control_condition_meta.setEnabled(False) - self.comboBox_group_control_condition_meta.setObjectName("comboBox_group_control_condition_meta") - self.horizontalLayout_39.addWidget(self.comboBox_group_control_condition_meta) self.horizontalLayout_73 = QtWidgets.QHBoxLayout() self.horizontalLayout_73.setObjectName("horizontalLayout_73") + self.comboBox_group_control_condition_meta = QtWidgets.QComboBox(self.tab_16) + self.comboBox_group_control_condition_meta.setEnabled(True) + self.comboBox_group_control_condition_meta.setObjectName("comboBox_group_control_condition_meta") + self.horizontalLayout_73.addWidget(self.comboBox_group_control_condition_meta) self.comboBox_group_control_condition_group = QtWidgets.QComboBox(self.tab_16) - self.comboBox_group_control_condition_group.setEnabled(False) + self.comboBox_group_control_condition_group.setEnabled(True) self.comboBox_group_control_condition_group.setObjectName("comboBox_group_control_condition_group") self.horizontalLayout_73.addWidget(self.comboBox_group_control_condition_group) self.horizontalLayout_39.addLayout(self.horizontalLayout_73) @@ -2691,6 +2855,11 @@ def setupUi(self, metaX_main): self.gridLayout_72.addWidget(self.label_115, 0, 0, 1, 1) self.gridLayout_33.addLayout(self.gridLayout_72, 4, 1, 1, 2) self.line_26 = QtWidgets.QFrame(self.tab_16) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Maximum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.line_26.sizePolicy().hasHeightForWidth()) + self.line_26.setSizePolicy(sizePolicy) self.line_26.setFrameShape(QtWidgets.QFrame.HLine) self.line_26.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_26.setObjectName("line_26") @@ -2734,19 +2903,19 @@ def setupUi(self, metaX_main): self.checkBox_deseq2_comparing_in_condition.setLayoutDirection(QtCore.Qt.RightToLeft) self.checkBox_deseq2_comparing_in_condition.setObjectName("checkBox_deseq2_comparing_in_condition") self.horizontalLayout_40.addWidget(self.checkBox_deseq2_comparing_in_condition) + self.horizontalLayout_75 = QtWidgets.QHBoxLayout() + self.horizontalLayout_75.setObjectName("horizontalLayout_75") self.comboBox_deseq2_condition_meta = QtWidgets.QComboBox(self.tab_19) - self.comboBox_deseq2_condition_meta.setEnabled(False) + self.comboBox_deseq2_condition_meta.setEnabled(True) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.comboBox_deseq2_condition_meta.sizePolicy().hasHeightForWidth()) self.comboBox_deseq2_condition_meta.setSizePolicy(sizePolicy) self.comboBox_deseq2_condition_meta.setObjectName("comboBox_deseq2_condition_meta") - self.horizontalLayout_40.addWidget(self.comboBox_deseq2_condition_meta) - self.horizontalLayout_75 = QtWidgets.QHBoxLayout() - self.horizontalLayout_75.setObjectName("horizontalLayout_75") + self.horizontalLayout_75.addWidget(self.comboBox_deseq2_condition_meta) self.comboBox_deseq2_condition_group = QtWidgets.QComboBox(self.tab_19) - self.comboBox_deseq2_condition_group.setEnabled(False) + self.comboBox_deseq2_condition_group.setEnabled(True) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -2902,7 +3071,7 @@ def setupUi(self, metaX_main): self.scrollArea_3.setWidgetResizable(True) self.scrollArea_3.setObjectName("scrollArea_3") self.scrollAreaWidgetContents_4 = QtWidgets.QWidget() - self.scrollAreaWidgetContents_4.setGeometry(QtCore.QRect(0, 0, 996, 164)) + self.scrollAreaWidgetContents_4.setGeometry(QtCore.QRect(0, 0, 865, 117)) self.scrollAreaWidgetContents_4.setObjectName("scrollAreaWidgetContents_4") self.gridLayout_68 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_4) self.gridLayout_68.setObjectName("gridLayout_68") @@ -3143,6 +3312,11 @@ def setupUi(self, metaX_main): self.pushButton_tukey_test.setEnabled(False) self.pushButton_tukey_test.setObjectName("pushButton_tukey_test") self.gridLayout_10.addWidget(self.pushButton_tukey_test, 8, 1, 1, 1) + self.line_16 = QtWidgets.QFrame(self.tab_4) + self.line_16.setFrameShape(QtWidgets.QFrame.HLine) + self.line_16.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_16.setObjectName("line_16") + self.gridLayout_10.addWidget(self.line_16, 1, 0, 1, 4) self.horizontalLayout_59 = QtWidgets.QHBoxLayout() self.horizontalLayout_59.setObjectName("horizontalLayout_59") self.label_106 = QtWidgets.QLabel(self.tab_4) @@ -3160,23 +3334,18 @@ def setupUi(self, metaX_main): self.checkBox_tukey_in_condition.setLayoutDirection(QtCore.Qt.RightToLeft) self.checkBox_tukey_in_condition.setObjectName("checkBox_tukey_in_condition") self.horizontalLayout_59.addWidget(self.checkBox_tukey_in_condition) - self.comboBox_tukey_condition_meta = QtWidgets.QComboBox(self.tab_4) - self.comboBox_tukey_condition_meta.setEnabled(False) - self.comboBox_tukey_condition_meta.setObjectName("comboBox_tukey_condition_meta") - self.horizontalLayout_59.addWidget(self.comboBox_tukey_condition_meta) self.horizontalLayout_72 = QtWidgets.QHBoxLayout() self.horizontalLayout_72.setObjectName("horizontalLayout_72") + self.comboBox_tukey_condition_meta = QtWidgets.QComboBox(self.tab_4) + self.comboBox_tukey_condition_meta.setEnabled(True) + self.comboBox_tukey_condition_meta.setObjectName("comboBox_tukey_condition_meta") + self.horizontalLayout_72.addWidget(self.comboBox_tukey_condition_meta) self.comboBox_tukey_condition_group = QtWidgets.QComboBox(self.tab_4) - self.comboBox_tukey_condition_group.setEnabled(False) + self.comboBox_tukey_condition_group.setEnabled(True) self.comboBox_tukey_condition_group.setObjectName("comboBox_tukey_condition_group") self.horizontalLayout_72.addWidget(self.comboBox_tukey_condition_group) self.horizontalLayout_59.addLayout(self.horizontalLayout_72) - self.gridLayout_10.addLayout(self.horizontalLayout_59, 0, 1, 1, 3) - self.line_16 = QtWidgets.QFrame(self.tab_4) - self.line_16.setFrameShape(QtWidgets.QFrame.HLine) - self.line_16.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_16.setObjectName("line_16") - self.gridLayout_10.addWidget(self.line_16, 1, 0, 1, 4) + self.gridLayout_10.addLayout(self.horizontalLayout_59, 0, 0, 1, 4) self.tabWidget_3.addTab(self.tab_4, "") self.gridLayout_9.addWidget(self.tabWidget_3, 0, 0, 1, 1) self.tabWidget_TaxaFuncAnalyzer.addTab(self.tab_2, "") @@ -3191,11 +3360,107 @@ def setupUi(self, metaX_main): self.tab_5.setObjectName("tab_5") self.gridLayout_47 = QtWidgets.QGridLayout(self.tab_5) self.gridLayout_47.setObjectName("gridLayout_47") + self.line_17 = QtWidgets.QFrame(self.tab_5) + self.line_17.setFrameShape(QtWidgets.QFrame.HLine) + self.line_17.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_17.setObjectName("line_17") + self.gridLayout_47.addWidget(self.line_17, 4, 0, 1, 4) + self.listWidget_co_expr_focus_list = QtWidgets.QListWidget(self.tab_5) + self.listWidget_co_expr_focus_list.setObjectName("listWidget_co_expr_focus_list") + self.gridLayout_47.addWidget(self.listWidget_co_expr_focus_list, 7, 1, 1, 3) + self.verticalLayout_2 = QtWidgets.QVBoxLayout() + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.pushButton_co_expr_drop_item = QtWidgets.QPushButton(self.tab_5) + self.pushButton_co_expr_drop_item.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_co_expr_drop_item.sizePolicy().hasHeightForWidth()) + self.pushButton_co_expr_drop_item.setSizePolicy(sizePolicy) + self.pushButton_co_expr_drop_item.setObjectName("pushButton_co_expr_drop_item") + self.verticalLayout_2.addWidget(self.pushButton_co_expr_drop_item) + self.pushButton_co_expr_clean_list = QtWidgets.QPushButton(self.tab_5) + self.pushButton_co_expr_clean_list.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_co_expr_clean_list.sizePolicy().hasHeightForWidth()) + self.pushButton_co_expr_clean_list.setSizePolicy(sizePolicy) + self.pushButton_co_expr_clean_list.setObjectName("pushButton_co_expr_clean_list") + self.verticalLayout_2.addWidget(self.pushButton_co_expr_clean_list) + self.pushButton_co_expr_add_a_list = QtWidgets.QPushButton(self.tab_5) + self.pushButton_co_expr_add_a_list.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_co_expr_add_a_list.sizePolicy().hasHeightForWidth()) + self.pushButton_co_expr_add_a_list.setSizePolicy(sizePolicy) + self.pushButton_co_expr_add_a_list.setObjectName("pushButton_co_expr_add_a_list") + self.verticalLayout_2.addWidget(self.pushButton_co_expr_add_a_list) + self.gridLayout_47.addLayout(self.verticalLayout_2, 7, 0, 1, 1) + self.pushButton_co_expr_add_to_list = QtWidgets.QPushButton(self.tab_5) + self.pushButton_co_expr_add_to_list.setEnabled(False) + self.pushButton_co_expr_add_to_list.setObjectName("pushButton_co_expr_add_to_list") + self.gridLayout_47.addWidget(self.pushButton_co_expr_add_to_list, 5, 3, 1, 1) + self.horizontalLayout_67 = QtWidgets.QHBoxLayout() + self.horizontalLayout_67.setObjectName("horizontalLayout_67") + self.label_213 = QtWidgets.QLabel(self.tab_5) + self.label_213.setObjectName("label_213") + self.horizontalLayout_67.addWidget(self.label_213) + self.comboBox_co_expr_group_sample = QtWidgets.QComboBox(self.tab_5) + self.comboBox_co_expr_group_sample.setObjectName("comboBox_co_expr_group_sample") + self.comboBox_co_expr_group_sample.addItem("") + self.comboBox_co_expr_group_sample.addItem("") + self.horizontalLayout_67.addWidget(self.comboBox_co_expr_group_sample) + self.gridLayout_47.addLayout(self.horizontalLayout_67, 3, 0, 1, 1) + self.checkBox_4 = QtWidgets.QCheckBox(self.tab_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.checkBox_4.sizePolicy().hasHeightForWidth()) + self.checkBox_4.setSizePolicy(sizePolicy) + self.checkBox_4.setObjectName("checkBox_4") + self.gridLayout_47.addWidget(self.checkBox_4, 9, 0, 1, 2) + self.horizontalLayout_68 = QtWidgets.QHBoxLayout() + self.horizontalLayout_68.setObjectName("horizontalLayout_68") + self.horizontalLayout_42 = QtWidgets.QHBoxLayout() + self.horizontalLayout_42.setObjectName("horizontalLayout_42") + self.checkBox_co_expression_in_condition = QtWidgets.QCheckBox(self.tab_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.checkBox_co_expression_in_condition.sizePolicy().hasHeightForWidth()) + self.checkBox_co_expression_in_condition.setSizePolicy(sizePolicy) + self.checkBox_co_expression_in_condition.setObjectName("checkBox_co_expression_in_condition") + self.horizontalLayout_42.addWidget(self.checkBox_co_expression_in_condition) + self.horizontalLayout_74 = QtWidgets.QHBoxLayout() + self.horizontalLayout_74.setObjectName("horizontalLayout_74") + self.comboBox_co_expression_condition_meta = QtWidgets.QComboBox(self.tab_5) + self.comboBox_co_expression_condition_meta.setEnabled(True) + self.comboBox_co_expression_condition_meta.setObjectName("comboBox_co_expression_condition_meta") + self.horizontalLayout_74.addWidget(self.comboBox_co_expression_condition_meta) + self.comboBox_co_expression_condition_group = QtWidgets.QComboBox(self.tab_5) + self.comboBox_co_expression_condition_group.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_co_expression_condition_group.sizePolicy().hasHeightForWidth()) + self.comboBox_co_expression_condition_group.setSizePolicy(sizePolicy) + self.comboBox_co_expression_condition_group.setMinimumSize(QtCore.QSize(150, 0)) + self.comboBox_co_expression_condition_group.setMaximumSize(QtCore.QSize(500, 16777215)) + self.comboBox_co_expression_condition_group.setObjectName("comboBox_co_expression_condition_group") + self.horizontalLayout_74.addWidget(self.comboBox_co_expression_condition_group) + self.horizontalLayout_42.addLayout(self.horizontalLayout_74) + self.horizontalLayout_68.addLayout(self.horizontalLayout_42) + self.gridLayout_co_expr_group = QtWidgets.QGridLayout() + self.gridLayout_co_expr_group.setObjectName("gridLayout_co_expr_group") + self.horizontalLayout_68.addLayout(self.gridLayout_co_expr_group) self.gridLayout_co_expr_sample = QtWidgets.QGridLayout() self.gridLayout_co_expr_sample.setObjectName("gridLayout_co_expr_sample") - self.gridLayout_47.addLayout(self.gridLayout_co_expr_sample, 3, 1, 1, 3) + self.horizontalLayout_68.addLayout(self.gridLayout_co_expr_sample) + self.gridLayout_47.addLayout(self.horizontalLayout_68, 3, 1, 1, 3) self.groupBox_co_expression_plot_settings = QtWidgets.QGroupBox(self.tab_5) - self.groupBox_co_expression_plot_settings.setMaximumSize(QtCore.QSize(16777215, 240)) + self.groupBox_co_expression_plot_settings.setMaximumSize(QtCore.QSize(16777215, 280)) self.groupBox_co_expression_plot_settings.setObjectName("groupBox_co_expression_plot_settings") self.gridLayout_56 = QtWidgets.QGridLayout(self.groupBox_co_expression_plot_settings) self.gridLayout_56.setObjectName("gridLayout_56") @@ -3203,7 +3468,7 @@ def setupUi(self, metaX_main): self.scrollArea_4.setWidgetResizable(True) self.scrollArea_4.setObjectName("scrollArea_4") self.scrollAreaWidgetContents_5 = QtWidgets.QWidget() - self.scrollAreaWidgetContents_5.setGeometry(QtCore.QRect(0, 0, 493, 128)) + self.scrollAreaWidgetContents_5.setGeometry(QtCore.QRect(0, 0, 885, 168)) self.scrollAreaWidgetContents_5.setObjectName("scrollAreaWidgetContents_5") self.gridLayout_49 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_5) self.gridLayout_49.setObjectName("gridLayout_49") @@ -3385,10 +3650,11 @@ def setupUi(self, metaX_main): self.scrollArea_4.setWidget(self.scrollAreaWidgetContents_5) self.gridLayout_56.addWidget(self.scrollArea_4, 0, 0, 1, 1) self.gridLayout_47.addWidget(self.groupBox_co_expression_plot_settings, 10, 0, 1, 4) - self.pushButton_co_expr_add_top = QtWidgets.QPushButton(self.tab_5) - self.pushButton_co_expr_add_top.setEnabled(False) - self.pushButton_co_expr_add_top.setObjectName("pushButton_co_expr_add_top") - self.gridLayout_47.addWidget(self.pushButton_co_expr_add_top, 6, 3, 1, 1) + self.line_11 = QtWidgets.QFrame(self.tab_5) + self.line_11.setFrameShape(QtWidgets.QFrame.HLine) + self.line_11.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_11.setObjectName("line_11") + self.gridLayout_47.addWidget(self.line_11, 1, 0, 1, 4) self.horizontalLayout_41 = QtWidgets.QHBoxLayout() self.horizontalLayout_41.setObjectName("horizontalLayout_41") self.label_29 = QtWidgets.QLabel(self.tab_5) @@ -3431,63 +3697,18 @@ def setupUi(self, metaX_main): self.comboBox_co_expr_meta.setObjectName("comboBox_co_expr_meta") self.horizontalLayout_41.addWidget(self.comboBox_co_expr_meta) self.gridLayout_47.addLayout(self.horizontalLayout_41, 0, 0, 1, 4) - self.pushButton_co_expr_add_to_list = QtWidgets.QPushButton(self.tab_5) - self.pushButton_co_expr_add_to_list.setEnabled(False) - self.pushButton_co_expr_add_to_list.setObjectName("pushButton_co_expr_add_to_list") - self.gridLayout_47.addWidget(self.pushButton_co_expr_add_to_list, 5, 3, 1, 1) - self.horizontalLayout_43 = QtWidgets.QHBoxLayout() - self.horizontalLayout_43.setObjectName("horizontalLayout_43") - self.label_73 = QtWidgets.QLabel(self.tab_5) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_73.sizePolicy().hasHeightForWidth()) - self.label_73.setSizePolicy(sizePolicy) - self.label_73.setObjectName("label_73") - self.horizontalLayout_43.addWidget(self.label_73) - self.spinBox_co_expr_top_num = QtWidgets.QSpinBox(self.tab_5) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_co_expr_top_num.sizePolicy().hasHeightForWidth()) - self.spinBox_co_expr_top_num.setSizePolicy(sizePolicy) - self.spinBox_co_expr_top_num.setMinimum(1) - self.spinBox_co_expr_top_num.setMaximum(99999) - self.spinBox_co_expr_top_num.setProperty("value", 10) - self.spinBox_co_expr_top_num.setObjectName("spinBox_co_expr_top_num") - self.horizontalLayout_43.addWidget(self.spinBox_co_expr_top_num) - self.label_74 = QtWidgets.QLabel(self.tab_5) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_74.sizePolicy().hasHeightForWidth()) - self.label_74.setSizePolicy(sizePolicy) - self.label_74.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_74.setObjectName("label_74") - self.horizontalLayout_43.addWidget(self.label_74) - self.comboBox_co_expr_top_by = QtWidgets.QComboBox(self.tab_5) - self.comboBox_co_expr_top_by.setObjectName("comboBox_co_expr_top_by") - self.comboBox_co_expr_top_by.addItem("") - self.comboBox_co_expr_top_by.addItem("") - self.comboBox_co_expr_top_by.addItem("") - self.comboBox_co_expr_top_by.addItem("") - self.comboBox_co_expr_top_by.addItem("") - self.comboBox_co_expr_top_by.addItem("") - self.comboBox_co_expr_top_by.addItem("") - self.comboBox_co_expr_top_by.addItem("") - self.comboBox_co_expr_top_by.addItem("") - self.comboBox_co_expr_top_by.addItem("") - self.comboBox_co_expr_top_by.addItem("") - self.horizontalLayout_43.addWidget(self.comboBox_co_expr_top_by) - self.checkBox_co_expr_top_filtered = QtWidgets.QCheckBox(self.tab_5) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + self.label_72 = QtWidgets.QLabel(self.tab_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_co_expr_top_filtered.sizePolicy().hasHeightForWidth()) - self.checkBox_co_expr_top_filtered.setSizePolicy(sizePolicy) - self.checkBox_co_expr_top_filtered.setObjectName("checkBox_co_expr_top_filtered") - self.horizontalLayout_43.addWidget(self.checkBox_co_expr_top_filtered) - self.gridLayout_47.addLayout(self.horizontalLayout_43, 6, 1, 1, 2) + sizePolicy.setHeightForWidth(self.label_72.sizePolicy().hasHeightForWidth()) + self.label_72.setSizePolicy(sizePolicy) + self.label_72.setObjectName("label_72") + self.gridLayout_47.addWidget(self.label_72, 5, 0, 1, 1) + self.pushButton_co_expr_add_top = QtWidgets.QPushButton(self.tab_5) + self.pushButton_co_expr_add_top.setEnabled(False) + self.pushButton_co_expr_add_top.setObjectName("pushButton_co_expr_add_top") + self.gridLayout_47.addWidget(self.pushButton_co_expr_add_top, 6, 3, 1, 1) self.horizontalLayout_94 = QtWidgets.QHBoxLayout() self.horizontalLayout_94.setObjectName("horizontalLayout_94") self.pushButton_co_expr_plot = QtWidgets.QPushButton(self.tab_5) @@ -3504,343 +3725,99 @@ def setupUi(self, metaX_main): self.pushButton_co_expr_heatmap_plot.setObjectName("pushButton_co_expr_heatmap_plot") self.horizontalLayout_94.addWidget(self.pushButton_co_expr_heatmap_plot) self.gridLayout_47.addLayout(self.horizontalLayout_94, 9, 2, 1, 2) - self.line_11 = QtWidgets.QFrame(self.tab_5) - self.line_11.setFrameShape(QtWidgets.QFrame.HLine) - self.line_11.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_11.setObjectName("line_11") - self.gridLayout_47.addWidget(self.line_11, 1, 0, 1, 4) - self.horizontalLayout_42 = QtWidgets.QHBoxLayout() - self.horizontalLayout_42.setObjectName("horizontalLayout_42") - self.checkBox_co_expression_in_condition = QtWidgets.QCheckBox(self.tab_5) - self.checkBox_co_expression_in_condition.setObjectName("checkBox_co_expression_in_condition") - self.horizontalLayout_42.addWidget(self.checkBox_co_expression_in_condition) - self.comboBox_co_expression_condition_meta = QtWidgets.QComboBox(self.tab_5) - self.comboBox_co_expression_condition_meta.setEnabled(False) - self.comboBox_co_expression_condition_meta.setObjectName("comboBox_co_expression_condition_meta") - self.horizontalLayout_42.addWidget(self.comboBox_co_expression_condition_meta) - self.horizontalLayout_74 = QtWidgets.QHBoxLayout() - self.horizontalLayout_74.setObjectName("horizontalLayout_74") - self.comboBox_co_expression_condition_group = QtWidgets.QComboBox(self.tab_5) - self.comboBox_co_expression_condition_group.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_co_expression_condition_group.sizePolicy().hasHeightForWidth()) - self.comboBox_co_expression_condition_group.setSizePolicy(sizePolicy) - self.comboBox_co_expression_condition_group.setMinimumSize(QtCore.QSize(150, 0)) - self.comboBox_co_expression_condition_group.setMaximumSize(QtCore.QSize(500, 16777215)) - self.comboBox_co_expression_condition_group.setObjectName("comboBox_co_expression_condition_group") - self.horizontalLayout_74.addWidget(self.comboBox_co_expression_condition_group) - self.horizontalLayout_42.addLayout(self.horizontalLayout_74) - self.gridLayout_47.addLayout(self.horizontalLayout_42, 2, 1, 1, 1) - self.line_17 = QtWidgets.QFrame(self.tab_5) - self.line_17.setFrameShape(QtWidgets.QFrame.HLine) - self.line_17.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_17.setObjectName("line_17") - self.gridLayout_47.addWidget(self.line_17, 4, 0, 1, 4) - self.checkBox_4 = QtWidgets.QCheckBox(self.tab_5) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_4.sizePolicy().hasHeightForWidth()) - self.checkBox_4.setSizePolicy(sizePolicy) - self.checkBox_4.setObjectName("checkBox_4") - self.gridLayout_47.addWidget(self.checkBox_4, 9, 0, 1, 2) - self.radioButton_co_expr_bygroup = QtWidgets.QRadioButton(self.tab_5) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.radioButton_co_expr_bygroup.sizePolicy().hasHeightForWidth()) - self.radioButton_co_expr_bygroup.setSizePolicy(sizePolicy) - self.radioButton_co_expr_bygroup.setChecked(True) - self.radioButton_co_expr_bygroup.setObjectName("radioButton_co_expr_bygroup") - self.gridLayout_47.addWidget(self.radioButton_co_expr_bygroup, 2, 0, 1, 1) self.comboBox_co_expr_select_list = QtWidgets.QComboBox(self.tab_5) self.comboBox_co_expr_select_list.setMinimumSize(QtCore.QSize(600, 0)) self.comboBox_co_expr_select_list.setObjectName("comboBox_co_expr_select_list") self.gridLayout_47.addWidget(self.comboBox_co_expr_select_list, 5, 1, 1, 2) - self.verticalLayout_2 = QtWidgets.QVBoxLayout() - self.verticalLayout_2.setObjectName("verticalLayout_2") - self.pushButton_co_expr_drop_item = QtWidgets.QPushButton(self.tab_5) - self.pushButton_co_expr_drop_item.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_co_expr_drop_item.sizePolicy().hasHeightForWidth()) - self.pushButton_co_expr_drop_item.setSizePolicy(sizePolicy) - self.pushButton_co_expr_drop_item.setObjectName("pushButton_co_expr_drop_item") - self.verticalLayout_2.addWidget(self.pushButton_co_expr_drop_item) - self.pushButton_co_expr_clean_list = QtWidgets.QPushButton(self.tab_5) - self.pushButton_co_expr_clean_list.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_co_expr_clean_list.sizePolicy().hasHeightForWidth()) - self.pushButton_co_expr_clean_list.setSizePolicy(sizePolicy) - self.pushButton_co_expr_clean_list.setObjectName("pushButton_co_expr_clean_list") - self.verticalLayout_2.addWidget(self.pushButton_co_expr_clean_list) - self.pushButton_co_expr_add_a_list = QtWidgets.QPushButton(self.tab_5) - self.pushButton_co_expr_add_a_list.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_co_expr_add_a_list.sizePolicy().hasHeightForWidth()) - self.pushButton_co_expr_add_a_list.setSizePolicy(sizePolicy) - self.pushButton_co_expr_add_a_list.setObjectName("pushButton_co_expr_add_a_list") - self.verticalLayout_2.addWidget(self.pushButton_co_expr_add_a_list) - self.gridLayout_47.addLayout(self.verticalLayout_2, 7, 0, 1, 1) - self.radioButton_co_expr_bysample = QtWidgets.QRadioButton(self.tab_5) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.radioButton_co_expr_bysample.sizePolicy().hasHeightForWidth()) - self.radioButton_co_expr_bysample.setSizePolicy(sizePolicy) - self.radioButton_co_expr_bysample.setObjectName("radioButton_co_expr_bysample") - self.gridLayout_47.addWidget(self.radioButton_co_expr_bysample, 3, 0, 1, 1) - self.label_72 = QtWidgets.QLabel(self.tab_5) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_72.sizePolicy().hasHeightForWidth()) - self.label_72.setSizePolicy(sizePolicy) - self.label_72.setObjectName("label_72") - self.gridLayout_47.addWidget(self.label_72, 5, 0, 1, 1) - self.gridLayout_co_expr_group = QtWidgets.QGridLayout() - self.gridLayout_co_expr_group.setObjectName("gridLayout_co_expr_group") - self.gridLayout_47.addLayout(self.gridLayout_co_expr_group, 2, 2, 1, 2) - self.listWidget_co_expr_focus_list = QtWidgets.QListWidget(self.tab_5) - self.listWidget_co_expr_focus_list.setObjectName("listWidget_co_expr_focus_list") - self.gridLayout_47.addWidget(self.listWidget_co_expr_focus_list, 7, 1, 1, 3) self.line_5 = QtWidgets.QFrame(self.tab_5) self.line_5.setFrameShape(QtWidgets.QFrame.HLine) self.line_5.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_5.setObjectName("line_5") self.gridLayout_47.addWidget(self.line_5, 8, 0, 1, 4) - self.tabWidget.addTab(self.tab_5, "") - self.tab_15 = QtWidgets.QWidget() - self.tab_15.setObjectName("tab_15") - self.gridLayout_24 = QtWidgets.QGridLayout(self.tab_15) - self.gridLayout_24.setObjectName("gridLayout_24") - self.horizontalLayout_45 = QtWidgets.QHBoxLayout() - self.horizontalLayout_45.setObjectName("horizontalLayout_45") - self.checkBox_trends_in_condition = QtWidgets.QCheckBox(self.tab_15) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_trends_in_condition.sizePolicy().hasHeightForWidth()) - self.checkBox_trends_in_condition.setSizePolicy(sizePolicy) - self.checkBox_trends_in_condition.setLayoutDirection(QtCore.Qt.LeftToRight) - self.checkBox_trends_in_condition.setObjectName("checkBox_trends_in_condition") - self.horizontalLayout_45.addWidget(self.checkBox_trends_in_condition) - self.comboBox_trends_condition_meta = QtWidgets.QComboBox(self.tab_15) - self.comboBox_trends_condition_meta.setEnabled(False) - self.comboBox_trends_condition_meta.setObjectName("comboBox_trends_condition_meta") - self.horizontalLayout_45.addWidget(self.comboBox_trends_condition_meta) - self.horizontalLayout_76 = QtWidgets.QHBoxLayout() - self.horizontalLayout_76.setObjectName("horizontalLayout_76") - self.comboBox_trends_condition_group = QtWidgets.QComboBox(self.tab_15) - self.comboBox_trends_condition_group.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_trends_condition_group.sizePolicy().hasHeightForWidth()) - self.comboBox_trends_condition_group.setSizePolicy(sizePolicy) - self.comboBox_trends_condition_group.setObjectName("comboBox_trends_condition_group") - self.horizontalLayout_76.addWidget(self.comboBox_trends_condition_group) - self.horizontalLayout_45.addLayout(self.horizontalLayout_76) - self.gridLayout_24.addLayout(self.horizontalLayout_45, 2, 1, 1, 2) - self.comboBox_trends_selection_list = QtWidgets.QComboBox(self.tab_15) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_trends_selection_list.sizePolicy().hasHeightForWidth()) - self.comboBox_trends_selection_list.setSizePolicy(sizePolicy) - self.comboBox_trends_selection_list.setMinimumSize(QtCore.QSize(600, 0)) - self.comboBox_trends_selection_list.setObjectName("comboBox_trends_selection_list") - self.gridLayout_24.addWidget(self.comboBox_trends_selection_list, 5, 1, 1, 3) - self.listWidget_trends_list_for_ploting = QtWidgets.QListWidget(self.tab_15) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.listWidget_trends_list_for_ploting.sizePolicy().hasHeightForWidth()) - self.listWidget_trends_list_for_ploting.setSizePolicy(sizePolicy) - self.listWidget_trends_list_for_ploting.setObjectName("listWidget_trends_list_for_ploting") - self.gridLayout_24.addWidget(self.listWidget_trends_list_for_ploting, 7, 1, 2, 4) - self.radioButton_trends_group = QtWidgets.QRadioButton(self.tab_15) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.radioButton_trends_group.sizePolicy().hasHeightForWidth()) - self.radioButton_trends_group.setSizePolicy(sizePolicy) - self.radioButton_trends_group.setChecked(True) - self.radioButton_trends_group.setObjectName("radioButton_trends_group") - self.gridLayout_24.addWidget(self.radioButton_trends_group, 2, 0, 1, 1) - self.pushButton_trends_add_top = QtWidgets.QPushButton(self.tab_15) - self.pushButton_trends_add_top.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_trends_add_top.sizePolicy().hasHeightForWidth()) - self.pushButton_trends_add_top.setSizePolicy(sizePolicy) - self.pushButton_trends_add_top.setObjectName("pushButton_trends_add_top") - self.gridLayout_24.addWidget(self.pushButton_trends_add_top, 6, 4, 1, 1) - self.line_18 = QtWidgets.QFrame(self.tab_15) - self.line_18.setFrameShape(QtWidgets.QFrame.HLine) - self.line_18.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_18.setObjectName("line_18") - self.gridLayout_24.addWidget(self.line_18, 1, 0, 1, 5) - self.radioButton_trends_sample = QtWidgets.QRadioButton(self.tab_15) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.radioButton_trends_sample.sizePolicy().hasHeightForWidth()) - self.radioButton_trends_sample.setSizePolicy(sizePolicy) - self.radioButton_trends_sample.setObjectName("radioButton_trends_sample") - self.gridLayout_24.addWidget(self.radioButton_trends_sample, 3, 0, 1, 1) - self.label_98 = QtWidgets.QLabel(self.tab_15) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_98.sizePolicy().hasHeightForWidth()) - self.label_98.setSizePolicy(sizePolicy) - self.label_98.setObjectName("label_98") - self.gridLayout_24.addWidget(self.label_98, 7, 0, 1, 1) - self.horizontalLayout_46 = QtWidgets.QHBoxLayout() - self.horizontalLayout_46.setObjectName("horizontalLayout_46") - self.label_99 = QtWidgets.QLabel(self.tab_15) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_99.sizePolicy().hasHeightForWidth()) - self.label_99.setSizePolicy(sizePolicy) - self.label_99.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_99.setObjectName("label_99") - self.horizontalLayout_46.addWidget(self.label_99) - self.spinBox_trends_top_num = QtWidgets.QSpinBox(self.tab_15) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_trends_top_num.sizePolicy().hasHeightForWidth()) - self.spinBox_trends_top_num.setSizePolicy(sizePolicy) - self.spinBox_trends_top_num.setMinimum(1) - self.spinBox_trends_top_num.setMaximum(99999) - self.spinBox_trends_top_num.setProperty("value", 10) - self.spinBox_trends_top_num.setObjectName("spinBox_trends_top_num") - self.horizontalLayout_46.addWidget(self.spinBox_trends_top_num) - self.label_91 = QtWidgets.QLabel(self.tab_15) + self.horizontalLayout_43 = QtWidgets.QHBoxLayout() + self.horizontalLayout_43.setObjectName("horizontalLayout_43") + self.label_73 = QtWidgets.QLabel(self.tab_5) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_91.sizePolicy().hasHeightForWidth()) - self.label_91.setSizePolicy(sizePolicy) - self.label_91.setObjectName("label_91") - self.horizontalLayout_46.addWidget(self.label_91) - self.comboBox_trends_top_by = QtWidgets.QComboBox(self.tab_15) - self.comboBox_trends_top_by.setObjectName("comboBox_trends_top_by") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.comboBox_trends_top_by.addItem("") - self.horizontalLayout_46.addWidget(self.comboBox_trends_top_by) - self.checkBox_trends_top_filtered = QtWidgets.QCheckBox(self.tab_15) - self.checkBox_trends_top_filtered.setObjectName("checkBox_trends_top_filtered") - self.horizontalLayout_46.addWidget(self.checkBox_trends_top_filtered) - self.gridLayout_24.addLayout(self.horizontalLayout_46, 6, 1, 1, 3) - self.line_31 = QtWidgets.QFrame(self.tab_15) - self.line_31.setFrameShape(QtWidgets.QFrame.HLine) - self.line_31.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_31.setObjectName("line_31") - self.gridLayout_24.addWidget(self.line_31, 9, 0, 1, 5) - self.verticalLayout_trends_group = QtWidgets.QVBoxLayout() - self.verticalLayout_trends_group.setObjectName("verticalLayout_trends_group") - self.gridLayout_24.addLayout(self.verticalLayout_trends_group, 2, 3, 1, 2) - self.line_19 = QtWidgets.QFrame(self.tab_15) - self.line_19.setFrameShape(QtWidgets.QFrame.HLine) - self.line_19.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_19.setObjectName("line_19") - self.gridLayout_24.addWidget(self.line_19, 4, 0, 1, 5) - self.verticalLayout_trends_sample = QtWidgets.QVBoxLayout() - self.verticalLayout_trends_sample.setObjectName("verticalLayout_trends_sample") - self.gridLayout_24.addLayout(self.verticalLayout_trends_sample, 3, 1, 1, 4) - self.pushButton_trends_add = QtWidgets.QPushButton(self.tab_15) - self.pushButton_trends_add.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_trends_add.sizePolicy().hasHeightForWidth()) - self.pushButton_trends_add.setSizePolicy(sizePolicy) - self.pushButton_trends_add.setObjectName("pushButton_trends_add") - self.gridLayout_24.addWidget(self.pushButton_trends_add, 5, 4, 1, 1) - self.verticalLayout_3 = QtWidgets.QVBoxLayout() - self.verticalLayout_3.setObjectName("verticalLayout_3") - self.pushButton_trends_drop_item = QtWidgets.QPushButton(self.tab_15) - self.pushButton_trends_drop_item.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.label_73.sizePolicy().hasHeightForWidth()) + self.label_73.setSizePolicy(sizePolicy) + self.label_73.setObjectName("label_73") + self.horizontalLayout_43.addWidget(self.label_73) + self.spinBox_co_expr_top_num = QtWidgets.QSpinBox(self.tab_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_trends_drop_item.sizePolicy().hasHeightForWidth()) - self.pushButton_trends_drop_item.setSizePolicy(sizePolicy) - self.pushButton_trends_drop_item.setObjectName("pushButton_trends_drop_item") - self.verticalLayout_3.addWidget(self.pushButton_trends_drop_item) - self.pushButton_trends_clean_list = QtWidgets.QPushButton(self.tab_15) - self.pushButton_trends_clean_list.setEnabled(False) + sizePolicy.setHeightForWidth(self.spinBox_co_expr_top_num.sizePolicy().hasHeightForWidth()) + self.spinBox_co_expr_top_num.setSizePolicy(sizePolicy) + self.spinBox_co_expr_top_num.setMinimum(1) + self.spinBox_co_expr_top_num.setMaximum(99999) + self.spinBox_co_expr_top_num.setProperty("value", 10) + self.spinBox_co_expr_top_num.setObjectName("spinBox_co_expr_top_num") + self.horizontalLayout_43.addWidget(self.spinBox_co_expr_top_num) + self.label_74 = QtWidgets.QLabel(self.tab_5) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_trends_clean_list.sizePolicy().hasHeightForWidth()) - self.pushButton_trends_clean_list.setSizePolicy(sizePolicy) - self.pushButton_trends_clean_list.setObjectName("pushButton_trends_clean_list") - self.verticalLayout_3.addWidget(self.pushButton_trends_clean_list) - self.pushButton_trends_add_a_list = QtWidgets.QPushButton(self.tab_15) - self.pushButton_trends_add_a_list.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.label_74.sizePolicy().hasHeightForWidth()) + self.label_74.setSizePolicy(sizePolicy) + self.label_74.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_74.setObjectName("label_74") + self.horizontalLayout_43.addWidget(self.label_74) + self.comboBox_co_expr_top_by = QtWidgets.QComboBox(self.tab_5) + self.comboBox_co_expr_top_by.setObjectName("comboBox_co_expr_top_by") + self.comboBox_co_expr_top_by.addItem("") + self.comboBox_co_expr_top_by.addItem("") + self.comboBox_co_expr_top_by.addItem("") + self.comboBox_co_expr_top_by.addItem("") + self.comboBox_co_expr_top_by.addItem("") + self.comboBox_co_expr_top_by.addItem("") + self.comboBox_co_expr_top_by.addItem("") + self.comboBox_co_expr_top_by.addItem("") + self.comboBox_co_expr_top_by.addItem("") + self.comboBox_co_expr_top_by.addItem("") + self.comboBox_co_expr_top_by.addItem("") + self.horizontalLayout_43.addWidget(self.comboBox_co_expr_top_by) + self.checkBox_co_expr_top_filtered = QtWidgets.QCheckBox(self.tab_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_trends_add_a_list.sizePolicy().hasHeightForWidth()) - self.pushButton_trends_add_a_list.setSizePolicy(sizePolicy) - self.pushButton_trends_add_a_list.setObjectName("pushButton_trends_add_a_list") - self.verticalLayout_3.addWidget(self.pushButton_trends_add_a_list) - self.gridLayout_24.addLayout(self.verticalLayout_3, 8, 0, 1, 1) - self.horizontalLayout_44 = QtWidgets.QHBoxLayout() - self.horizontalLayout_44.setObjectName("horizontalLayout_44") - self.label_96 = QtWidgets.QLabel(self.tab_15) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.checkBox_co_expr_top_filtered.sizePolicy().hasHeightForWidth()) + self.checkBox_co_expr_top_filtered.setSizePolicy(sizePolicy) + self.checkBox_co_expr_top_filtered.setObjectName("checkBox_co_expr_top_filtered") + self.horizontalLayout_43.addWidget(self.checkBox_co_expr_top_filtered) + self.gridLayout_47.addLayout(self.horizontalLayout_43, 6, 1, 1, 2) + self.tabWidget.addTab(self.tab_5, "") + self.tab_15 = QtWidgets.QWidget() + self.tab_15.setObjectName("tab_15") + self.gridLayout_24 = QtWidgets.QGridLayout(self.tab_15) + self.gridLayout_24.setObjectName("gridLayout_24") + self.horizontalLayout_115 = QtWidgets.QHBoxLayout() + self.horizontalLayout_115.setObjectName("horizontalLayout_115") + self.label_215 = QtWidgets.QLabel(self.tab_15) + self.label_215.setObjectName("label_215") + self.horizontalLayout_115.addWidget(self.label_215) + self.comboBox_trends_group_sample = QtWidgets.QComboBox(self.tab_15) + self.comboBox_trends_group_sample.setObjectName("comboBox_trends_group_sample") + self.comboBox_trends_group_sample.addItem("") + self.comboBox_trends_group_sample.addItem("") + self.horizontalLayout_115.addWidget(self.comboBox_trends_group_sample) + self.gridLayout_24.addLayout(self.horizontalLayout_115, 2, 0, 1, 1) + self.label_98 = QtWidgets.QLabel(self.tab_15) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_96.sizePolicy().hasHeightForWidth()) - self.label_96.setSizePolicy(sizePolicy) - self.label_96.setLayoutDirection(QtCore.Qt.LeftToRight) - self.label_96.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_96.setObjectName("label_96") - self.horizontalLayout_44.addWidget(self.label_96) - self.comboBox_trends_table = QtWidgets.QComboBox(self.tab_15) - self.comboBox_trends_table.setEnabled(False) - self.comboBox_trends_table.setObjectName("comboBox_trends_table") - self.comboBox_trends_table.addItem("") - self.comboBox_trends_table.addItem("") - self.comboBox_trends_table.addItem("") - self.comboBox_trends_table.addItem("") - self.horizontalLayout_44.addWidget(self.comboBox_trends_table) - self.label_148 = QtWidgets.QLabel(self.tab_15) - self.label_148.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_148.setObjectName("label_148") - self.horizontalLayout_44.addWidget(self.label_148) - self.comboBox_trends_meta = QtWidgets.QComboBox(self.tab_15) - self.comboBox_trends_meta.setObjectName("comboBox_trends_meta") - self.horizontalLayout_44.addWidget(self.comboBox_trends_meta) - self.gridLayout_24.addLayout(self.horizontalLayout_44, 0, 0, 1, 5) - self.label_100 = QtWidgets.QLabel(self.tab_15) - self.label_100.setObjectName("label_100") - self.gridLayout_24.addWidget(self.label_100, 5, 0, 1, 1) + sizePolicy.setHeightForWidth(self.label_98.sizePolicy().hasHeightForWidth()) + self.label_98.setSizePolicy(sizePolicy) + self.label_98.setObjectName("label_98") + self.gridLayout_24.addWidget(self.label_98, 6, 0, 1, 1) + self.line_18 = QtWidgets.QFrame(self.tab_15) + self.line_18.setFrameShape(QtWidgets.QFrame.HLine) + self.line_18.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_18.setObjectName("line_18") + self.gridLayout_24.addWidget(self.line_18, 1, 0, 1, 5) self.groupBox_expression_trends_plot_settings = QtWidgets.QGroupBox(self.tab_15) - self.groupBox_expression_trends_plot_settings.setMaximumSize(QtCore.QSize(16777215, 240)) + self.groupBox_expression_trends_plot_settings.setMaximumSize(QtCore.QSize(16777215, 260)) self.groupBox_expression_trends_plot_settings.setObjectName("groupBox_expression_trends_plot_settings") self.gridLayout_60 = QtWidgets.QGridLayout(self.groupBox_expression_trends_plot_settings) self.gridLayout_60.setObjectName("gridLayout_60") @@ -3848,7 +3825,7 @@ def setupUi(self, metaX_main): self.scrollArea_5.setWidgetResizable(True) self.scrollArea_5.setObjectName("scrollArea_5") self.scrollAreaWidgetContents_6 = QtWidgets.QWidget() - self.scrollAreaWidgetContents_6.setGeometry(QtCore.QRect(0, 0, 1016, 166)) + self.scrollAreaWidgetContents_6.setGeometry(QtCore.QRect(0, 0, 885, 119)) self.scrollAreaWidgetContents_6.setObjectName("scrollAreaWidgetContents_6") self.gridLayout_57 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_6) self.gridLayout_57.setObjectName("gridLayout_57") @@ -3916,72 +3893,258 @@ def setupUi(self, metaX_main): sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_trends_width.sizePolicy().hasHeightForWidth()) - self.spinBox_trends_width.setSizePolicy(sizePolicy) - self.spinBox_trends_width.setMinimum(1) - self.spinBox_trends_width.setMaximum(200) - self.spinBox_trends_width.setProperty("value", 16) - self.spinBox_trends_width.setObjectName("spinBox_trends_width") - self.horizontalLayout_97.addWidget(self.spinBox_trends_width) - self.gridLayout_59.addLayout(self.horizontalLayout_97, 0, 1, 1, 1) - self.horizontalLayout_98 = QtWidgets.QHBoxLayout() - self.horizontalLayout_98.setObjectName("horizontalLayout_98") - self.label_92 = QtWidgets.QLabel(self.scrollAreaWidgetContents_6) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.spinBox_trends_width.sizePolicy().hasHeightForWidth()) + self.spinBox_trends_width.setSizePolicy(sizePolicy) + self.spinBox_trends_width.setMinimum(1) + self.spinBox_trends_width.setMaximum(200) + self.spinBox_trends_width.setProperty("value", 16) + self.spinBox_trends_width.setObjectName("spinBox_trends_width") + self.horizontalLayout_97.addWidget(self.spinBox_trends_width) + self.gridLayout_59.addLayout(self.horizontalLayout_97, 0, 1, 1, 1) + self.horizontalLayout_98 = QtWidgets.QHBoxLayout() + self.horizontalLayout_98.setObjectName("horizontalLayout_98") + self.label_92 = QtWidgets.QLabel(self.scrollAreaWidgetContents_6) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_92.sizePolicy().hasHeightForWidth()) + self.label_92.setSizePolicy(sizePolicy) + self.label_92.setObjectName("label_92") + self.horizontalLayout_98.addWidget(self.label_92) + self.spinBox_trends_height = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_6) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.spinBox_trends_height.sizePolicy().hasHeightForWidth()) + self.spinBox_trends_height.setSizePolicy(sizePolicy) + self.spinBox_trends_height.setMinimum(1) + self.spinBox_trends_height.setMaximum(200) + self.spinBox_trends_height.setProperty("value", 9) + self.spinBox_trends_height.setObjectName("spinBox_trends_height") + self.horizontalLayout_98.addWidget(self.spinBox_trends_height) + self.gridLayout_59.addLayout(self.horizontalLayout_98, 0, 2, 1, 1) + self.horizontalLayout_99 = QtWidgets.QHBoxLayout() + self.horizontalLayout_99.setObjectName("horizontalLayout_99") + self.label_158 = QtWidgets.QLabel(self.scrollAreaWidgetContents_6) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_158.sizePolicy().hasHeightForWidth()) + self.label_158.setSizePolicy(sizePolicy) + self.label_158.setObjectName("label_158") + self.horizontalLayout_99.addWidget(self.label_158) + self.spinBox_trends_font_size = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_6) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.spinBox_trends_font_size.sizePolicy().hasHeightForWidth()) + self.spinBox_trends_font_size.setSizePolicy(sizePolicy) + self.spinBox_trends_font_size.setMinimum(1) + self.spinBox_trends_font_size.setProperty("value", 10) + self.spinBox_trends_font_size.setObjectName("spinBox_trends_font_size") + self.horizontalLayout_99.addWidget(self.spinBox_trends_font_size) + self.gridLayout_59.addLayout(self.horizontalLayout_99, 0, 4, 1, 1) + self.horizontalLayout_100 = QtWidgets.QHBoxLayout() + self.horizontalLayout_100.setObjectName("horizontalLayout_100") + self.label_195 = QtWidgets.QLabel(self.scrollAreaWidgetContents_6) + self.label_195.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_195.setObjectName("label_195") + self.horizontalLayout_100.addWidget(self.label_195) + self.spinBox_trends_num_col = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_6) + self.spinBox_trends_num_col.setMinimum(1) + self.spinBox_trends_num_col.setObjectName("spinBox_trends_num_col") + self.horizontalLayout_100.addWidget(self.spinBox_trends_num_col) + self.gridLayout_59.addLayout(self.horizontalLayout_100, 0, 5, 1, 3) + self.gridLayout_57.addLayout(self.gridLayout_59, 0, 0, 1, 1) + self.scrollArea_5.setWidget(self.scrollAreaWidgetContents_6) + self.gridLayout_60.addWidget(self.scrollArea_5, 0, 0, 1, 1) + self.gridLayout_24.addWidget(self.groupBox_expression_trends_plot_settings, 10, 0, 1, 5) + self.listWidget_trends_list_for_ploting = QtWidgets.QListWidget(self.tab_15) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.listWidget_trends_list_for_ploting.sizePolicy().hasHeightForWidth()) + self.listWidget_trends_list_for_ploting.setSizePolicy(sizePolicy) + self.listWidget_trends_list_for_ploting.setObjectName("listWidget_trends_list_for_ploting") + self.gridLayout_24.addWidget(self.listWidget_trends_list_for_ploting, 6, 1, 2, 4) + self.horizontalLayout_116 = QtWidgets.QHBoxLayout() + self.horizontalLayout_116.setObjectName("horizontalLayout_116") + self.horizontalLayout_45 = QtWidgets.QHBoxLayout() + self.horizontalLayout_45.setObjectName("horizontalLayout_45") + self.checkBox_trends_in_condition = QtWidgets.QCheckBox(self.tab_15) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.checkBox_trends_in_condition.sizePolicy().hasHeightForWidth()) + self.checkBox_trends_in_condition.setSizePolicy(sizePolicy) + self.checkBox_trends_in_condition.setLayoutDirection(QtCore.Qt.LeftToRight) + self.checkBox_trends_in_condition.setObjectName("checkBox_trends_in_condition") + self.horizontalLayout_45.addWidget(self.checkBox_trends_in_condition) + self.horizontalLayout_76 = QtWidgets.QHBoxLayout() + self.horizontalLayout_76.setObjectName("horizontalLayout_76") + self.comboBox_trends_condition_meta = QtWidgets.QComboBox(self.tab_15) + self.comboBox_trends_condition_meta.setEnabled(True) + self.comboBox_trends_condition_meta.setObjectName("comboBox_trends_condition_meta") + self.horizontalLayout_76.addWidget(self.comboBox_trends_condition_meta) + self.comboBox_trends_condition_group = QtWidgets.QComboBox(self.tab_15) + self.comboBox_trends_condition_group.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_trends_condition_group.sizePolicy().hasHeightForWidth()) + self.comboBox_trends_condition_group.setSizePolicy(sizePolicy) + self.comboBox_trends_condition_group.setObjectName("comboBox_trends_condition_group") + self.horizontalLayout_76.addWidget(self.comboBox_trends_condition_group) + self.horizontalLayout_45.addLayout(self.horizontalLayout_76) + self.horizontalLayout_116.addLayout(self.horizontalLayout_45) + self.verticalLayout_trends_group = QtWidgets.QVBoxLayout() + self.verticalLayout_trends_group.setObjectName("verticalLayout_trends_group") + self.horizontalLayout_116.addLayout(self.verticalLayout_trends_group) + self.verticalLayout_trends_sample = QtWidgets.QVBoxLayout() + self.verticalLayout_trends_sample.setObjectName("verticalLayout_trends_sample") + self.horizontalLayout_116.addLayout(self.verticalLayout_trends_sample) + self.gridLayout_24.addLayout(self.horizontalLayout_116, 2, 1, 1, 4) + self.pushButton_trends_add = QtWidgets.QPushButton(self.tab_15) + self.pushButton_trends_add.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_trends_add.sizePolicy().hasHeightForWidth()) + self.pushButton_trends_add.setSizePolicy(sizePolicy) + self.pushButton_trends_add.setObjectName("pushButton_trends_add") + self.gridLayout_24.addWidget(self.pushButton_trends_add, 4, 4, 1, 1) + self.horizontalLayout_46 = QtWidgets.QHBoxLayout() + self.horizontalLayout_46.setObjectName("horizontalLayout_46") + self.label_99 = QtWidgets.QLabel(self.tab_15) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_99.sizePolicy().hasHeightForWidth()) + self.label_99.setSizePolicy(sizePolicy) + self.label_99.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_99.setObjectName("label_99") + self.horizontalLayout_46.addWidget(self.label_99) + self.spinBox_trends_top_num = QtWidgets.QSpinBox(self.tab_15) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.spinBox_trends_top_num.sizePolicy().hasHeightForWidth()) + self.spinBox_trends_top_num.setSizePolicy(sizePolicy) + self.spinBox_trends_top_num.setMinimum(1) + self.spinBox_trends_top_num.setMaximum(99999) + self.spinBox_trends_top_num.setProperty("value", 10) + self.spinBox_trends_top_num.setObjectName("spinBox_trends_top_num") + self.horizontalLayout_46.addWidget(self.spinBox_trends_top_num) + self.label_91 = QtWidgets.QLabel(self.tab_15) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_91.sizePolicy().hasHeightForWidth()) + self.label_91.setSizePolicy(sizePolicy) + self.label_91.setObjectName("label_91") + self.horizontalLayout_46.addWidget(self.label_91) + self.comboBox_trends_top_by = QtWidgets.QComboBox(self.tab_15) + self.comboBox_trends_top_by.setObjectName("comboBox_trends_top_by") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.comboBox_trends_top_by.addItem("") + self.horizontalLayout_46.addWidget(self.comboBox_trends_top_by) + self.checkBox_trends_top_filtered = QtWidgets.QCheckBox(self.tab_15) + self.checkBox_trends_top_filtered.setObjectName("checkBox_trends_top_filtered") + self.horizontalLayout_46.addWidget(self.checkBox_trends_top_filtered) + self.gridLayout_24.addLayout(self.horizontalLayout_46, 5, 1, 1, 3) + self.verticalLayout_3 = QtWidgets.QVBoxLayout() + self.verticalLayout_3.setObjectName("verticalLayout_3") + self.pushButton_trends_drop_item = QtWidgets.QPushButton(self.tab_15) + self.pushButton_trends_drop_item.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_trends_drop_item.sizePolicy().hasHeightForWidth()) + self.pushButton_trends_drop_item.setSizePolicy(sizePolicy) + self.pushButton_trends_drop_item.setObjectName("pushButton_trends_drop_item") + self.verticalLayout_3.addWidget(self.pushButton_trends_drop_item) + self.pushButton_trends_clean_list = QtWidgets.QPushButton(self.tab_15) + self.pushButton_trends_clean_list.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_92.sizePolicy().hasHeightForWidth()) - self.label_92.setSizePolicy(sizePolicy) - self.label_92.setObjectName("label_92") - self.horizontalLayout_98.addWidget(self.label_92) - self.spinBox_trends_height = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_6) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.pushButton_trends_clean_list.sizePolicy().hasHeightForWidth()) + self.pushButton_trends_clean_list.setSizePolicy(sizePolicy) + self.pushButton_trends_clean_list.setObjectName("pushButton_trends_clean_list") + self.verticalLayout_3.addWidget(self.pushButton_trends_clean_list) + self.pushButton_trends_add_a_list = QtWidgets.QPushButton(self.tab_15) + self.pushButton_trends_add_a_list.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_trends_height.sizePolicy().hasHeightForWidth()) - self.spinBox_trends_height.setSizePolicy(sizePolicy) - self.spinBox_trends_height.setMinimum(1) - self.spinBox_trends_height.setMaximum(200) - self.spinBox_trends_height.setProperty("value", 9) - self.spinBox_trends_height.setObjectName("spinBox_trends_height") - self.horizontalLayout_98.addWidget(self.spinBox_trends_height) - self.gridLayout_59.addLayout(self.horizontalLayout_98, 0, 2, 1, 1) - self.horizontalLayout_99 = QtWidgets.QHBoxLayout() - self.horizontalLayout_99.setObjectName("horizontalLayout_99") - self.label_158 = QtWidgets.QLabel(self.scrollAreaWidgetContents_6) + sizePolicy.setHeightForWidth(self.pushButton_trends_add_a_list.sizePolicy().hasHeightForWidth()) + self.pushButton_trends_add_a_list.setSizePolicy(sizePolicy) + self.pushButton_trends_add_a_list.setObjectName("pushButton_trends_add_a_list") + self.verticalLayout_3.addWidget(self.pushButton_trends_add_a_list) + self.gridLayout_24.addLayout(self.verticalLayout_3, 7, 0, 1, 1) + self.line_19 = QtWidgets.QFrame(self.tab_15) + self.line_19.setFrameShape(QtWidgets.QFrame.HLine) + self.line_19.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_19.setObjectName("line_19") + self.gridLayout_24.addWidget(self.line_19, 3, 0, 1, 5) + self.label_100 = QtWidgets.QLabel(self.tab_15) + self.label_100.setObjectName("label_100") + self.gridLayout_24.addWidget(self.label_100, 4, 0, 1, 1) + self.horizontalLayout_44 = QtWidgets.QHBoxLayout() + self.horizontalLayout_44.setObjectName("horizontalLayout_44") + self.label_96 = QtWidgets.QLabel(self.tab_15) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_158.sizePolicy().hasHeightForWidth()) - self.label_158.setSizePolicy(sizePolicy) - self.label_158.setObjectName("label_158") - self.horizontalLayout_99.addWidget(self.label_158) - self.spinBox_trends_font_size = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_6) + sizePolicy.setHeightForWidth(self.label_96.sizePolicy().hasHeightForWidth()) + self.label_96.setSizePolicy(sizePolicy) + self.label_96.setLayoutDirection(QtCore.Qt.LeftToRight) + self.label_96.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_96.setObjectName("label_96") + self.horizontalLayout_44.addWidget(self.label_96) + self.comboBox_trends_table = QtWidgets.QComboBox(self.tab_15) + self.comboBox_trends_table.setEnabled(False) + self.comboBox_trends_table.setObjectName("comboBox_trends_table") + self.comboBox_trends_table.addItem("") + self.comboBox_trends_table.addItem("") + self.comboBox_trends_table.addItem("") + self.comboBox_trends_table.addItem("") + self.horizontalLayout_44.addWidget(self.comboBox_trends_table) + self.label_148 = QtWidgets.QLabel(self.tab_15) + self.label_148.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_148.setObjectName("label_148") + self.horizontalLayout_44.addWidget(self.label_148) + self.comboBox_trends_meta = QtWidgets.QComboBox(self.tab_15) + self.comboBox_trends_meta.setObjectName("comboBox_trends_meta") + self.horizontalLayout_44.addWidget(self.comboBox_trends_meta) + self.gridLayout_24.addLayout(self.horizontalLayout_44, 0, 0, 1, 5) + self.comboBox_trends_selection_list = QtWidgets.QComboBox(self.tab_15) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_trends_selection_list.sizePolicy().hasHeightForWidth()) + self.comboBox_trends_selection_list.setSizePolicy(sizePolicy) + self.comboBox_trends_selection_list.setMinimumSize(QtCore.QSize(600, 0)) + self.comboBox_trends_selection_list.setObjectName("comboBox_trends_selection_list") + self.gridLayout_24.addWidget(self.comboBox_trends_selection_list, 4, 1, 1, 3) + self.pushButton_trends_add_top = QtWidgets.QPushButton(self.tab_15) + self.pushButton_trends_add_top.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_trends_font_size.sizePolicy().hasHeightForWidth()) - self.spinBox_trends_font_size.setSizePolicy(sizePolicy) - self.spinBox_trends_font_size.setMinimum(1) - self.spinBox_trends_font_size.setProperty("value", 10) - self.spinBox_trends_font_size.setObjectName("spinBox_trends_font_size") - self.horizontalLayout_99.addWidget(self.spinBox_trends_font_size) - self.gridLayout_59.addLayout(self.horizontalLayout_99, 0, 4, 1, 1) - self.horizontalLayout_100 = QtWidgets.QHBoxLayout() - self.horizontalLayout_100.setObjectName("horizontalLayout_100") - self.label_195 = QtWidgets.QLabel(self.scrollAreaWidgetContents_6) - self.label_195.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_195.setObjectName("label_195") - self.horizontalLayout_100.addWidget(self.label_195) - self.spinBox_trends_num_col = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_6) - self.spinBox_trends_num_col.setMinimum(1) - self.spinBox_trends_num_col.setObjectName("spinBox_trends_num_col") - self.horizontalLayout_100.addWidget(self.spinBox_trends_num_col) - self.gridLayout_59.addLayout(self.horizontalLayout_100, 0, 5, 1, 3) - self.gridLayout_57.addLayout(self.gridLayout_59, 0, 0, 1, 1) - self.scrollArea_5.setWidget(self.scrollAreaWidgetContents_6) - self.gridLayout_60.addWidget(self.scrollArea_5, 0, 0, 1, 1) - self.gridLayout_24.addWidget(self.groupBox_expression_trends_plot_settings, 11, 0, 1, 5) + sizePolicy.setHeightForWidth(self.pushButton_trends_add_top.sizePolicy().hasHeightForWidth()) + self.pushButton_trends_add_top.setSizePolicy(sizePolicy) + self.pushButton_trends_add_top.setObjectName("pushButton_trends_add_top") + self.gridLayout_24.addWidget(self.pushButton_trends_add_top, 5, 4, 1, 1) self.gridLayout_61 = QtWidgets.QGridLayout() self.gridLayout_61.setObjectName("gridLayout_61") self.label_93 = QtWidgets.QLabel(self.tab_15) @@ -4047,7 +4210,12 @@ def setupUi(self, metaX_main): self.checkBox_5 = QtWidgets.QCheckBox(self.tab_15) self.checkBox_5.setObjectName("checkBox_5") self.gridLayout_61.addWidget(self.checkBox_5, 3, 0, 1, 1) - self.gridLayout_24.addLayout(self.gridLayout_61, 10, 0, 1, 5) + self.gridLayout_24.addLayout(self.gridLayout_61, 9, 0, 1, 5) + self.line_31 = QtWidgets.QFrame(self.tab_15) + self.line_31.setFrameShape(QtWidgets.QFrame.HLine) + self.line_31.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_31.setObjectName("line_31") + self.gridLayout_24.addWidget(self.line_31, 8, 0, 1, 5) self.tabWidget.addTab(self.tab_15, "") self.gridLayout_12.addWidget(self.tabWidget, 0, 0, 1, 1) self.tabWidget_TaxaFuncAnalyzer.addTab(self.tab_diff_stats, "") @@ -4097,131 +4265,60 @@ def setupUi(self, metaX_main): self.checkBox_6 = QtWidgets.QCheckBox(self.tab_8) self.checkBox_6.setObjectName("checkBox_6") self.gridLayout_62.addWidget(self.checkBox_6, 1, 0, 1, 1) - self.gridLayout_4.addLayout(self.gridLayout_62, 9, 0, 1, 4) - self.line_32 = QtWidgets.QFrame(self.tab_8) - self.line_32.setFrameShape(QtWidgets.QFrame.HLine) - self.line_32.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_32.setObjectName("line_32") - self.gridLayout_4.addWidget(self.line_32, 8, 0, 1, 4) - self.gridLayout_tflink_sample = QtWidgets.QGridLayout() - self.gridLayout_tflink_sample.setObjectName("gridLayout_tflink_sample") - self.gridLayout_4.addLayout(self.gridLayout_tflink_sample, 3, 1, 1, 3) - self.radioButton_tflink_group = QtWidgets.QRadioButton(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.radioButton_tflink_group.sizePolicy().hasHeightForWidth()) - self.radioButton_tflink_group.setSizePolicy(sizePolicy) - self.radioButton_tflink_group.setChecked(True) - self.radioButton_tflink_group.setObjectName("radioButton_tflink_group") - self.gridLayout_4.addWidget(self.radioButton_tflink_group, 2, 0, 1, 1) - self.horizontalLayout_81 = QtWidgets.QHBoxLayout() - self.horizontalLayout_81.setObjectName("horizontalLayout_81") - self.label_others_func_num = QtWidgets.QLabel(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_others_func_num.sizePolicy().hasHeightForWidth()) - self.label_others_func_num.setSizePolicy(sizePolicy) - self.label_others_func_num.setObjectName("label_others_func_num") - self.horizontalLayout_81.addWidget(self.label_others_func_num) - self.pushButton_others_show_linked_taxa = QtWidgets.QPushButton(self.tab_8) - self.pushButton_others_show_linked_taxa.setEnabled(False) + self.gridLayout_4.addLayout(self.gridLayout_62, 8, 0, 1, 4) + self.label_18 = QtWidgets.QLabel(self.tab_8) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_others_show_linked_taxa.sizePolicy().hasHeightForWidth()) - self.pushButton_others_show_linked_taxa.setSizePolicy(sizePolicy) - self.pushButton_others_show_linked_taxa.setObjectName("pushButton_others_show_linked_taxa") - self.horizontalLayout_81.addWidget(self.pushButton_others_show_linked_taxa) - self.gridLayout_4.addLayout(self.horizontalLayout_81, 6, 3, 1, 1) - self.pushButton_others_fresh_taxa_func = QtWidgets.QPushButton(self.tab_8) - self.pushButton_others_fresh_taxa_func.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_others_fresh_taxa_func.sizePolicy().hasHeightForWidth()) - self.pushButton_others_fresh_taxa_func.setSizePolicy(sizePolicy) - self.pushButton_others_fresh_taxa_func.setObjectName("pushButton_others_fresh_taxa_func") - self.gridLayout_4.addWidget(self.pushButton_others_fresh_taxa_func, 5, 3, 1, 1) - self.horizontalLayout_50 = QtWidgets.QHBoxLayout() - self.horizontalLayout_50.setObjectName("horizontalLayout_50") - self.label_75 = QtWidgets.QLabel(self.tab_8) - self.label_75.setObjectName("label_75") - self.horizontalLayout_50.addWidget(self.label_75) - self.spinBox_tflink_top_num = QtWidgets.QSpinBox(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_tflink_top_num.sizePolicy().hasHeightForWidth()) - self.spinBox_tflink_top_num.setSizePolicy(sizePolicy) - self.spinBox_tflink_top_num.setMinimum(1) - self.spinBox_tflink_top_num.setMaximum(99999) - self.spinBox_tflink_top_num.setProperty("value", 10) - self.spinBox_tflink_top_num.setObjectName("spinBox_tflink_top_num") - self.horizontalLayout_50.addWidget(self.spinBox_tflink_top_num) - self.label_76 = QtWidgets.QLabel(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.label_18.sizePolicy().hasHeightForWidth()) + self.label_18.setSizePolicy(sizePolicy) + self.label_18.setObjectName("label_18") + self.gridLayout_4.addWidget(self.label_18, 5, 0, 1, 1) + self.comboBox_tflink_meta = QtWidgets.QComboBox(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_76.sizePolicy().hasHeightForWidth()) - self.label_76.setSizePolicy(sizePolicy) - self.label_76.setAlignment(QtCore.Qt.AlignCenter) - self.label_76.setObjectName("label_76") - self.horizontalLayout_50.addWidget(self.label_76) - self.comboBox_tflink_top_by = QtWidgets.QComboBox(self.tab_8) - self.comboBox_tflink_top_by.setObjectName("comboBox_tflink_top_by") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.comboBox_tflink_top_by.addItem("") - self.horizontalLayout_50.addWidget(self.comboBox_tflink_top_by) - self.checkBox_tflink_top_filtered = QtWidgets.QCheckBox(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.comboBox_tflink_meta.sizePolicy().hasHeightForWidth()) + self.comboBox_tflink_meta.setSizePolicy(sizePolicy) + self.comboBox_tflink_meta.setLayoutDirection(QtCore.Qt.LeftToRight) + self.comboBox_tflink_meta.setObjectName("comboBox_tflink_meta") + self.gridLayout_4.addWidget(self.comboBox_tflink_meta, 0, 1, 1, 1) + self.horizontalLayout_101 = QtWidgets.QHBoxLayout() + self.horizontalLayout_101.setObjectName("horizontalLayout_101") + self.label_196 = QtWidgets.QLabel(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_tflink_top_filtered.sizePolicy().hasHeightForWidth()) - self.checkBox_tflink_top_filtered.setSizePolicy(sizePolicy) - self.checkBox_tflink_top_filtered.setObjectName("checkBox_tflink_top_filtered") - self.horizontalLayout_50.addWidget(self.checkBox_tflink_top_filtered) - self.pushButton_tflink_filter = QtWidgets.QPushButton(self.tab_8) - self.pushButton_tflink_filter.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.label_196.sizePolicy().hasHeightForWidth()) + self.label_196.setSizePolicy(sizePolicy) + self.label_196.setObjectName("label_196") + self.horizontalLayout_101.addWidget(self.label_196) + self.comboBox_tflink_sub_meta = QtWidgets.QComboBox(self.tab_8) + self.comboBox_tflink_sub_meta.setObjectName("comboBox_tflink_sub_meta") + self.horizontalLayout_101.addWidget(self.comboBox_tflink_sub_meta) + self.gridLayout_4.addLayout(self.horizontalLayout_101, 0, 2, 1, 1) + self.horizontalLayout_82 = QtWidgets.QHBoxLayout() + self.horizontalLayout_82.setObjectName("horizontalLayout_82") + self.label_others_taxa_num = QtWidgets.QLabel(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_tflink_filter.sizePolicy().hasHeightForWidth()) - self.pushButton_tflink_filter.setSizePolicy(sizePolicy) - self.pushButton_tflink_filter.setObjectName("pushButton_tflink_filter") - self.horizontalLayout_50.addWidget(self.pushButton_tflink_filter) - self.gridLayout_4.addLayout(self.horizontalLayout_50, 5, 1, 1, 2) - self.gridLayout_tflink_group = QtWidgets.QGridLayout() - self.gridLayout_tflink_group.setObjectName("gridLayout_tflink_group") - self.gridLayout_4.addLayout(self.gridLayout_tflink_group, 2, 2, 1, 2) - self.label_19 = QtWidgets.QLabel(self.tab_8) + sizePolicy.setHeightForWidth(self.label_others_taxa_num.sizePolicy().hasHeightForWidth()) + self.label_others_taxa_num.setSizePolicy(sizePolicy) + self.label_others_taxa_num.setObjectName("label_others_taxa_num") + self.horizontalLayout_82.addWidget(self.label_others_taxa_num) + self.pushButton_others_show_linked_func = QtWidgets.QPushButton(self.tab_8) + self.pushButton_others_show_linked_func.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_19.sizePolicy().hasHeightForWidth()) - self.label_19.setSizePolicy(sizePolicy) - self.label_19.setObjectName("label_19") - self.gridLayout_4.addWidget(self.label_19, 7, 0, 1, 1) - self.label_149 = QtWidgets.QLabel(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_149.sizePolicy().hasHeightForWidth()) - self.label_149.setSizePolicy(sizePolicy) - self.label_149.setObjectName("label_149") - self.gridLayout_4.addWidget(self.label_149, 0, 0, 1, 1) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_others_show_linked_func.sizePolicy().hasHeightForWidth()) + self.pushButton_others_show_linked_func.setSizePolicy(sizePolicy) + self.pushButton_others_show_linked_func.setObjectName("pushButton_others_show_linked_func") + self.horizontalLayout_82.addWidget(self.pushButton_others_show_linked_func) + self.gridLayout_4.addLayout(self.horizontalLayout_82, 6, 3, 1, 1) self.groupBox_taxa_func_link_plot_settings = QtWidgets.QGroupBox(self.tab_8) - self.groupBox_taxa_func_link_plot_settings.setMaximumSize(QtCore.QSize(16777215, 240)) + self.groupBox_taxa_func_link_plot_settings.setMaximumSize(QtCore.QSize(16777215, 260)) self.groupBox_taxa_func_link_plot_settings.setObjectName("groupBox_taxa_func_link_plot_settings") self.gridLayout_65 = QtWidgets.QGridLayout(self.groupBox_taxa_func_link_plot_settings) self.gridLayout_65.setObjectName("gridLayout_65") @@ -4229,7 +4326,7 @@ def setupUi(self, metaX_main): self.scrollArea_6.setWidgetResizable(True) self.scrollArea_6.setObjectName("scrollArea_6") self.scrollAreaWidgetContents_7 = QtWidgets.QWidget() - self.scrollAreaWidgetContents_7.setGeometry(QtCore.QRect(0, 0, 775, 102)) + self.scrollAreaWidgetContents_7.setGeometry(QtCore.QRect(0, 0, 885, 225)) self.scrollAreaWidgetContents_7.setObjectName("scrollAreaWidgetContents_7") self.gridLayout_69 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_7) self.gridLayout_69.setObjectName("gridLayout_69") @@ -4485,44 +4582,32 @@ def setupUi(self, metaX_main): self.gridLayout_69.addLayout(self.gridLayout_67, 0, 0, 1, 1) self.scrollArea_6.setWidget(self.scrollAreaWidgetContents_7) self.gridLayout_65.addWidget(self.scrollArea_6, 0, 0, 1, 1) - self.gridLayout_4.addWidget(self.groupBox_taxa_func_link_plot_settings, 10, 0, 1, 4) - self.comboBox_tflink_meta = QtWidgets.QComboBox(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_tflink_meta.sizePolicy().hasHeightForWidth()) - self.comboBox_tflink_meta.setSizePolicy(sizePolicy) - self.comboBox_tflink_meta.setLayoutDirection(QtCore.Qt.LeftToRight) - self.comboBox_tflink_meta.setObjectName("comboBox_tflink_meta") - self.gridLayout_4.addWidget(self.comboBox_tflink_meta, 0, 1, 1, 1) - self.horizontalLayout_82 = QtWidgets.QHBoxLayout() - self.horizontalLayout_82.setObjectName("horizontalLayout_82") - self.label_others_taxa_num = QtWidgets.QLabel(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_others_taxa_num.sizePolicy().hasHeightForWidth()) - self.label_others_taxa_num.setSizePolicy(sizePolicy) - self.label_others_taxa_num.setObjectName("label_others_taxa_num") - self.horizontalLayout_82.addWidget(self.label_others_taxa_num) - self.pushButton_others_show_linked_func = QtWidgets.QPushButton(self.tab_8) - self.pushButton_others_show_linked_func.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_others_show_linked_func.sizePolicy().hasHeightForWidth()) - self.pushButton_others_show_linked_func.setSizePolicy(sizePolicy) - self.pushButton_others_show_linked_func.setObjectName("pushButton_others_show_linked_func") - self.horizontalLayout_82.addWidget(self.pushButton_others_show_linked_func) - self.gridLayout_4.addLayout(self.horizontalLayout_82, 7, 3, 1, 1) - self.radioButton_tflink_sample = QtWidgets.QRadioButton(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + self.gridLayout_4.addWidget(self.groupBox_taxa_func_link_plot_settings, 9, 0, 1, 4) + self.comboBox_others_func = QtWidgets.QComboBox(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.radioButton_tflink_sample.sizePolicy().hasHeightForWidth()) - self.radioButton_tflink_sample.setSizePolicy(sizePolicy) - self.radioButton_tflink_sample.setObjectName("radioButton_tflink_sample") - self.gridLayout_4.addWidget(self.radioButton_tflink_sample, 3, 0, 1, 1) + sizePolicy.setHeightForWidth(self.comboBox_others_func.sizePolicy().hasHeightForWidth()) + self.comboBox_others_func.setSizePolicy(sizePolicy) + self.comboBox_others_func.setEditable(True) + self.comboBox_others_func.setObjectName("comboBox_others_func") + self.gridLayout_4.addWidget(self.comboBox_others_func, 5, 1, 1, 2) + self.horizontalLayout_117 = QtWidgets.QHBoxLayout() + self.horizontalLayout_117.setObjectName("horizontalLayout_117") + self.label_216 = QtWidgets.QLabel(self.tab_8) + self.label_216.setObjectName("label_216") + self.horizontalLayout_117.addWidget(self.label_216) + self.comboBox_tflink_group_sample = QtWidgets.QComboBox(self.tab_8) + self.comboBox_tflink_group_sample.setObjectName("comboBox_tflink_group_sample") + self.comboBox_tflink_group_sample.addItem("") + self.comboBox_tflink_group_sample.addItem("") + self.horizontalLayout_117.addWidget(self.comboBox_tflink_group_sample) + self.gridLayout_4.addLayout(self.horizontalLayout_117, 2, 0, 1, 1) + self.line_32 = QtWidgets.QFrame(self.tab_8) + self.line_32.setFrameShape(QtWidgets.QFrame.HLine) + self.line_32.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_32.setObjectName("line_32") + self.gridLayout_4.addWidget(self.line_32, 7, 0, 1, 4) self.line_3 = QtWidgets.QFrame(self.tab_8) self.line_3.setFrameShape(QtWidgets.QFrame.HLine) self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken) @@ -4532,7 +4617,120 @@ def setupUi(self, metaX_main): self.line_6.setFrameShape(QtWidgets.QFrame.HLine) self.line_6.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_6.setObjectName("line_6") - self.gridLayout_4.addWidget(self.line_6, 4, 0, 1, 4) + self.gridLayout_4.addWidget(self.line_6, 3, 0, 1, 4) + self.pushButton_others_fresh_taxa_func = QtWidgets.QPushButton(self.tab_8) + self.pushButton_others_fresh_taxa_func.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_others_fresh_taxa_func.sizePolicy().hasHeightForWidth()) + self.pushButton_others_fresh_taxa_func.setSizePolicy(sizePolicy) + self.pushButton_others_fresh_taxa_func.setObjectName("pushButton_others_fresh_taxa_func") + self.gridLayout_4.addWidget(self.pushButton_others_fresh_taxa_func, 4, 3, 1, 1) + self.horizontalLayout_81 = QtWidgets.QHBoxLayout() + self.horizontalLayout_81.setObjectName("horizontalLayout_81") + self.label_others_func_num = QtWidgets.QLabel(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_others_func_num.sizePolicy().hasHeightForWidth()) + self.label_others_func_num.setSizePolicy(sizePolicy) + self.label_others_func_num.setObjectName("label_others_func_num") + self.horizontalLayout_81.addWidget(self.label_others_func_num) + self.pushButton_others_show_linked_taxa = QtWidgets.QPushButton(self.tab_8) + self.pushButton_others_show_linked_taxa.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_others_show_linked_taxa.sizePolicy().hasHeightForWidth()) + self.pushButton_others_show_linked_taxa.setSizePolicy(sizePolicy) + self.pushButton_others_show_linked_taxa.setObjectName("pushButton_others_show_linked_taxa") + self.horizontalLayout_81.addWidget(self.pushButton_others_show_linked_taxa) + self.gridLayout_4.addLayout(self.horizontalLayout_81, 5, 3, 1, 1) + self.label_19 = QtWidgets.QLabel(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_19.sizePolicy().hasHeightForWidth()) + self.label_19.setSizePolicy(sizePolicy) + self.label_19.setObjectName("label_19") + self.gridLayout_4.addWidget(self.label_19, 6, 0, 1, 1) + self.label_149 = QtWidgets.QLabel(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_149.sizePolicy().hasHeightForWidth()) + self.label_149.setSizePolicy(sizePolicy) + self.label_149.setObjectName("label_149") + self.gridLayout_4.addWidget(self.label_149, 0, 0, 1, 1) + self.comboBox_others_taxa = QtWidgets.QComboBox(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_others_taxa.sizePolicy().hasHeightForWidth()) + self.comboBox_others_taxa.setSizePolicy(sizePolicy) + self.comboBox_others_taxa.setEditable(True) + self.comboBox_others_taxa.setObjectName("comboBox_others_taxa") + self.gridLayout_4.addWidget(self.comboBox_others_taxa, 6, 1, 1, 2) + self.horizontalLayout_50 = QtWidgets.QHBoxLayout() + self.horizontalLayout_50.setObjectName("horizontalLayout_50") + self.label_75 = QtWidgets.QLabel(self.tab_8) + self.label_75.setObjectName("label_75") + self.horizontalLayout_50.addWidget(self.label_75) + self.spinBox_tflink_top_num = QtWidgets.QSpinBox(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.spinBox_tflink_top_num.sizePolicy().hasHeightForWidth()) + self.spinBox_tflink_top_num.setSizePolicy(sizePolicy) + self.spinBox_tflink_top_num.setMinimum(1) + self.spinBox_tflink_top_num.setMaximum(99999) + self.spinBox_tflink_top_num.setProperty("value", 10) + self.spinBox_tflink_top_num.setObjectName("spinBox_tflink_top_num") + self.horizontalLayout_50.addWidget(self.spinBox_tflink_top_num) + self.label_76 = QtWidgets.QLabel(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_76.sizePolicy().hasHeightForWidth()) + self.label_76.setSizePolicy(sizePolicy) + self.label_76.setAlignment(QtCore.Qt.AlignCenter) + self.label_76.setObjectName("label_76") + self.horizontalLayout_50.addWidget(self.label_76) + self.comboBox_tflink_top_by = QtWidgets.QComboBox(self.tab_8) + self.comboBox_tflink_top_by.setObjectName("comboBox_tflink_top_by") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.comboBox_tflink_top_by.addItem("") + self.horizontalLayout_50.addWidget(self.comboBox_tflink_top_by) + self.checkBox_tflink_top_filtered = QtWidgets.QCheckBox(self.tab_8) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.checkBox_tflink_top_filtered.sizePolicy().hasHeightForWidth()) + self.checkBox_tflink_top_filtered.setSizePolicy(sizePolicy) + self.checkBox_tflink_top_filtered.setObjectName("checkBox_tflink_top_filtered") + self.horizontalLayout_50.addWidget(self.checkBox_tflink_top_filtered) + self.pushButton_tflink_filter = QtWidgets.QPushButton(self.tab_8) + self.pushButton_tflink_filter.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_tflink_filter.sizePolicy().hasHeightForWidth()) + self.pushButton_tflink_filter.setSizePolicy(sizePolicy) + self.pushButton_tflink_filter.setObjectName("pushButton_tflink_filter") + self.horizontalLayout_50.addWidget(self.pushButton_tflink_filter) + self.gridLayout_4.addLayout(self.horizontalLayout_50, 4, 1, 1, 2) + self.horizontalLayout_118 = QtWidgets.QHBoxLayout() + self.horizontalLayout_118.setObjectName("horizontalLayout_118") self.horizontalLayout_78 = QtWidgets.QHBoxLayout() self.horizontalLayout_78.setObjectName("horizontalLayout_78") self.checkBox_tflink_in_condition = QtWidgets.QCheckBox(self.tab_8) @@ -4544,21 +4742,21 @@ def setupUi(self, metaX_main): self.checkBox_tflink_in_condition.setLayoutDirection(QtCore.Qt.LeftToRight) self.checkBox_tflink_in_condition.setObjectName("checkBox_tflink_in_condition") self.horizontalLayout_78.addWidget(self.checkBox_tflink_in_condition) + self.horizontalLayout_49 = QtWidgets.QHBoxLayout() + self.horizontalLayout_49.setObjectName("horizontalLayout_49") + self.horizontalLayout_77 = QtWidgets.QHBoxLayout() + self.horizontalLayout_77.setObjectName("horizontalLayout_77") self.comboBox_tflink_condition_meta = QtWidgets.QComboBox(self.tab_8) - self.comboBox_tflink_condition_meta.setEnabled(False) + self.comboBox_tflink_condition_meta.setEnabled(True) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.comboBox_tflink_condition_meta.sizePolicy().hasHeightForWidth()) self.comboBox_tflink_condition_meta.setSizePolicy(sizePolicy) self.comboBox_tflink_condition_meta.setObjectName("comboBox_tflink_condition_meta") - self.horizontalLayout_78.addWidget(self.comboBox_tflink_condition_meta) - self.horizontalLayout_49 = QtWidgets.QHBoxLayout() - self.horizontalLayout_49.setObjectName("horizontalLayout_49") - self.horizontalLayout_77 = QtWidgets.QHBoxLayout() - self.horizontalLayout_77.setObjectName("horizontalLayout_77") + self.horizontalLayout_77.addWidget(self.comboBox_tflink_condition_meta) self.comboBox_tflink_condition_group = QtWidgets.QComboBox(self.tab_8) - self.comboBox_tflink_condition_group.setEnabled(False) + self.comboBox_tflink_condition_group.setEnabled(True) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -4569,60 +4767,93 @@ def setupUi(self, metaX_main): self.horizontalLayout_77.addWidget(self.comboBox_tflink_condition_group) self.horizontalLayout_49.addLayout(self.horizontalLayout_77) self.horizontalLayout_78.addLayout(self.horizontalLayout_49) - self.gridLayout_4.addLayout(self.horizontalLayout_78, 2, 1, 1, 1) - self.comboBox_others_func = QtWidgets.QComboBox(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + self.horizontalLayout_118.addLayout(self.horizontalLayout_78) + self.gridLayout_tflink_group = QtWidgets.QGridLayout() + self.gridLayout_tflink_group.setObjectName("gridLayout_tflink_group") + self.horizontalLayout_118.addLayout(self.gridLayout_tflink_group) + self.gridLayout_tflink_sample = QtWidgets.QGridLayout() + self.gridLayout_tflink_sample.setObjectName("gridLayout_tflink_sample") + self.horizontalLayout_118.addLayout(self.gridLayout_tflink_sample) + self.gridLayout_4.addLayout(self.horizontalLayout_118, 2, 1, 1, 3) + self.tabWidget_2.addTab(self.tab_8, "") + self.tab_9 = QtWidgets.QWidget() + self.tab_9.setObjectName("tab_9") + self.gridLayout_6 = QtWidgets.QGridLayout(self.tab_9) + self.gridLayout_6.setObjectName("gridLayout_6") + self.horizontalLayout_58 = QtWidgets.QHBoxLayout() + self.horizontalLayout_58.setObjectName("horizontalLayout_58") + self.label_78 = QtWidgets.QLabel(self.tab_9) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_others_func.sizePolicy().hasHeightForWidth()) - self.comboBox_others_func.setSizePolicy(sizePolicy) - self.comboBox_others_func.setEditable(True) - self.comboBox_others_func.setObjectName("comboBox_others_func") - self.gridLayout_4.addWidget(self.comboBox_others_func, 6, 1, 1, 2) - self.label_18 = QtWidgets.QLabel(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.label_78.sizePolicy().hasHeightForWidth()) + self.label_78.setSizePolicy(sizePolicy) + self.label_78.setObjectName("label_78") + self.horizontalLayout_58.addWidget(self.label_78) + self.spinBox_tfnet_top_num = QtWidgets.QSpinBox(self.tab_9) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_18.sizePolicy().hasHeightForWidth()) - self.label_18.setSizePolicy(sizePolicy) - self.label_18.setObjectName("label_18") - self.gridLayout_4.addWidget(self.label_18, 6, 0, 1, 1) - self.comboBox_others_taxa = QtWidgets.QComboBox(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHeightForWidth(self.spinBox_tfnet_top_num.sizePolicy().hasHeightForWidth()) + self.spinBox_tfnet_top_num.setSizePolicy(sizePolicy) + self.spinBox_tfnet_top_num.setMinimum(1) + self.spinBox_tfnet_top_num.setMaximum(99999) + self.spinBox_tfnet_top_num.setProperty("value", 10) + self.spinBox_tfnet_top_num.setObjectName("spinBox_tfnet_top_num") + self.horizontalLayout_58.addWidget(self.spinBox_tfnet_top_num) + self.label_79 = QtWidgets.QLabel(self.tab_9) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_others_taxa.sizePolicy().hasHeightForWidth()) - self.comboBox_others_taxa.setSizePolicy(sizePolicy) - self.comboBox_others_taxa.setEditable(True) - self.comboBox_others_taxa.setObjectName("comboBox_others_taxa") - self.gridLayout_4.addWidget(self.comboBox_others_taxa, 7, 1, 1, 2) - self.horizontalLayout_101 = QtWidgets.QHBoxLayout() - self.horizontalLayout_101.setObjectName("horizontalLayout_101") - self.label_196 = QtWidgets.QLabel(self.tab_8) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHeightForWidth(self.label_79.sizePolicy().hasHeightForWidth()) + self.label_79.setSizePolicy(sizePolicy) + self.label_79.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_79.setObjectName("label_79") + self.horizontalLayout_58.addWidget(self.label_79) + self.comboBox_tfnet_top_by = QtWidgets.QComboBox(self.tab_9) + self.comboBox_tfnet_top_by.setObjectName("comboBox_tfnet_top_by") + self.comboBox_tfnet_top_by.addItem("") + self.comboBox_tfnet_top_by.addItem("") + self.comboBox_tfnet_top_by.addItem("") + self.comboBox_tfnet_top_by.addItem("") + self.comboBox_tfnet_top_by.addItem("") + self.comboBox_tfnet_top_by.addItem("") + self.comboBox_tfnet_top_by.addItem("") + self.comboBox_tfnet_top_by.addItem("") + self.comboBox_tfnet_top_by.addItem("") + self.comboBox_tfnet_top_by.addItem("") + self.comboBox_tfnet_top_by.addItem("") + self.horizontalLayout_58.addWidget(self.comboBox_tfnet_top_by) + self.checkBox_tfnet_top_filtered = QtWidgets.QCheckBox(self.tab_9) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_196.sizePolicy().hasHeightForWidth()) - self.label_196.setSizePolicy(sizePolicy) - self.label_196.setObjectName("label_196") - self.horizontalLayout_101.addWidget(self.label_196) - self.comboBox_tflink_sub_meta = QtWidgets.QComboBox(self.tab_8) - self.comboBox_tflink_sub_meta.setObjectName("comboBox_tflink_sub_meta") - self.horizontalLayout_101.addWidget(self.comboBox_tflink_sub_meta) - self.gridLayout_4.addLayout(self.horizontalLayout_101, 0, 2, 1, 1) - self.tabWidget_2.addTab(self.tab_8, "") - self.tab_9 = QtWidgets.QWidget() - self.tab_9.setObjectName("tab_9") - self.gridLayout_6 = QtWidgets.QGridLayout(self.tab_9) - self.gridLayout_6.setObjectName("gridLayout_6") - self.radioButton_network_bysample = QtWidgets.QRadioButton(self.tab_9) + sizePolicy.setHeightForWidth(self.checkBox_tfnet_top_filtered.sizePolicy().hasHeightForWidth()) + self.checkBox_tfnet_top_filtered.setSizePolicy(sizePolicy) + self.checkBox_tfnet_top_filtered.setObjectName("checkBox_tfnet_top_filtered") + self.horizontalLayout_58.addWidget(self.checkBox_tfnet_top_filtered) + self.gridLayout_6.addLayout(self.horizontalLayout_58, 6, 1, 1, 2) + self.line_33 = QtWidgets.QFrame(self.tab_9) + self.line_33.setFrameShape(QtWidgets.QFrame.HLine) + self.line_33.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_33.setObjectName("line_33") + self.gridLayout_6.addWidget(self.line_33, 8, 0, 1, 4) + self.checkBox_7 = QtWidgets.QCheckBox(self.tab_9) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.radioButton_network_bysample.sizePolicy().hasHeightForWidth()) - self.radioButton_network_bysample.setSizePolicy(sizePolicy) - self.radioButton_network_bysample.setObjectName("radioButton_network_bysample") - self.gridLayout_6.addWidget(self.radioButton_network_bysample, 4, 0, 1, 1) + sizePolicy.setHeightForWidth(self.checkBox_7.sizePolicy().hasHeightForWidth()) + self.checkBox_7.setSizePolicy(sizePolicy) + self.checkBox_7.setObjectName("checkBox_7") + self.gridLayout_6.addWidget(self.checkBox_7, 9, 0, 1, 1) + self.label_77 = QtWidgets.QLabel(self.tab_9) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_77.sizePolicy().hasHeightForWidth()) + self.label_77.setSizePolicy(sizePolicy) + self.label_77.setObjectName("label_77") + self.gridLayout_6.addWidget(self.label_77, 5, 0, 1, 1) self.horizontalLayout_9 = QtWidgets.QHBoxLayout() self.horizontalLayout_9.setObjectName("horizontalLayout_9") self.label_49 = QtWidgets.QLabel(self.tab_9) @@ -4648,19 +4879,38 @@ def setupUi(self, metaX_main): self.comboBox_network_meta.setObjectName("comboBox_network_meta") self.horizontalLayout_9.addWidget(self.comboBox_network_meta) self.gridLayout_6.addLayout(self.horizontalLayout_9, 0, 0, 1, 3) - self.line_27 = QtWidgets.QFrame(self.tab_9) - self.line_27.setFrameShape(QtWidgets.QFrame.HLine) - self.line_27.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_27.setObjectName("line_27") - self.gridLayout_6.addWidget(self.line_27, 1, 0, 1, 3) - self.label_77 = QtWidgets.QLabel(self.tab_9) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) + self.listWidget_tfnet_focus_list = QtWidgets.QListWidget(self.tab_9) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_77.sizePolicy().hasHeightForWidth()) - self.label_77.setSizePolicy(sizePolicy) - self.label_77.setObjectName("label_77") - self.gridLayout_6.addWidget(self.label_77, 6, 0, 1, 1) + sizePolicy.setHeightForWidth(self.listWidget_tfnet_focus_list.sizePolicy().hasHeightForWidth()) + self.listWidget_tfnet_focus_list.setSizePolicy(sizePolicy) + self.listWidget_tfnet_focus_list.setObjectName("listWidget_tfnet_focus_list") + self.gridLayout_6.addWidget(self.listWidget_tfnet_focus_list, 7, 1, 1, 3) + self.comboBox_tfnet_select_list = QtWidgets.QComboBox(self.tab_9) + self.comboBox_tfnet_select_list.setObjectName("comboBox_tfnet_select_list") + self.gridLayout_6.addWidget(self.comboBox_tfnet_select_list, 5, 1, 1, 2) + self.pushButton_tfnet_add_to_list = QtWidgets.QPushButton(self.tab_9) + self.pushButton_tfnet_add_to_list.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_tfnet_add_to_list.sizePolicy().hasHeightForWidth()) + self.pushButton_tfnet_add_to_list.setSizePolicy(sizePolicy) + self.pushButton_tfnet_add_to_list.setMaximumSize(QtCore.QSize(120, 16777215)) + self.pushButton_tfnet_add_to_list.setObjectName("pushButton_tfnet_add_to_list") + self.gridLayout_6.addWidget(self.pushButton_tfnet_add_to_list, 5, 3, 1, 1) + self.pushButton_plot_network = QtWidgets.QPushButton(self.tab_9) + self.pushButton_plot_network.setEnabled(False) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_plot_network.sizePolicy().hasHeightForWidth()) + self.pushButton_plot_network.setSizePolicy(sizePolicy) + self.pushButton_plot_network.setMaximumSize(QtCore.QSize(16777215, 50)) + self.pushButton_plot_network.setCheckable(False) + self.pushButton_plot_network.setObjectName("pushButton_plot_network") + self.gridLayout_6.addWidget(self.pushButton_plot_network, 9, 1, 1, 3) self.line_28 = QtWidgets.QFrame(self.tab_9) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) @@ -4670,53 +4920,7 @@ def setupUi(self, metaX_main): self.line_28.setFrameShape(QtWidgets.QFrame.HLine) self.line_28.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_28.setObjectName("line_28") - self.gridLayout_6.addWidget(self.line_28, 5, 0, 1, 3) - self.horizontalLayout_55 = QtWidgets.QHBoxLayout() - self.horizontalLayout_55.setObjectName("horizontalLayout_55") - self.checkBox_tfnetwork_in_condition = QtWidgets.QCheckBox(self.tab_9) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_tfnetwork_in_condition.sizePolicy().hasHeightForWidth()) - self.checkBox_tfnetwork_in_condition.setSizePolicy(sizePolicy) - self.checkBox_tfnetwork_in_condition.setLayoutDirection(QtCore.Qt.RightToLeft) - self.checkBox_tfnetwork_in_condition.setObjectName("checkBox_tfnetwork_in_condition") - self.horizontalLayout_55.addWidget(self.checkBox_tfnetwork_in_condition) - self.comboBox_tfnetwork_condition_meta = QtWidgets.QComboBox(self.tab_9) - self.comboBox_tfnetwork_condition_meta.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_tfnetwork_condition_meta.sizePolicy().hasHeightForWidth()) - self.comboBox_tfnetwork_condition_meta.setSizePolicy(sizePolicy) - self.comboBox_tfnetwork_condition_meta.setObjectName("comboBox_tfnetwork_condition_meta") - self.horizontalLayout_55.addWidget(self.comboBox_tfnetwork_condition_meta) - self.horizontalLayout_80 = QtWidgets.QHBoxLayout() - self.horizontalLayout_80.setObjectName("horizontalLayout_80") - self.comboBox_tfnetwork_condition_group = QtWidgets.QComboBox(self.tab_9) - self.comboBox_tfnetwork_condition_group.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.comboBox_tfnetwork_condition_group.sizePolicy().hasHeightForWidth()) - self.comboBox_tfnetwork_condition_group.setSizePolicy(sizePolicy) - self.comboBox_tfnetwork_condition_group.setObjectName("comboBox_tfnetwork_condition_group") - self.horizontalLayout_80.addWidget(self.comboBox_tfnetwork_condition_group) - self.horizontalLayout_55.addLayout(self.horizontalLayout_80) - self.gridLayout_6.addLayout(self.horizontalLayout_55, 2, 1, 1, 1) - self.radioButton_network_bygroup = QtWidgets.QRadioButton(self.tab_9) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.radioButton_network_bygroup.sizePolicy().hasHeightForWidth()) - self.radioButton_network_bygroup.setSizePolicy(sizePolicy) - self.radioButton_network_bygroup.setMaximumSize(QtCore.QSize(16777215, 50)) - self.radioButton_network_bygroup.setChecked(True) - self.radioButton_network_bygroup.setObjectName("radioButton_network_bygroup") - self.gridLayout_6.addWidget(self.radioButton_network_bygroup, 2, 0, 1, 1) - self.checkBox_7 = QtWidgets.QCheckBox(self.tab_9) - self.checkBox_7.setObjectName("checkBox_7") - self.gridLayout_6.addWidget(self.checkBox_7, 10, 0, 1, 1) + self.gridLayout_6.addWidget(self.line_28, 4, 0, 1, 3) self.verticalLayout_5 = QtWidgets.QVBoxLayout() self.verticalLayout_5.setObjectName("verticalLayout_5") self.pushButton_tfnet_drop_item = QtWidgets.QPushButton(self.tab_9) @@ -4741,31 +4945,7 @@ def setupUi(self, metaX_main): self.pushButton_tfnet_add_a_list.setEnabled(False) self.pushButton_tfnet_add_a_list.setObjectName("pushButton_tfnet_add_a_list") self.verticalLayout_5.addWidget(self.pushButton_tfnet_add_a_list) - self.gridLayout_6.addLayout(self.verticalLayout_5, 8, 0, 1, 1) - self.gridLayout_network_sample = QtWidgets.QGridLayout() - self.gridLayout_network_sample.setObjectName("gridLayout_network_sample") - self.gridLayout_6.addLayout(self.gridLayout_network_sample, 4, 1, 1, 3) - self.gridLayout_network_group = QtWidgets.QGridLayout() - self.gridLayout_network_group.setObjectName("gridLayout_network_group") - self.gridLayout_6.addLayout(self.gridLayout_network_group, 2, 2, 1, 2) - self.listWidget_tfnet_focus_list = QtWidgets.QListWidget(self.tab_9) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.listWidget_tfnet_focus_list.sizePolicy().hasHeightForWidth()) - self.listWidget_tfnet_focus_list.setSizePolicy(sizePolicy) - self.listWidget_tfnet_focus_list.setObjectName("listWidget_tfnet_focus_list") - self.gridLayout_6.addWidget(self.listWidget_tfnet_focus_list, 8, 1, 1, 3) - self.pushButton_tfnet_add_to_list = QtWidgets.QPushButton(self.tab_9) - self.pushButton_tfnet_add_to_list.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_tfnet_add_to_list.sizePolicy().hasHeightForWidth()) - self.pushButton_tfnet_add_to_list.setSizePolicy(sizePolicy) - self.pushButton_tfnet_add_to_list.setMaximumSize(QtCore.QSize(120, 16777215)) - self.pushButton_tfnet_add_to_list.setObjectName("pushButton_tfnet_add_to_list") - self.gridLayout_6.addWidget(self.pushButton_tfnet_add_to_list, 6, 3, 1, 1) + self.gridLayout_6.addLayout(self.verticalLayout_5, 7, 0, 1, 1) self.pushButton_tfnet_add_top = QtWidgets.QPushButton(self.tab_9) self.pushButton_tfnet_add_top.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) @@ -4775,81 +4955,25 @@ def setupUi(self, metaX_main): self.pushButton_tfnet_add_top.setSizePolicy(sizePolicy) self.pushButton_tfnet_add_top.setMaximumSize(QtCore.QSize(120, 16777215)) self.pushButton_tfnet_add_top.setObjectName("pushButton_tfnet_add_top") - self.gridLayout_6.addWidget(self.pushButton_tfnet_add_top, 7, 3, 1, 1) - self.comboBox_tfnet_select_list = QtWidgets.QComboBox(self.tab_9) - self.comboBox_tfnet_select_list.setObjectName("comboBox_tfnet_select_list") - self.gridLayout_6.addWidget(self.comboBox_tfnet_select_list, 6, 1, 1, 2) - self.horizontalLayout_58 = QtWidgets.QHBoxLayout() - self.horizontalLayout_58.setObjectName("horizontalLayout_58") - self.label_78 = QtWidgets.QLabel(self.tab_9) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_78.sizePolicy().hasHeightForWidth()) - self.label_78.setSizePolicy(sizePolicy) - self.label_78.setObjectName("label_78") - self.horizontalLayout_58.addWidget(self.label_78) - self.spinBox_tfnet_top_num = QtWidgets.QSpinBox(self.tab_9) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spinBox_tfnet_top_num.sizePolicy().hasHeightForWidth()) - self.spinBox_tfnet_top_num.setSizePolicy(sizePolicy) - self.spinBox_tfnet_top_num.setMinimum(1) - self.spinBox_tfnet_top_num.setMaximum(99999) - self.spinBox_tfnet_top_num.setProperty("value", 10) - self.spinBox_tfnet_top_num.setObjectName("spinBox_tfnet_top_num") - self.horizontalLayout_58.addWidget(self.spinBox_tfnet_top_num) - self.label_79 = QtWidgets.QLabel(self.tab_9) + self.gridLayout_6.addWidget(self.pushButton_tfnet_add_top, 6, 3, 1, 1) + self.horizontalLayout_119 = QtWidgets.QHBoxLayout() + self.horizontalLayout_119.setObjectName("horizontalLayout_119") + self.label_217 = QtWidgets.QLabel(self.tab_9) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.label_79.sizePolicy().hasHeightForWidth()) - self.label_79.setSizePolicy(sizePolicy) - self.label_79.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.label_79.setObjectName("label_79") - self.horizontalLayout_58.addWidget(self.label_79) - self.comboBox_tfnet_top_by = QtWidgets.QComboBox(self.tab_9) - self.comboBox_tfnet_top_by.setObjectName("comboBox_tfnet_top_by") - self.comboBox_tfnet_top_by.addItem("") - self.comboBox_tfnet_top_by.addItem("") - self.comboBox_tfnet_top_by.addItem("") - self.comboBox_tfnet_top_by.addItem("") - self.comboBox_tfnet_top_by.addItem("") - self.comboBox_tfnet_top_by.addItem("") - self.comboBox_tfnet_top_by.addItem("") - self.comboBox_tfnet_top_by.addItem("") - self.comboBox_tfnet_top_by.addItem("") - self.comboBox_tfnet_top_by.addItem("") - self.comboBox_tfnet_top_by.addItem("") - self.horizontalLayout_58.addWidget(self.comboBox_tfnet_top_by) - self.checkBox_tfnet_top_filtered = QtWidgets.QCheckBox(self.tab_9) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.checkBox_tfnet_top_filtered.sizePolicy().hasHeightForWidth()) - self.checkBox_tfnet_top_filtered.setSizePolicy(sizePolicy) - self.checkBox_tfnet_top_filtered.setObjectName("checkBox_tfnet_top_filtered") - self.horizontalLayout_58.addWidget(self.checkBox_tfnet_top_filtered) - self.gridLayout_6.addLayout(self.horizontalLayout_58, 7, 1, 1, 2) - self.line_33 = QtWidgets.QFrame(self.tab_9) - self.line_33.setFrameShape(QtWidgets.QFrame.HLine) - self.line_33.setFrameShadow(QtWidgets.QFrame.Sunken) - self.line_33.setObjectName("line_33") - self.gridLayout_6.addWidget(self.line_33, 9, 0, 1, 4) - self.pushButton_plot_network = QtWidgets.QPushButton(self.tab_9) - self.pushButton_plot_network.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pushButton_plot_network.sizePolicy().hasHeightForWidth()) - self.pushButton_plot_network.setSizePolicy(sizePolicy) - self.pushButton_plot_network.setMaximumSize(QtCore.QSize(16777215, 50)) - self.pushButton_plot_network.setCheckable(False) - self.pushButton_plot_network.setObjectName("pushButton_plot_network") - self.gridLayout_6.addWidget(self.pushButton_plot_network, 10, 1, 1, 3) + sizePolicy.setHeightForWidth(self.label_217.sizePolicy().hasHeightForWidth()) + self.label_217.setSizePolicy(sizePolicy) + self.label_217.setObjectName("label_217") + self.horizontalLayout_119.addWidget(self.label_217) + self.comboBox_radioButton_network_group_sample = QtWidgets.QComboBox(self.tab_9) + self.comboBox_radioButton_network_group_sample.setObjectName("comboBox_radioButton_network_group_sample") + self.comboBox_radioButton_network_group_sample.addItem("") + self.comboBox_radioButton_network_group_sample.addItem("") + self.horizontalLayout_119.addWidget(self.comboBox_radioButton_network_group_sample) + self.gridLayout_6.addLayout(self.horizontalLayout_119, 2, 0, 1, 1) self.groupBox_taxa_func_link_net_plot_settings = QtWidgets.QGroupBox(self.tab_9) - self.groupBox_taxa_func_link_net_plot_settings.setMaximumSize(QtCore.QSize(16777215, 240)) + self.groupBox_taxa_func_link_net_plot_settings.setMaximumSize(QtCore.QSize(16777215, 260)) self.groupBox_taxa_func_link_net_plot_settings.setObjectName("groupBox_taxa_func_link_net_plot_settings") self.gridLayout_63 = QtWidgets.QGridLayout(self.groupBox_taxa_func_link_net_plot_settings) self.gridLayout_63.setObjectName("gridLayout_63") @@ -4857,7 +4981,7 @@ def setupUi(self, metaX_main): self.scrollArea_7.setWidgetResizable(True) self.scrollArea_7.setObjectName("scrollArea_7") self.scrollAreaWidgetContents_8 = QtWidgets.QWidget() - self.scrollAreaWidgetContents_8.setGeometry(QtCore.QRect(0, 0, 1016, 179)) + self.scrollAreaWidgetContents_8.setGeometry(QtCore.QRect(0, 0, 885, 166)) self.scrollAreaWidgetContents_8.setObjectName("scrollAreaWidgetContents_8") self.gridLayout_66 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_8) self.gridLayout_66.setObjectName("gridLayout_66") @@ -4944,7 +5068,54 @@ def setupUi(self, metaX_main): self.gridLayout_66.addLayout(self.horizontalLayout_69, 1, 1, 1, 1) self.scrollArea_7.setWidget(self.scrollAreaWidgetContents_8) self.gridLayout_63.addWidget(self.scrollArea_7, 0, 0, 1, 1) - self.gridLayout_6.addWidget(self.groupBox_taxa_func_link_net_plot_settings, 11, 0, 1, 4) + self.gridLayout_6.addWidget(self.groupBox_taxa_func_link_net_plot_settings, 10, 0, 1, 4) + self.line_27 = QtWidgets.QFrame(self.tab_9) + self.line_27.setFrameShape(QtWidgets.QFrame.HLine) + self.line_27.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_27.setObjectName("line_27") + self.gridLayout_6.addWidget(self.line_27, 1, 0, 1, 3) + self.horizontalLayout_120 = QtWidgets.QHBoxLayout() + self.horizontalLayout_120.setObjectName("horizontalLayout_120") + self.horizontalLayout_55 = QtWidgets.QHBoxLayout() + self.horizontalLayout_55.setObjectName("horizontalLayout_55") + self.checkBox_tfnetwork_in_condition = QtWidgets.QCheckBox(self.tab_9) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.checkBox_tfnetwork_in_condition.sizePolicy().hasHeightForWidth()) + self.checkBox_tfnetwork_in_condition.setSizePolicy(sizePolicy) + self.checkBox_tfnetwork_in_condition.setLayoutDirection(QtCore.Qt.RightToLeft) + self.checkBox_tfnetwork_in_condition.setObjectName("checkBox_tfnetwork_in_condition") + self.horizontalLayout_55.addWidget(self.checkBox_tfnetwork_in_condition) + self.horizontalLayout_80 = QtWidgets.QHBoxLayout() + self.horizontalLayout_80.setObjectName("horizontalLayout_80") + self.comboBox_tfnetwork_condition_meta = QtWidgets.QComboBox(self.tab_9) + self.comboBox_tfnetwork_condition_meta.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_tfnetwork_condition_meta.sizePolicy().hasHeightForWidth()) + self.comboBox_tfnetwork_condition_meta.setSizePolicy(sizePolicy) + self.comboBox_tfnetwork_condition_meta.setObjectName("comboBox_tfnetwork_condition_meta") + self.horizontalLayout_80.addWidget(self.comboBox_tfnetwork_condition_meta) + self.comboBox_tfnetwork_condition_group = QtWidgets.QComboBox(self.tab_9) + self.comboBox_tfnetwork_condition_group.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBox_tfnetwork_condition_group.sizePolicy().hasHeightForWidth()) + self.comboBox_tfnetwork_condition_group.setSizePolicy(sizePolicy) + self.comboBox_tfnetwork_condition_group.setObjectName("comboBox_tfnetwork_condition_group") + self.horizontalLayout_80.addWidget(self.comboBox_tfnetwork_condition_group) + self.horizontalLayout_55.addLayout(self.horizontalLayout_80) + self.horizontalLayout_120.addLayout(self.horizontalLayout_55) + self.gridLayout_network_group = QtWidgets.QGridLayout() + self.gridLayout_network_group.setObjectName("gridLayout_network_group") + self.horizontalLayout_120.addLayout(self.gridLayout_network_group) + self.gridLayout_network_sample = QtWidgets.QGridLayout() + self.gridLayout_network_sample.setObjectName("gridLayout_network_sample") + self.horizontalLayout_120.addLayout(self.gridLayout_network_sample) + self.gridLayout_6.addLayout(self.horizontalLayout_120, 2, 1, 1, 3) self.tabWidget_2.addTab(self.tab_9, "") self.gridLayout_19.addWidget(self.tabWidget_2, 0, 0, 1, 1) self.tabWidget_TaxaFuncAnalyzer.addTab(self.tab_others_stats, "") @@ -5426,7 +5597,7 @@ def setupUi(self, metaX_main): self.statusbar.setObjectName("statusbar") metaX_main.setStatusBar(self.statusbar) self.menuBar = QtWidgets.QMenuBar(metaX_main) - self.menuBar.setGeometry(QtCore.QRect(0, 0, 1122, 21)) + self.menuBar.setGeometry(QtCore.QRect(0, 0, 991, 23)) self.menuBar.setObjectName("menuBar") self.menuTools = QtWidgets.QMenu(self.menuBar) self.menuTools.setObjectName("menuTools") @@ -5492,42 +5663,22 @@ def setupUi(self, metaX_main): self.retranslateUi(metaX_main) self.stackedWidget.setCurrentIndex(0) - self.tabWidget_TaxaFuncAnalyzer.setCurrentIndex(2) + self.tabWidget_TaxaFuncAnalyzer.setCurrentIndex(5) self.toolBox_2.setCurrentIndex(0) self.tabWidget_4.setCurrentIndex(0) - self.tabWidget_3.setCurrentIndex(3) - self.tabWidget.setCurrentIndex(1) - self.tabWidget_2.setCurrentIndex(1) + self.tabWidget_3.setCurrentIndex(0) + self.tabWidget.setCurrentIndex(0) + self.tabWidget_2.setCurrentIndex(0) self.tabWidget_6.setCurrentIndex(0) self.toolBox_metalab_res_anno.setCurrentIndex(0) self.tabWidget_5.setCurrentIndex(0) - self.checkBox_deseq2_comparing_in_condition.clicked['bool'].connect(self.comboBox_deseq2_condition_meta.setEnabled) # type: ignore - self.checkBox_deseq2_comparing_in_condition.clicked['bool'].connect(self.comboBox_deseq2_condition_group.setEnabled) # type: ignore - self.checkBox_tflink_in_condition.clicked['bool'].connect(self.comboBox_tflink_condition_meta.setEnabled) # type: ignore - self.checkBox_tflink_in_condition.clicked['bool'].connect(self.comboBox_tflink_condition_group.setEnabled) # type: ignore - self.checkBox_tfnetwork_in_condition.clicked['bool'].connect(self.comboBox_tfnetwork_condition_meta.setEnabled) # type: ignore - self.checkBox_tfnetwork_in_condition.clicked['bool'].connect(self.comboBox_tfnetwork_condition_group.setEnabled) # type: ignore self.checkBox_anova_in_condition.clicked['bool'].connect(self.comboBox_anova_condition_meta.setEnabled) # type: ignore self.checkBox_anova_in_condition.clicked['bool'].connect(self.comboBox_anova_condition_group.setEnabled) # type: ignore - self.checkBox_ttest_in_condition.clicked['bool'].connect(self.comboBox_ttest_condition_meta.setEnabled) # type: ignore - self.checkBox_ttest_in_condition.clicked['bool'].connect(self.comboBox_ttest_condition_group.setEnabled) # type: ignore - self.checkBox_basic_heatmap_in_condition.clicked['bool'].connect(self.comboBox_basic_heatmap_condition_meta.setEnabled) # type: ignore - self.checkBox_basic_heatmap_in_condition.clicked['bool'].connect(self.comboBox_basic_heatmap_condition_group.setEnabled) # type: ignore - self.checkBox_basic_in_condtion.clicked['bool'].connect(self.comboBox_basic_condition_meta.setEnabled) # type: ignore - self.checkBox_tukey_in_condition.clicked['bool'].connect(self.comboBox_tukey_condition_meta.setEnabled) # type: ignore - self.checkBox_tukey_in_condition.clicked['bool'].connect(self.comboBox_tukey_condition_group.setEnabled) # type: ignore - self.checkBox_group_control_in_condition.clicked['bool'].connect(self.comboBox_group_control_condition_meta.setEnabled) # type: ignore - self.checkBox_group_control_in_condition.clicked['bool'].connect(self.comboBox_group_control_condition_group.setEnabled) # type: ignore self.checkBox_pca_if_show_lable.clicked['bool'].connect(self.checkBox_pca_if_adjust_pca_label.setEnabled) # type: ignore self.checkBox_pca_if_show_lable.clicked['bool'].connect(self.checkBox_sunburst_show_all_lables.setEnabled) # type: ignore self.checkBox_pca_if_show_lable.clicked['bool'].connect(self.doubleSpinBox_basic_pca_label_font_transparency.setEnabled) # type: ignore - self.checkBox_basic_in_condtion.clicked['bool'].connect(self.comboBox_basic_condition_group.setEnabled) # type: ignore self.checkBox_tf_link_net_plot_list_only.clicked['bool'].connect(self.checkBox_tf_link_net_plot_list_only_no_link.setEnabled) # type: ignore self.checkBox_basic_heatmap_plot_mean.clicked['bool'].connect(self.comboBox_3dbar_sub_meta.setDisabled) # type: ignore - self.checkBox_co_expression_in_condition.clicked['bool'].connect(self.comboBox_co_expression_condition_meta.setEnabled) # type: ignore - self.checkBox_co_expression_in_condition.clicked['bool'].connect(self.comboBox_co_expression_condition_group.setEnabled) # type: ignore - self.checkBox_trends_in_condition.clicked['bool'].connect(self.comboBox_trends_condition_meta.setEnabled) # type: ignore - self.checkBox_trends_in_condition.clicked['bool'].connect(self.comboBox_trends_condition_group.setEnabled) # type: ignore self.checkBox_show_basic_plot_settings.toggled['bool'].connect(self.groupBox_basic_plot.setVisible) # type: ignore self.checkBox.toggled['bool'].connect(self.groupBox_basic_heatmap_plot_settings.setVisible) # type: ignore self.checkBox_2.toggled['bool'].connect(self.groupBox_cross_heatmap_settings.setVisible) # type: ignore @@ -5540,6 +5691,7 @@ def setupUi(self, metaX_main): self.checkBox_set_taxa_func_split_func.clicked['bool'].connect(self.checkBox_set_taxa_func_split_func_share_intensity.setEnabled) # type: ignore self.checkBox_tflink_plot_mean.clicked['bool'].connect(self.comboBox_tflink_sub_meta.setDisabled) # type: ignore self.checkBox_show_advanced_annotator_settings.toggled['bool'].connect(self.groupBox_peptide_annotator_settings.setVisible) # type: ignore + self.checkBox_pca_if_show_lable.toggled['bool'].connect(self.checkBox_basic_plot_upset_show_percentage.setEnabled) # type: ignore QtCore.QMetaObject.connectSlotsByName(metaX_main) metaX_main.setTabOrder(self.comboBox_taxa_level_to_stast, self.toolButton_meta_table_help) metaX_main.setTabOrder(self.toolButton_meta_table_help, self.comboBox_function_to_stast) @@ -5684,19 +5836,41 @@ def retranslateUi(self, metaX_main): self.checkBox_set_otf_taxa_and_func_only_from_otf.setToolTip(_translate("metaX_main", "If chceked, the taxa table and functions table would be only generated from the OTFs table rather than all the taxa at the selected level and all functions of the selected type and threshold.")) self.checkBox_set_otf_taxa_and_func_only_from_otf.setText(_translate("metaX_main", "Create Taxa and Functions only from OTFs")) self.tabWidget_TaxaFuncAnalyzer.setTabText(self.tabWidget_TaxaFuncAnalyzer.indexOf(self.tab_set_taxa_func), _translate("metaX_main", "Set TaxaFunc")) + self.label_170.setText(_translate("metaX_main", "Counts")) + self.label_172.setText(_translate("metaX_main", "Taxa Overview")) + self.label_121.setText(_translate("metaX_main", "PCA")) + self.pushButton_plot_corr.setText(_translate("metaX_main", "Correlation Heatmap")) + self.pushButton_plot_pca_sns.setText(_translate("metaX_main", "PCA")) + self.pushButton_plot_pca_js.setText(_translate("metaX_main", "3D PCA")) + self.label_119.setText(_translate("metaX_main", "Intensity")) + self.label_171.setText(_translate("metaX_main", "Diversity")) + self.label_173.setText(_translate("metaX_main", "Sankey")) + self.pushButton_plot_alpha_div.setText(_translate("metaX_main", "Alpha Diversity")) + self.pushButton_plot_beta_div.setText(_translate("metaX_main", "Beta Diversity")) + self.pushButton_plot_basic_treemap.setText(_translate("metaX_main", "TreeMap")) + self.pushButton_plot_sunburst.setText(_translate("metaX_main", "Sunburst")) + self.pushButton_plot_basic_sankey.setText(_translate("metaX_main", "Sankey")) + self.pushButton_plot_box_sns.setText(_translate("metaX_main", "Box")) + self.pushButton_basic_plot_upset.setText(_translate("metaX_main", "UpSet")) + self.pushButton_basic_plot_number_bar.setText(_translate("metaX_main", "Bar")) self.checkBox_show_basic_plot_settings.setText(_translate("metaX_main", "Show Plotting Parameter")) + self.label_70.setText(_translate("metaX_main", "Table")) + self.comboBox_table4pca.setItemText(0, _translate("metaX_main", "Taxa")) + self.comboBox_table4pca.setItemText(1, _translate("metaX_main", "Functions")) + self.comboBox_table4pca.setItemText(2, _translate("metaX_main", "Taxa-Functions")) + self.comboBox_table4pca.setItemText(3, _translate("metaX_main", "Peptides")) + self.label_146.setText(_translate("metaX_main", "Meta")) + self.label_142.setText(_translate("metaX_main", "Sub Meta ")) + self.comboBox_sub_meta_pca.setItemText(0, _translate("metaX_main", "None")) + self.label_210.setText(_translate("metaX_main", "Select")) + self.comboBox_basic_pca_group_sample.setItemText(0, _translate("metaX_main", "Group")) + self.comboBox_basic_pca_group_sample.setItemText(1, _translate("metaX_main", "Sample")) self.groupBox_basic_plot.setTitle(_translate("metaX_main", "Plotting Parameter")) - self.label_107.setText(_translate("metaX_main", "Font Size")) - self.label_118.setText(_translate("metaX_main", "Beta Diversity")) - self.comboBox_beta_div_method.setItemText(0, _translate("metaX_main", "braycurtis")) - self.comboBox_beta_div_method.setItemText(1, _translate("metaX_main", "jaccard")) - self.comboBox_beta_div_method.setItemText(2, _translate("metaX_main", "euclidean")) - self.comboBox_beta_div_method.setItemText(3, _translate("metaX_main", "manhattan")) - self.comboBox_beta_div_method.setItemText(4, _translate("metaX_main", "canberra")) - self.comboBox_beta_div_method.setItemText(5, _translate("metaX_main", "chebyshev")) - self.comboBox_beta_div_method.setItemText(6, _translate("metaX_main", "dice")) - self.comboBox_beta_div_method.setItemText(7, _translate("metaX_main", "hamming")) - self.comboBox_beta_div_method.setItemText(8, _translate("metaX_main", "yule")) + self.checkBox_pca_if_adjust_pca_label.setToolTip(_translate("metaX_main", "Adjust label text to reduce overlap")) + self.checkBox_pca_if_adjust_pca_label.setText(_translate("metaX_main", "Adjust Labels")) + self.label_159.setToolTip(_translate("metaX_main", "The number of columns in the legend, set 0 to hide")) + self.label_159.setText(_translate("metaX_main", "Legend Cols")) + self.label_151.setText(_translate("metaX_main", "Theme")) self.label_117.setText(_translate("metaX_main", "Alpha Diversity")) self.checkBox_alpha_div_plot_all_samples.setText(_translate("metaX_main", "Plot Samples")) self.comboBox_alpha_div_method.setItemText(0, _translate("metaX_main", "shannon")) @@ -5707,65 +5881,79 @@ def retranslateUi(self, metaX_main): self.comboBox_alpha_div_method.setItemText(5, _translate("metaX_main", "fisher_alpha")) self.comboBox_alpha_div_method.setItemText(6, _translate("metaX_main", "dominance")) self.comboBox_alpha_div_method.setItemText(7, _translate("metaX_main", "menhinick")) + self.label_116.setToolTip(_translate("metaX_main", "Transparency of labes")) + self.label_116.setText(_translate("metaX_main", "Transparency")) + self.label_160.setToolTip(_translate("metaX_main", "Dots size for PCA and Beta Diversity")) + self.label_160.setText(_translate("metaX_main", "Dot Size")) + self.label_155.setText(_translate("metaX_main", "Counts Plot")) + self.label_137.setText(_translate("metaX_main", "Sunburst")) + self.checkBox_box_if_show_fliers.setText(_translate("metaX_main", "show Fliers")) + self.label_122.setText(_translate("metaX_main", "general")) + self.checkBox_box_plot_samples.setText(_translate("metaX_main", "Plot Samples")) + self.checkBox_pca_if_show_group_name_in_label.setToolTip(_translate("metaX_main", "Add group name to Sample names")) + self.checkBox_pca_if_show_group_name_in_label.setText(_translate("metaX_main", "Rename Samples")) + self.checkBox_pca_if_show_lable.setToolTip(_translate("metaX_main", "Show label text in diagram")) + self.checkBox_pca_if_show_lable.setText(_translate("metaX_main", "Show Labels")) + self.label_179.setText(_translate("metaX_main", "Scatter Plot")) + self.label_167.setText(_translate("metaX_main", "Diversity")) + self.label_118.setText(_translate("metaX_main", "Beta Diversity")) + self.comboBox_beta_div_method.setItemText(0, _translate("metaX_main", "braycurtis")) + self.comboBox_beta_div_method.setItemText(1, _translate("metaX_main", "jaccard")) + self.comboBox_beta_div_method.setItemText(2, _translate("metaX_main", "euclidean")) + self.comboBox_beta_div_method.setItemText(3, _translate("metaX_main", "manhattan")) + self.comboBox_beta_div_method.setItemText(4, _translate("metaX_main", "canberra")) + self.comboBox_beta_div_method.setItemText(5, _translate("metaX_main", "chebyshev")) + self.comboBox_beta_div_method.setItemText(6, _translate("metaX_main", "dice")) + self.comboBox_beta_div_method.setItemText(7, _translate("metaX_main", "hamming")) + self.comboBox_beta_div_method.setItemText(8, _translate("metaX_main", "yule")) + self.label_107.setText(_translate("metaX_main", "Font Size")) self.checkBox_basic_plot_number_plot_sample.setText(_translate("metaX_main", "Plot Samples")) - self.label_122.setText(_translate("metaX_main", "general")) - self.label_116.setToolTip(_translate("metaX_main", "Transparency of labes")) - self.label_116.setText(_translate("metaX_main", "Transparency")) - self.label_160.setToolTip(_translate("metaX_main", "Dots size for PCA and Beta Diversity")) - self.label_160.setText(_translate("metaX_main", "Dot Size")) + self.label_94.setText(_translate("metaX_main", "Width")) + self.label_101.setText(_translate("metaX_main", "Height")) + self.label_169.setText(_translate("metaX_main", "Box Plot")) self.label_129.setText(_translate("metaX_main", "Show All Labels")) self.checkBox_corr_show_all_labels_x.setText(_translate("metaX_main", "X")) self.checkBox_corr_show_all_labels_y.setText(_translate("metaX_main", "Y")) - self.checkBox_pca_if_show_group_name_in_label.setToolTip(_translate("metaX_main", "Add group name to Sample names")) - self.checkBox_pca_if_show_group_name_in_label.setText(_translate("metaX_main", "Rename Samples")) - self.checkBox_pca_if_show_lable.setToolTip(_translate("metaX_main", "Show label text in diagram")) - self.checkBox_pca_if_show_lable.setText(_translate("metaX_main", "Show Labels")) - self.checkBox_box_if_show_fliers.setText(_translate("metaX_main", "show Fliers")) - self.label_94.setText(_translate("metaX_main", "Width")) - self.label_101.setText(_translate("metaX_main", "Height")) - self.checkBox_box_plot_samples.setText(_translate("metaX_main", "Plot Samples")) self.label_168.setText(_translate("metaX_main", "Correlation Heatmap")) - self.label_159.setToolTip(_translate("metaX_main", "The number of columns in the legend, set 0 to hide")) - self.label_159.setText(_translate("metaX_main", "Legend Cols")) - self.label_151.setText(_translate("metaX_main", "Theme")) - self.checkBox_pca_if_adjust_pca_label.setToolTip(_translate("metaX_main", "Adjust label text to reduce overlap")) - self.checkBox_pca_if_adjust_pca_label.setText(_translate("metaX_main", "Adjust Labels")) - self.label_155.setText(_translate("metaX_main", "Bar Plot")) - self.label_137.setText(_translate("metaX_main", "Sunburst")) - self.label_169.setText(_translate("metaX_main", "Box Plot")) - self.label_167.setText(_translate("metaX_main", "Diversity")) + self.checkBox_sunburst_show_all_lables.setText(_translate("metaX_main", "Show All Lables for Sunburst")) self.checkBox_corr_cluster.setText(_translate("metaX_main", "Cluster")) self.label_192.setText(_translate("metaX_main", "Theme")) - self.label_179.setText(_translate("metaX_main", "Scatter Plot")) - self.checkBox_sunburst_show_all_lables.setText(_translate("metaX_main", "Show All Lables for Sunburst")) + self.label_207.setText(_translate("metaX_main", "UpSet")) + self.checkBox_basic_plot_upset_show_percentage.setText(_translate("metaX_main", "Show Percentages")) + self.label_206.setText(_translate("metaX_main", "Min Subset Size")) + self.label_208.setText(_translate("metaX_main", "Max Rank")) self.checkBox_basic_in_condtion.setText(_translate("metaX_main", "In Condition")) - self.radioButton_basic_pca_group.setText(_translate("metaX_main", "Groups")) - self.radioButton_basic_pca_sample.setText(_translate("metaX_main", "Samples")) - self.label_170.setText(_translate("metaX_main", "Bar of Counts")) - self.label_172.setText(_translate("metaX_main", "Taxa Overview")) - self.label_121.setText(_translate("metaX_main", "PCA")) - self.pushButton_plot_corr.setText(_translate("metaX_main", "Correlation Heatmap")) - self.pushButton_plot_pca_sns.setText(_translate("metaX_main", "PCA")) - self.pushButton_plot_pca_js.setText(_translate("metaX_main", "3D PCA")) - self.label_119.setText(_translate("metaX_main", "Correlation")) - self.label_171.setText(_translate("metaX_main", "Diversity")) - self.label_173.setText(_translate("metaX_main", "Sankey")) - self.pushButton_basic_plot_number_bar.setText(_translate("metaX_main", "Bar")) - self.pushButton_plot_box_sns.setText(_translate("metaX_main", "Box")) - self.pushButton_plot_alpha_div.setText(_translate("metaX_main", "Alpha Diversity")) - self.pushButton_plot_beta_div.setText(_translate("metaX_main", "Beta Diversity")) - self.pushButton_plot_basic_treemap.setText(_translate("metaX_main", "TreeMap")) - self.pushButton_plot_sunburst.setText(_translate("metaX_main", "Sunburst")) - self.pushButton_plot_basic_sankey.setText(_translate("metaX_main", "Sankey")) - self.label_70.setText(_translate("metaX_main", "Table")) - self.comboBox_table4pca.setItemText(0, _translate("metaX_main", "Taxa")) - self.comboBox_table4pca.setItemText(1, _translate("metaX_main", "Functions")) - self.comboBox_table4pca.setItemText(2, _translate("metaX_main", "Taxa-Functions")) - self.comboBox_table4pca.setItemText(3, _translate("metaX_main", "Peptides")) - self.label_146.setText(_translate("metaX_main", "Meta")) - self.label_142.setText(_translate("metaX_main", "Sub Meta ")) - self.comboBox_sub_meta_pca.setItemText(0, _translate("metaX_main", "None")) self.tabWidget_4.setTabText(self.tabWidget_4.indexOf(self.tab_12), _translate("metaX_main", "Basic Plot")) + self.label_32.setText(_translate("metaX_main", "Select for plotting")) + self.checkBox.setText(_translate("metaX_main", "Show Plotting Parameter")) + self.pushButton_basic_heatmap_drop_item.setText(_translate("metaX_main", "Drop Item")) + self.pushButton_basic_heatmap_clean_list.setText(_translate("metaX_main", "Clean List")) + self.pushButton_basic_heatmap_add_a_list.setToolTip(_translate("metaX_main", "Add a list to the drawing box, make sure there is one item per line.")) + self.pushButton_basic_heatmap_add_a_list.setText(_translate("metaX_main", "Add A List")) + self.label_67.setText(_translate("metaX_main", "Select Top")) + self.label_68.setText(_translate("metaX_main", "Sort by")) + self.comboBox_basic_heatmap_top_by.setItemText(0, _translate("metaX_main", "Total Intensity")) + self.comboBox_basic_heatmap_top_by.setItemText(1, _translate("metaX_main", "Frequency in Samples")) + self.comboBox_basic_heatmap_top_by.setItemText(2, _translate("metaX_main", "Number of links")) + self.comboBox_basic_heatmap_top_by.setItemText(3, _translate("metaX_main", "ANOVA(p-value)")) + self.comboBox_basic_heatmap_top_by.setItemText(4, _translate("metaX_main", "ANOVA(f-statistic)")) + self.comboBox_basic_heatmap_top_by.setItemText(5, _translate("metaX_main", "T-TEST(p-value)")) + self.comboBox_basic_heatmap_top_by.setItemText(6, _translate("metaX_main", "T-TEST(t-statistic)")) + self.comboBox_basic_heatmap_top_by.setItemText(7, _translate("metaX_main", "Deseq2-up(p-value)")) + self.comboBox_basic_heatmap_top_by.setItemText(8, _translate("metaX_main", "Deseq2-down(p-value)")) + self.comboBox_basic_heatmap_top_by.setItemText(9, _translate("metaX_main", "Deseq2-up(log2FC)")) + self.comboBox_basic_heatmap_top_by.setItemText(10, _translate("metaX_main", "Deseq2-down(log2FC)")) + self.checkBox_basic_heatmap_top_filtered.setText(_translate("metaX_main", "Filter with threshold")) + self.label_34.setText(_translate("metaX_main", "List for Plotting")) + self.pushButton_basic_heatmap_add_top.setToolTip(_translate("metaX_main", "Add conditionally filtered items to the drawing box")) + self.pushButton_basic_heatmap_add_top.setText(_translate("metaX_main", "Add Top to List")) + self.pushButton_basic_heatmap_add.setToolTip(_translate("metaX_main", "Add selected item to the drawing box")) + self.pushButton_basic_heatmap_add.setText(_translate("metaX_main", "Add to List")) + self.pushButton_basic_heatmap_plot.setText(_translate("metaX_main", "Plot Heatmap")) + self.pushButton_basic_bar_plot.setText(_translate("metaX_main", "Plot Bar")) + self.pushButton_basic_heatmap_plot_upset.setText(_translate("metaX_main", "UpSet")) + self.pushButton_basic_heatmap_sankey_plot.setText(_translate("metaX_main", "Plot Sankey")) + self.pushButton_basic_heatmap_get_table.setText(_translate("metaX_main", "Get Table")) self.label_80.setText(_translate("metaX_main", "Table")) self.comboBox_basic_table.setItemText(0, _translate("metaX_main", "Taxa")) self.comboBox_basic_table.setItemText(1, _translate("metaX_main", "Functions")) @@ -5774,12 +5962,6 @@ def retranslateUi(self, metaX_main): self.label_144.setText(_translate("metaX_main", "Meta")) self.label_164.setText(_translate("metaX_main", "Sub Meta ")) self.comboBox_3dbar_sub_meta.setToolTip(_translate("metaX_main", "Sub Meta for Bar Plot")) - self.label_32.setText(_translate("metaX_main", "Select for plotting")) - self.checkBox.setText(_translate("metaX_main", "Show Plotting Parameter")) - self.radioButton_basic_heatmap_group.setText(_translate("metaX_main", "Group")) - self.checkBox_basic_heatmap_in_condition.setText(_translate("metaX_main", "In Condition")) - self.pushButton_basic_heatmap_add.setToolTip(_translate("metaX_main", "Add selected item to the drawing box")) - self.pushButton_basic_heatmap_add.setText(_translate("metaX_main", "Add to List")) self.groupBox_basic_heatmap_plot_settings.setTitle(_translate("metaX_main", "Plotting Parameter")) self.label_35.setText(_translate("metaX_main", "Width")) self.label_33.setText(_translate("metaX_main", "Height")) @@ -5811,32 +5993,14 @@ def retranslateUi(self, metaX_main): self.checkBox_basic_bar_3d_for_sub_meta.setText(_translate("metaX_main", "3D for Sub Meta")) self.checkBox_basic_bar_interactive_js.setText(_translate("metaX_main", "Interactive Bar")) self.checkBox_basic_bar_show_legend.setText(_translate("metaX_main", "Show Legend")) - self.label_34.setText(_translate("metaX_main", "List for Plotting")) - self.pushButton_basic_heatmap_add_top.setToolTip(_translate("metaX_main", "Add conditionally filtered items to the drawing box")) - self.pushButton_basic_heatmap_add_top.setText(_translate("metaX_main", "Add Top to List")) - self.pushButton_basic_heatmap_drop_item.setText(_translate("metaX_main", "Drop Item")) - self.pushButton_basic_heatmap_clean_list.setText(_translate("metaX_main", "Clean List")) - self.pushButton_basic_heatmap_add_a_list.setToolTip(_translate("metaX_main", "Add a list to the drawing box, make sure there is one item per line.")) - self.pushButton_basic_heatmap_add_a_list.setText(_translate("metaX_main", "Add A List")) - self.label_67.setText(_translate("metaX_main", "Select Top")) - self.label_68.setText(_translate("metaX_main", "Sort by")) - self.comboBox_basic_heatmap_top_by.setItemText(0, _translate("metaX_main", "Total Intensity")) - self.comboBox_basic_heatmap_top_by.setItemText(1, _translate("metaX_main", "Frequency in Samples")) - self.comboBox_basic_heatmap_top_by.setItemText(2, _translate("metaX_main", "Number of links")) - self.comboBox_basic_heatmap_top_by.setItemText(3, _translate("metaX_main", "ANOVA(p-value)")) - self.comboBox_basic_heatmap_top_by.setItemText(4, _translate("metaX_main", "ANOVA(f-statistic)")) - self.comboBox_basic_heatmap_top_by.setItemText(5, _translate("metaX_main", "T-TEST(p-value)")) - self.comboBox_basic_heatmap_top_by.setItemText(6, _translate("metaX_main", "T-TEST(t-statistic)")) - self.comboBox_basic_heatmap_top_by.setItemText(7, _translate("metaX_main", "Deseq2-up(p-value)")) - self.comboBox_basic_heatmap_top_by.setItemText(8, _translate("metaX_main", "Deseq2-down(p-value)")) - self.comboBox_basic_heatmap_top_by.setItemText(9, _translate("metaX_main", "Deseq2-up(log2FC)")) - self.comboBox_basic_heatmap_top_by.setItemText(10, _translate("metaX_main", "Deseq2-down(log2FC)")) - self.checkBox_basic_heatmap_top_filtered.setText(_translate("metaX_main", "Filter with threshold")) - self.pushButton_basic_heatmap_get_table.setText(_translate("metaX_main", "Get Table")) - self.pushButton_basic_heatmap_sankey_plot.setText(_translate("metaX_main", "Plot Sankey")) - self.pushButton_basic_bar_plot.setText(_translate("metaX_main", "Plot Bar")) - self.pushButton_basic_heatmap_plot.setText(_translate("metaX_main", "Plot Heatmap")) - self.radioButton_basic_heatmap_sample.setText(_translate("metaX_main", "Sample")) + self.label_heatmap_upset.setText(_translate("metaX_main", "UpSet")) + self.label_211.setText(_translate("metaX_main", "Min Subset Size")) + self.label_212.setText(_translate("metaX_main", "Max Rank")) + self.checkBox_basic_heatmap_plot_upset_show_percentage.setText(_translate("metaX_main", "Show Percentages")) + self.label_209.setText(_translate("metaX_main", "Select")) + self.comboBox_basic_heatmap_group_or_sample.setItemText(0, _translate("metaX_main", "Group")) + self.comboBox_basic_heatmap_group_or_sample.setItemText(1, _translate("metaX_main", "Sample")) + self.checkBox_basic_heatmap_in_condition.setText(_translate("metaX_main", "In Condition")) self.tabWidget_4.setTabText(self.tabWidget_4.indexOf(self.tab_13), _translate("metaX_main", "Heatmap and Bar")) self.label_81.setText(_translate("metaX_main", "Peptide")) self.pushButton_basic_peptide_query.setText(_translate("metaX_main", "Query")) @@ -5976,6 +6140,17 @@ def retranslateUi(self, metaX_main): self.checkBox_tukey_in_condition.setText(_translate("metaX_main", "In Condition")) self.tabWidget_3.setTabText(self.tabWidget_3.indexOf(self.tab_4), _translate("metaX_main", "TUKEY TEST")) self.tabWidget_TaxaFuncAnalyzer.setTabText(self.tabWidget_TaxaFuncAnalyzer.indexOf(self.tab_2), _translate("metaX_main", "Cross Test")) + self.pushButton_co_expr_drop_item.setText(_translate("metaX_main", "Drop Item")) + self.pushButton_co_expr_clean_list.setText(_translate("metaX_main", "Clean List")) + self.pushButton_co_expr_add_a_list.setToolTip(_translate("metaX_main", "Add a list to the drawing box, make sure there is one item per line.")) + self.pushButton_co_expr_add_a_list.setText(_translate("metaX_main", "Add a list")) + self.pushButton_co_expr_add_to_list.setToolTip(_translate("metaX_main", "Add selected item to the drawing box")) + self.pushButton_co_expr_add_to_list.setText(_translate("metaX_main", "Add to Focus List")) + self.label_213.setText(_translate("metaX_main", "Select")) + self.comboBox_co_expr_group_sample.setItemText(0, _translate("metaX_main", "Group")) + self.comboBox_co_expr_group_sample.setItemText(1, _translate("metaX_main", "Sample")) + self.checkBox_4.setText(_translate("metaX_main", "Show Plotting Parameter")) + self.checkBox_co_expression_in_condition.setText(_translate("metaX_main", "In Condition")) self.groupBox_co_expression_plot_settings.setTitle(_translate("metaX_main", "Plotting Parameter")) self.label_190.setText(_translate("metaX_main", "Show All Labels")) self.checkBox_corr_hetatmap_show_all_labels_x.setText(_translate("metaX_main", "X")) @@ -5994,16 +6169,17 @@ def retranslateUi(self, metaX_main): self.label_187.setText(_translate("metaX_main", "General")) self.label_188.setText(_translate("metaX_main", "Network")) self.checkBox_co_expr_plot_list_only.setText(_translate("metaX_main", "Plot List Only")) - self.pushButton_co_expr_add_top.setToolTip(_translate("metaX_main", "Add conditionally filtered items to the drawing box")) - self.pushButton_co_expr_add_top.setText(_translate("metaX_main", "Add Top to List")) self.label_29.setText(_translate("metaX_main", "Table")) self.comboBox_co_expr_table.setItemText(0, _translate("metaX_main", "Taxa")) self.comboBox_co_expr_table.setItemText(1, _translate("metaX_main", "Functions")) self.comboBox_co_expr_table.setItemText(2, _translate("metaX_main", "Taxa-Functions")) self.comboBox_co_expr_table.setItemText(3, _translate("metaX_main", "Peptides")) self.label_143.setText(_translate("metaX_main", "Meta")) - self.pushButton_co_expr_add_to_list.setToolTip(_translate("metaX_main", "Add selected item to the drawing box")) - self.pushButton_co_expr_add_to_list.setText(_translate("metaX_main", "Add to Focus List")) + self.label_72.setText(_translate("metaX_main", "Focus List")) + self.pushButton_co_expr_add_top.setToolTip(_translate("metaX_main", "Add conditionally filtered items to the drawing box")) + self.pushButton_co_expr_add_top.setText(_translate("metaX_main", "Add Top to List")) + self.pushButton_co_expr_plot.setText(_translate("metaX_main", "Plot Co-Expression Network")) + self.pushButton_co_expr_heatmap_plot.setText(_translate("metaX_main", "Plot Co-Expression Heatmap")) self.label_73.setText(_translate("metaX_main", "Select Top")) self.label_74.setText(_translate("metaX_main", "Sort by")) self.comboBox_co_expr_top_by.setItemText(0, _translate("metaX_main", "Total Intensity")) @@ -6018,24 +6194,25 @@ def retranslateUi(self, metaX_main): self.comboBox_co_expr_top_by.setItemText(9, _translate("metaX_main", "Deseq2-up(log2FC)")) self.comboBox_co_expr_top_by.setItemText(10, _translate("metaX_main", "Deseq2-down(log2FC)")) self.checkBox_co_expr_top_filtered.setText(_translate("metaX_main", "Filter with threshold")) - self.pushButton_co_expr_plot.setText(_translate("metaX_main", "Plot Co-Expression Network")) - self.pushButton_co_expr_heatmap_plot.setText(_translate("metaX_main", "Plot Co-Expression Heatmap")) - self.checkBox_co_expression_in_condition.setText(_translate("metaX_main", "In Condition")) - self.checkBox_4.setText(_translate("metaX_main", "Show Plotting Parameter")) - self.radioButton_co_expr_bygroup.setText(_translate("metaX_main", "Group")) - self.pushButton_co_expr_drop_item.setText(_translate("metaX_main", "Drop Item")) - self.pushButton_co_expr_clean_list.setText(_translate("metaX_main", "Clean List")) - self.pushButton_co_expr_add_a_list.setToolTip(_translate("metaX_main", "Add a list to the drawing box, make sure there is one item per line.")) - self.pushButton_co_expr_add_a_list.setText(_translate("metaX_main", "Add a list")) - self.radioButton_co_expr_bysample.setText(_translate("metaX_main", "Sample")) - self.label_72.setText(_translate("metaX_main", "Focus List")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_5), _translate("metaX_main", "Co-Expression")) - self.checkBox_trends_in_condition.setText(_translate("metaX_main", "In Condition")) - self.radioButton_trends_group.setText(_translate("metaX_main", "Group")) - self.pushButton_trends_add_top.setToolTip(_translate("metaX_main", "Add conditionally filtered items to the drawing box")) - self.pushButton_trends_add_top.setText(_translate("metaX_main", "Add Top to List")) - self.radioButton_trends_sample.setText(_translate("metaX_main", "Sample")) + self.label_215.setText(_translate("metaX_main", "Select")) + self.comboBox_trends_group_sample.setItemText(0, _translate("metaX_main", "Group")) + self.comboBox_trends_group_sample.setItemText(1, _translate("metaX_main", "Sample")) self.label_98.setText(_translate("metaX_main", "List for Plotting")) + self.groupBox_expression_trends_plot_settings.setTitle(_translate("metaX_main", "Plotting Parameter")) + self.checkBox_trends_plot_interactive_rename_taxa.setText(_translate("metaX_main", "Simplify Taxa Names")) + self.checkBox_trends_plot_interactive_plot_samples.setText(_translate("metaX_main", "Plot Samples")) + self.label_174.setText(_translate("metaX_main", "General")) + self.label_175.setText(_translate("metaX_main", "Specific cluster")) + self.checkBox_trends_plot_interactive_show_legend.setText(_translate("metaX_main", "Show Legend")) + self.checkBox_get_trends_cluster_intensity.setText(_translate("metaX_main", "Get Intnsity Results")) + self.label_97.setText(_translate("metaX_main", "Width")) + self.label_92.setText(_translate("metaX_main", "Height")) + self.label_158.setText(_translate("metaX_main", "Font Size")) + self.label_195.setText(_translate("metaX_main", "Number of Col for Cluster Plot")) + self.checkBox_trends_in_condition.setText(_translate("metaX_main", "In Condition")) + self.pushButton_trends_add.setToolTip(_translate("metaX_main", "Add selected item to the drawing box")) + self.pushButton_trends_add.setText(_translate("metaX_main", "Add to List")) self.label_99.setText(_translate("metaX_main", "Select Top")) self.label_91.setText(_translate("metaX_main", "Sort by")) self.comboBox_trends_top_by.setItemText(0, _translate("metaX_main", "Total Intensity")) @@ -6050,30 +6227,19 @@ def retranslateUi(self, metaX_main): self.comboBox_trends_top_by.setItemText(9, _translate("metaX_main", "Deseq2-up(log2FC)")) self.comboBox_trends_top_by.setItemText(10, _translate("metaX_main", "Deseq2-down(log2FC)")) self.checkBox_trends_top_filtered.setText(_translate("metaX_main", "Filter with threshold")) - self.pushButton_trends_add.setToolTip(_translate("metaX_main", "Add selected item to the drawing box")) - self.pushButton_trends_add.setText(_translate("metaX_main", "Add to List")) self.pushButton_trends_drop_item.setText(_translate("metaX_main", "Drop Item")) self.pushButton_trends_clean_list.setText(_translate("metaX_main", "Clean List")) self.pushButton_trends_add_a_list.setToolTip(_translate("metaX_main", "Add a list to the drawing box, make sure there is one item per line.")) self.pushButton_trends_add_a_list.setText(_translate("metaX_main", "Add A list")) + self.label_100.setText(_translate("metaX_main", "Select for plotting")) self.label_96.setText(_translate("metaX_main", "Table")) self.comboBox_trends_table.setItemText(0, _translate("metaX_main", "Taxa")) self.comboBox_trends_table.setItemText(1, _translate("metaX_main", "Functions")) self.comboBox_trends_table.setItemText(2, _translate("metaX_main", "Taxa-Functions")) self.comboBox_trends_table.setItemText(3, _translate("metaX_main", "Peptides")) self.label_148.setText(_translate("metaX_main", "Meta")) - self.label_100.setText(_translate("metaX_main", "Select for plotting")) - self.groupBox_expression_trends_plot_settings.setTitle(_translate("metaX_main", "Plotting Parameter")) - self.checkBox_trends_plot_interactive_rename_taxa.setText(_translate("metaX_main", "Simplify Taxa Names")) - self.checkBox_trends_plot_interactive_plot_samples.setText(_translate("metaX_main", "Plot Samples")) - self.label_174.setText(_translate("metaX_main", "General")) - self.label_175.setText(_translate("metaX_main", "Specific cluster")) - self.checkBox_trends_plot_interactive_show_legend.setText(_translate("metaX_main", "Show Legend")) - self.checkBox_get_trends_cluster_intensity.setText(_translate("metaX_main", "Get Intnsity Results")) - self.label_97.setText(_translate("metaX_main", "Width")) - self.label_92.setText(_translate("metaX_main", "Height")) - self.label_158.setText(_translate("metaX_main", "Font Size")) - self.label_195.setText(_translate("metaX_main", "Number of Col for Cluster Plot")) + self.pushButton_trends_add_top.setToolTip(_translate("metaX_main", "Add conditionally filtered items to the drawing box")) + self.pushButton_trends_add_top.setText(_translate("metaX_main", "Add Top to List")) self.label_93.setText(_translate("metaX_main", "Select Cluster")) self.pushButton_trends_get_trends_table.setText(_translate("metaX_main", "Get ClusterTable")) self.label_165.setText(_translate("metaX_main", "Plot Specific Cluster")) @@ -6088,29 +6254,10 @@ def retranslateUi(self, metaX_main): self.pushButton_others_plot_line.setText(_translate("metaX_main", "Plot Bar")) self.pushButton_others_get_intensity_matrix.setText(_translate("metaX_main", "Get Heatmap Table")) self.checkBox_6.setText(_translate("metaX_main", "Show Plotting Parameter")) - self.radioButton_tflink_group.setText(_translate("metaX_main", "Group")) - self.label_others_func_num.setText(_translate("metaX_main", "Linked Number: -")) - self.pushButton_others_show_linked_taxa.setText(_translate("metaX_main", "Show Linked Taxa Only")) - self.pushButton_others_fresh_taxa_func.setToolTip(_translate("metaX_main", "Restore both lists to their original full items")) - self.pushButton_others_fresh_taxa_func.setText(_translate("metaX_main", "Reset List")) - self.label_75.setText(_translate("metaX_main", "Filter Top")) - self.label_76.setText(_translate("metaX_main", "By")) - self.comboBox_tflink_top_by.setItemText(0, _translate("metaX_main", "Total Intensity")) - self.comboBox_tflink_top_by.setItemText(1, _translate("metaX_main", "Frequency in Samples")) - self.comboBox_tflink_top_by.setItemText(2, _translate("metaX_main", "Number of links")) - self.comboBox_tflink_top_by.setItemText(3, _translate("metaX_main", "ANOVA(p-value)")) - self.comboBox_tflink_top_by.setItemText(4, _translate("metaX_main", "ANOVA(f-statistic)")) - self.comboBox_tflink_top_by.setItemText(5, _translate("metaX_main", "T-TEST(p-value)")) - self.comboBox_tflink_top_by.setItemText(6, _translate("metaX_main", "T-TEST(t-statistic)")) - self.comboBox_tflink_top_by.setItemText(7, _translate("metaX_main", "Deseq2-up(p-value)")) - self.comboBox_tflink_top_by.setItemText(8, _translate("metaX_main", "Deseq2-down(p-value)")) - self.comboBox_tflink_top_by.setItemText(9, _translate("metaX_main", "Deseq2-up(log2FC)")) - self.comboBox_tflink_top_by.setItemText(10, _translate("metaX_main", "Deseq2-down(log2FC)")) - self.checkBox_tflink_top_filtered.setText(_translate("metaX_main", "Filter with threshold")) - self.pushButton_tflink_filter.setToolTip(_translate("metaX_main", "Filter items in the two lists by condition")) - self.pushButton_tflink_filter.setText(_translate("metaX_main", "Filter")) - self.label_19.setText(_translate("metaX_main", "Taxa")) - self.label_149.setText(_translate("metaX_main", "Meta")) + self.label_18.setText(_translate("metaX_main", "Function")) + self.label_196.setText(_translate("metaX_main", "Sub Meta ")) + self.label_others_taxa_num.setText(_translate("metaX_main", "Linked Number: -")) + self.pushButton_others_show_linked_func.setText(_translate("metaX_main", "Show Linked Func Only")) self.groupBox_taxa_func_link_plot_settings.setTitle(_translate("metaX_main", "Plotting Parameter")) self.label_178.setText(_translate("metaX_main", "Bar")) self.checkBox_tflink_hetatmap_col_cluster.setText(_translate("metaX_main", "Col Cluster")) @@ -6135,31 +6282,33 @@ def retranslateUi(self, metaX_main): self.comboBox_tflink_hetatmap_scale.setItemText(2, _translate("metaX_main", "column")) self.comboBox_tflink_hetatmap_scale.setItemText(3, _translate("metaX_main", "all")) self.label_61.setText(_translate("metaX_main", "Theme")) - self.label_others_taxa_num.setText(_translate("metaX_main", "Linked Number: -")) - self.pushButton_others_show_linked_func.setText(_translate("metaX_main", "Show Linked Func Only")) - self.radioButton_tflink_sample.setText(_translate("metaX_main", "Sample")) + self.label_216.setText(_translate("metaX_main", "Select")) + self.comboBox_tflink_group_sample.setItemText(0, _translate("metaX_main", "Group")) + self.comboBox_tflink_group_sample.setItemText(1, _translate("metaX_main", "Sample")) + self.pushButton_others_fresh_taxa_func.setToolTip(_translate("metaX_main", "Restore both lists to their original full items")) + self.pushButton_others_fresh_taxa_func.setText(_translate("metaX_main", "Reset List")) + self.label_others_func_num.setText(_translate("metaX_main", "Linked Number: -")) + self.pushButton_others_show_linked_taxa.setText(_translate("metaX_main", "Show Linked Taxa Only")) + self.label_19.setText(_translate("metaX_main", "Taxa")) + self.label_149.setText(_translate("metaX_main", "Meta")) + self.label_75.setText(_translate("metaX_main", "Filter Top")) + self.label_76.setText(_translate("metaX_main", "By")) + self.comboBox_tflink_top_by.setItemText(0, _translate("metaX_main", "Total Intensity")) + self.comboBox_tflink_top_by.setItemText(1, _translate("metaX_main", "Frequency in Samples")) + self.comboBox_tflink_top_by.setItemText(2, _translate("metaX_main", "Number of links")) + self.comboBox_tflink_top_by.setItemText(3, _translate("metaX_main", "ANOVA(p-value)")) + self.comboBox_tflink_top_by.setItemText(4, _translate("metaX_main", "ANOVA(f-statistic)")) + self.comboBox_tflink_top_by.setItemText(5, _translate("metaX_main", "T-TEST(p-value)")) + self.comboBox_tflink_top_by.setItemText(6, _translate("metaX_main", "T-TEST(t-statistic)")) + self.comboBox_tflink_top_by.setItemText(7, _translate("metaX_main", "Deseq2-up(p-value)")) + self.comboBox_tflink_top_by.setItemText(8, _translate("metaX_main", "Deseq2-down(p-value)")) + self.comboBox_tflink_top_by.setItemText(9, _translate("metaX_main", "Deseq2-up(log2FC)")) + self.comboBox_tflink_top_by.setItemText(10, _translate("metaX_main", "Deseq2-down(log2FC)")) + self.checkBox_tflink_top_filtered.setText(_translate("metaX_main", "Filter with threshold")) + self.pushButton_tflink_filter.setToolTip(_translate("metaX_main", "Filter items in the two lists by condition")) + self.pushButton_tflink_filter.setText(_translate("metaX_main", "Filter")) self.checkBox_tflink_in_condition.setText(_translate("metaX_main", "In Condition")) - self.label_18.setText(_translate("metaX_main", "Function")) - self.label_196.setText(_translate("metaX_main", "Sub Meta ")) self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_8), _translate("metaX_main", "Taxa-Func Link")) - self.radioButton_network_bysample.setText(_translate("metaX_main", "Sample")) - self.label_49.setText(_translate("metaX_main", "Table")) - self.comboBox_tfnet_table.setItemText(0, _translate("metaX_main", "Taxa")) - self.comboBox_tfnet_table.setItemText(1, _translate("metaX_main", "Functions")) - self.comboBox_tfnet_table.setItemText(2, _translate("metaX_main", "Taxa-Functions")) - self.label_150.setText(_translate("metaX_main", "Meta")) - self.label_77.setText(_translate("metaX_main", "Focus List")) - self.checkBox_tfnetwork_in_condition.setText(_translate("metaX_main", "In Condition")) - self.radioButton_network_bygroup.setText(_translate("metaX_main", "Group")) - self.checkBox_7.setText(_translate("metaX_main", "Show Parameter")) - self.pushButton_tfnet_drop_item.setText(_translate("metaX_main", "Drop Item")) - self.pushButton_tfnet_clean_list.setText(_translate("metaX_main", "Clean List")) - self.pushButton_tfnet_add_a_list.setToolTip(_translate("metaX_main", "Add a list to the drawing box, make sure there is one item per line.")) - self.pushButton_tfnet_add_a_list.setText(_translate("metaX_main", "Add a list")) - self.pushButton_tfnet_add_to_list.setToolTip(_translate("metaX_main", "Add selected item to the drawing box")) - self.pushButton_tfnet_add_to_list.setText(_translate("metaX_main", "Add to Focus List")) - self.pushButton_tfnet_add_top.setToolTip(_translate("metaX_main", "Add conditionally filtered items to the drawing box")) - self.pushButton_tfnet_add_top.setText(_translate("metaX_main", "Add Top to List")) self.label_78.setText(_translate("metaX_main", "Select Top")) self.label_79.setText(_translate("metaX_main", "Sort by")) self.comboBox_tfnet_top_by.setItemText(0, _translate("metaX_main", "Total Intensity")) @@ -6174,7 +6323,25 @@ def retranslateUi(self, metaX_main): self.comboBox_tfnet_top_by.setItemText(9, _translate("metaX_main", "Deseq2-up(log2FC)")) self.comboBox_tfnet_top_by.setItemText(10, _translate("metaX_main", "Deseq2-down(log2FC)")) self.checkBox_tfnet_top_filtered.setText(_translate("metaX_main", "Filter with threshold")) + self.checkBox_7.setText(_translate("metaX_main", "Show Parameter")) + self.label_77.setText(_translate("metaX_main", "Focus List")) + self.label_49.setText(_translate("metaX_main", "Table")) + self.comboBox_tfnet_table.setItemText(0, _translate("metaX_main", "Taxa")) + self.comboBox_tfnet_table.setItemText(1, _translate("metaX_main", "Functions")) + self.comboBox_tfnet_table.setItemText(2, _translate("metaX_main", "Taxa-Functions")) + self.label_150.setText(_translate("metaX_main", "Meta")) + self.pushButton_tfnet_add_to_list.setToolTip(_translate("metaX_main", "Add selected item to the drawing box")) + self.pushButton_tfnet_add_to_list.setText(_translate("metaX_main", "Add to Focus List")) self.pushButton_plot_network.setText(_translate("metaX_main", "Plot Ntework")) + self.pushButton_tfnet_drop_item.setText(_translate("metaX_main", "Drop Item")) + self.pushButton_tfnet_clean_list.setText(_translate("metaX_main", "Clean List")) + self.pushButton_tfnet_add_a_list.setToolTip(_translate("metaX_main", "Add a list to the drawing box, make sure there is one item per line.")) + self.pushButton_tfnet_add_a_list.setText(_translate("metaX_main", "Add a list")) + self.pushButton_tfnet_add_top.setToolTip(_translate("metaX_main", "Add conditionally filtered items to the drawing box")) + self.pushButton_tfnet_add_top.setText(_translate("metaX_main", "Add Top to List")) + self.label_217.setText(_translate("metaX_main", "Select")) + self.comboBox_radioButton_network_group_sample.setItemText(0, _translate("metaX_main", "Group")) + self.comboBox_radioButton_network_group_sample.setItemText(1, _translate("metaX_main", "Sample")) self.groupBox_taxa_func_link_net_plot_settings.setTitle(_translate("metaX_main", "Plotting Parameter")) self.label_50.setText(_translate("metaX_main", "Width")) self.label_51.setText(_translate("metaX_main", "Height")) @@ -6183,6 +6350,7 @@ def retranslateUi(self, metaX_main): self.checkBox_tf_link_net_show_label.setText(_translate("metaX_main", "Show Labels")) self.checkBox_tf_link_net_rename_taxa.setText(_translate("metaX_main", "Raname Taxa")) self.label_163.setText(_translate("metaX_main", "Font Size")) + self.checkBox_tfnetwork_in_condition.setText(_translate("metaX_main", "In Condition")) self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_9), _translate("metaX_main", "Taxa-Func Network")) self.tabWidget_TaxaFuncAnalyzer.setTabText(self.tabWidget_TaxaFuncAnalyzer.indexOf(self.tab_others_stats), _translate("metaX_main", "Taxa-Func Link")) self.pushButton_view_table.setText(_translate("metaX_main", "View Table")) diff --git a/metax/taxafunc_ploter/basic_plot.py b/metax/taxafunc_ploter/basic_plot.py index bf85fe9..b64aa9f 100644 --- a/metax/taxafunc_ploter/basic_plot.py +++ b/metax/taxafunc_ploter/basic_plot.py @@ -6,7 +6,7 @@ import numpy as np import pandas as pd from adjustText import adjust_text - +from upsetplot import plot as upset_plot from .get_distinct_colors import GetDistinctColors class BasicPlot: @@ -599,11 +599,70 @@ def create_df_plot_group(df, sub_meta): # plt.close() return ax - def plot_distribution_sns(self, df, title_name = 'Table', width=10, height=8, font_size = 10, - theme:str = 'Auto', plot_sample = False, show_label = True, - rename_sample:bool = False, legend_col_num: int | None = None, - sub_meta:str|None = 'None', bins:int = 10): - pass + def plot_upset(self, df, title_name='Table', width=12, height=6, font_size=10, + plot_sample=False, sub_meta: str | None = 'None', show_label=True, + rename_sample: bool = False, show_percentages: bool = False, + min_subset_size = None, max_subset_rank = None): + """ + Plot an UpSet plot for the input dataframe, following the correct input format. + """ + + df = df.copy() + + if plot_sample: + # Create a binary matrix (boolean format) with samples as groups + df_binary = (df > 0).astype(bool) + df_binary['id'] = df_binary.index # Add an 'id' column for items + + if rename_sample: + renamed_columns = {} + for sample in df.columns: + group = self.tfa.get_group_of_a_sample(sample) + renamed_columns[sample] = f"{sample} ({group})" + df_binary.rename(columns=renamed_columns, inplace=True) + + else: + # Group the samples by group or subgroup + group_dict = {} + for sample in df.columns: + group = self.tfa.get_group_of_a_sample(sample) + if sub_meta not in ['None', None]: + subgroup = self.tfa.get_group_of_a_sample(sample, sub_meta) + group = f"{group} ({subgroup})" + + if group not in group_dict: + group_dict[group] = [] + group_dict[group].append(sample) + + # Create a binary matrix for the groups + group_values = { + group: (df[samples].sum(axis=1) > 0).astype(bool) + for group, samples in group_dict.items() + } + df_binary = pd.DataFrame(group_values) + df_binary['id'] = df_binary.index # Add an 'id' column for items + + try: + # Set the groups as index and ensure boolean values + upset_data = df_binary.set_index([col for col in df_binary.columns if col != 'id']) + + # Plot UpSet + fig = plt.figure(figsize=(width, height)) + plt.rcParams.update({'font.size': font_size}) + upset_plot(upset_data, fig = fig, show_counts=show_label, + show_percentages=show_percentages if show_label else False, + element_size=None, + min_subset_size=min_subset_size if min_subset_size != 0 else None, + max_subset_rank=max_subset_rank if max_subset_rank != 0 else None) + + plt.suptitle(f"UpSet of {title_name}", fontsize=font_size + 2, fontweight='bold') + plt.tight_layout() + plt.show() + + except Exception as e: + plt.close('all') + raise e + def plot_items_corr_heatmap( self, diff --git a/metax/utils/version.py b/metax/utils/version.py index be738a0..35786cc 100644 --- a/metax/utils/version.py +++ b/metax/utils/version.py @@ -1,2 +1,2 @@ -__version__ = '1.118.4' -API_version = '3' \ No newline at end of file +__version__ = '1.119.3' +API_version = '4' \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index f93cf8a..5fdc7df 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "MetaXTools" -version = "1.118.4" +version = "1.119.3" description = "MetaXTools is a novel tool for linking peptide sequences with taxonomic and functional information in Metaproteomics." readme = "README_PyPi.md" license = { text = "NorthOmics" } @@ -42,6 +42,7 @@ dependencies = [ "statsmodels", "seaborn>=0.13.2", "numba>=0.60.0", + "UpSetPlot>=0.9.0 ] [project.scripts] diff --git a/requirements.txt b/requirements.txt index 9938c02..77d3ca8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -21,4 +21,5 @@ openpyxl pyproject-toml>=0.0.10 statsmodels seaborn>=0.13.2 -numba>=0.60.0 \ No newline at end of file +numba>=0.60.0 +UpSetPlot>=0.9.0 \ No newline at end of file