def get_controls_side_time_series_features(side): first_dimension = list(TREE_TIME_SERIES.keys())[0] first_subdimension = list(TREE_TIME_SERIES[first_dimension].keys())[0] first_sub_subdimension = TREE_TIME_SERIES[first_dimension][ first_subdimension][0] nb_channel = INFORMATION_TIME_SERIES[first_dimension][first_subdimension][ first_sub_subdimension]["nb_channel"] if side == "left": value_idx = 0 else: # side == "right": value_idx = 1 return [ get_item_radio_items(f"sex_{side}_time_series_features", SEX_LEGEND, "Select sex :", value_idx=value_idx), get_item_radio_items(f"age_group_{side}_time_series_features", AGE_GROUP_LEGEND, "Select age group :", value_idx=1), get_item_radio_items(f"aging_rate_{side}_time_series_features", AGING_RATE_LEGEND, "Select aging rate :", value_idx=1), get_drop_down(f"sample_{side}_time_series_features", SAMPLE_LEGEND, "Select sample :"), get_drop_down(f"channel_{side}_time_series_features", range(nb_channel), "Select channel :", from_dict=False), ]
def get_controls_tab_average_multivariate(): main_dimensions_subdimension = { "MainDimensions": "MainDimensions", "SubDimensions": "SubDimensions" } main_dimensions_subdimension.update(DIMENSIONS_SUBDIMENSIONS) average_dimensions_subdimension = {"average": "average"} average_dimensions_subdimension.update(DIMENSIONS_SUBDIMENSIONS) return dbc.Card([ get_item_radio_items( "main_category_average_multivariate", list(MAIN_CATEGORIES_TO_CATEGORIES.keys()), "Select X main category: ", from_dict=False, ), get_drop_down( "dimension_subdimension_1_average_multivariate", main_dimensions_subdimension, "Select an aging dimension 1: ", ), html.Div( [ get_drop_down( "dimension_subdimension_2_average_multivariate", average_dimensions_subdimension, "Select an aging dimension 2: ", ) ], id="hiden_dimension_subdimension_2_average_multivariate", style={"display": "none"}, ), get_item_radio_items( "display_mode_average_multivariate", DISPLAY_MODE, "Rank by : ", ), get_item_radio_items( "algorithm_average_multivariate", { "elastic_net": ALGORITHMS["elastic_net"], "light_gbm": ALGORITHMS["light_gbm"], "neural_network": ALGORITHMS["neural_network"], }, "Select an algorithm :", ), get_item_radio_items("correlation_type_average_multivariate", CORRELATION_TYPES, "Select correlation type :"), ])
def get_controls_features_multivariate(): return dbc.Card([ get_item_radio_items( "main_category_features_multivariate", list(MAIN_CATEGORIES_TO_CATEGORIES.keys()), "Select X main category: ", from_dict=False, ), get_drop_down("category_features_multivariate", ["..."], "Select X subcategory: ", from_dict=False), get_drop_down("dimension_subdimension_features_multivariate", DIMENSIONS_SUBDIMENSIONS, "Select an aging dimension: "), ])
def get_controls_comparison(order, default_category): return dbc.Card([ get_drop_down( f"{order}_category_comparison", MAIN_CATEGORIES_TO_CATEGORIES["All"] + [ f"All_{main_category}" for main_category in MAIN_CATEGORIES_TO_CATEGORIES.keys() ], f"Select {order} category to compare: ", from_dict=False, value=default_category, ), html.Div( [ get_item_radio_items(f"{order}_uni_or_multi_comparison", UNIVARIATE_OR_MULTIVARIATE, "Select the type of XWAS :"), get_item_radio_items(f"{order}_method_comparison", SUBSET_METHODS, "Select method :"), get_item_radio_items(f"{order}_correlation_type_comparison", CORRELATION_TYPES, "Select correlation type :"), ], id=f"{order}_hiden_settings", style={"display": "none"}, ), ])
def get_controls_tab_bar_plot_multivariate_results(): return dbc.Card([ get_item_radio_items( "main_category_bar_plot_multivariate_results", list(MAIN_CATEGORIES_TO_CATEGORIES.keys()), "Select X main category: ", from_dict=False, ), get_drop_down( "dimension_bar_plot_multivariate_results", DIMENSIONS_SUBDIMENSIONS, "Select an aging dimension : ", ), get_item_radio_items( "display_mode_bar_plot_multivariate_results", DISPLAY_MODE, "Rank by : ", ), get_item_radio_items( "algorithm_bar_plot_multivariate_results", { "best_algorithm": ALGORITHMS["best_algorithm"], "elastic_net": ALGORITHMS["elastic_net"], "light_gbm": ALGORITHMS["light_gbm"], "neural_network": ALGORITHMS["neural_network"], }, "Select an Algorithm :", ), ])
def get_controls_tab_category_multivariate(): categories = pd.Index(MAIN_CATEGORIES_TO_CATEGORIES["All"]).drop( MULTIVARIATE_CATEGORIES_TO_REMOVE) return dbc.Card([ get_item_radio_items( "main_category_category_multivariate", list(MAIN_CATEGORIES_TO_CATEGORIES.keys()), "Select X main category: ", from_dict=False, ), get_drop_down("category_category_multivariate", categories, "Select X subcategory: ", from_dict=False), get_item_radio_items("order_type_category_multivariate", ORDER_TYPES, "Order by:"), get_item_radio_items( "algorithm_category", { "elastic_net": ALGORITHMS["elastic_net"], "light_gbm": ALGORITHMS["light_gbm"], "neural_network": ALGORITHMS["neural_network"], }, "Select an Algorithm :", ), get_item_radio_items("correlation_type_category_multivariate", CORRELATION_TYPES, "Select correlation type :"), ])
def get_controls_images_features(): first_dimension = list(TREE_IMAGES.keys())[0] first_subdimension = list(TREE_IMAGES[first_dimension].keys())[0] return [ get_item_radio_items("dimension_images_features", list(TREE_IMAGES.keys()), "Select main aging dimesion :", from_dict=False), get_item_radio_items( "subdimension_images_features", list(TREE_IMAGES[first_dimension].keys()), "Select subdimension :", from_dict=False, ), get_drop_down( "sub_subdimension_images_features", TREE_IMAGES[first_dimension][first_subdimension], "Select sub-subdimension :", from_dict=False, ), get_check_list("display_mode_images_features", DISPLAY_MODE, "Select a display mode", from_dict=False), ]
def get_controls_tab_univariate_volcano(): return dbc.Card([ get_item_radio_items( "main_category_univariate_volcano", list(MAIN_CATEGORIES_TO_CATEGORIES.keys()), "Select X main category: ", from_dict=False, ), get_drop_down("category_univariate_volcano", ["All"], "Select X subcategory: ", from_dict=False), get_drop_down( "dimension_univariate_volcano", DIMENSIONS_SUBDIMENSIONS, "Select an aging dimension: ", ), ])
def get_controls_manhattan_qq_gwas(): dimensions_subdimensions = DIMENSIONS_SUBDIMENSIONS.copy() for dimension_subdimension in DIMENSIONS_TO_DROP_MANHATTAN_QQ: del dimensions_subdimensions[dimension_subdimension] return dbc.Card( get_drop_down("dimension_subdimension_manhattan_qq_gwas", dimensions_subdimensions, "Select a dimension:"))
def get_controls_volcano_gwas(): dimensions_subdimensions = {"All": "All"} dimensions_subdimensions.update(DIMENSIONS_SUBDIMENSIONS) for dimension_subdimension in DIMENSIONS_TO_DROP_VOLCANO: del dimensions_subdimensions[dimension_subdimension] return dbc.Card( get_drop_down("dimension_volcano_gwas", dimensions_subdimensions, "Select a dimension:"))
def get_controls_tab_univariate_average(): main_dimensions_subdimension = { "MainDimensions": "MainDimensions", "SubDimensions": "SubDimensions" } main_dimensions_subdimension.update(DIMENSIONS_SUBDIMENSIONS) average_dimensions_subdimension = {"average": "average"} average_dimensions_subdimension.update(DIMENSIONS_SUBDIMENSIONS) return dbc.Card([ get_item_radio_items( "main_category_univariate_average", list(MAIN_CATEGORIES_TO_CATEGORIES.keys()), "Select X main category: ", from_dict=False, ), get_drop_down( "dimension_subdimension_1_univariate_average", main_dimensions_subdimension, "Select an aging dimension 1: ", ), html.Div( [ get_drop_down( "dimension_subdimension_2_univariate_average", average_dimensions_subdimension, "Select an aging dimension 2: ", ) ], id="hiden_dimension_subdimension_2_univariate_average", style={"display": "none"}, ), get_item_radio_items( "display_mode_univariate_average", DISPLAY_MODE, "Rank by : ", ), get_item_radio_items("subset_method_univariate_average", SUBSET_METHODS, "Select subset method :"), get_item_radio_items("correlation_type_univariate_average", CORRELATION_TYPES, "Select correlation type :"), ])
def get_controls_tab_univariate_dimension(): return dbc.Card( [ get_drop_down( "dimension_subdimension_univariate_dimension", DIMENSIONS_SUBDIMENSIONS, "Select an aging dimension: " ), get_item_radio_items("subset_method_univariate_dimension", SUBSET_METHODS, "Select subset method :"), get_item_radio_items( "correlation_type_univariate_dimension", CORRELATION_TYPES, "Select correlation type :" ), ] )
def get_controls_tab_univariate_category(): return dbc.Card( [ get_item_radio_items( "main_category_univariate_category", list(MAIN_CATEGORIES_TO_CATEGORIES.keys()), "Select X main category: ", from_dict=False, ), get_drop_down("category_univariate_category", ["All"], "Select X subcategory: ", from_dict=False), get_item_radio_items("order_type_univariate_category", ORDER_TYPES, "Order by:"), get_item_radio_items("subset_method_univariate_category", SUBSET_METHODS, "Select subset method :"), get_item_radio_items( "correlation_type_univariate_category", CORRELATION_TYPES, "Select correlation type :" ), ] )
def get_controls_tab_dimension_multivariate(): return dbc.Card([ get_drop_down("dimension_subdimension_dimension_multivariate", DIMENSIONS_SUBDIMENSIONS, "Select an aging dimension: "), get_item_radio_items( "algorithm_dimension_multivariate", { "elastic_net": ALGORITHMS["elastic_net"], "light_gbm": ALGORITHMS["light_gbm"], "neural_network": ALGORITHMS["neural_network"], }, "Select an Algorithm :", ), get_item_radio_items("correlation_type_dimension_multivariate", CORRELATION_TYPES, "Select correlation type :"), ])
def get_controls_side_video(side): if side == "left": value_idx = 0 else: # side == "right": value_idx = 1 return [ get_item_radio_items(f"sex_{side}_video", SEX_LEGEND, "Select sex :", value_idx=value_idx), get_item_radio_items(f"age_{side}_video", AGE_GROUP_LEGEND, "Select age group :", value_idx=1), get_drop_down(f"sample_{side}_video", SAMPLE_LEGEND, "Select sample :"), ]
def get_controls_tab_all_dimensions(): return dbc.Card( [ get_item_radio_items( "sample_definition_all_dimensions", SAMPLE_DEFINITION, "Select the way we define a sample: ", value_idx=2, ), get_item_radio_items("order_type_all_dimensions", ORDER_TYPES, "Order by:"), get_drop_down( "dimension_all_dimensions", ["All"] + CUSTOM_DIMENSIONS.get_level_values("dimension").drop_duplicates().tolist(), "Select an aging dimension: ", from_dict=False, ), ] )
def get_controls_time_series(): first_dimension = list(TREE_TIME_SERIES.keys())[0] first_subdimension = list(TREE_TIME_SERIES[first_dimension].keys())[0] return [ get_item_radio_items("dimension_time_series", list(TREE_TIME_SERIES.keys()), "Select main aging dimesion :", from_dict=False), get_item_radio_items( "subdimension_time_series", list(TREE_TIME_SERIES[first_dimension].keys()), "Select subdimension :", from_dict=False, ), get_drop_down( "sub_subdimension_time_series", TREE_TIME_SERIES[first_dimension][first_subdimension], "Select sub-subdimension :", from_dict=False, ), ]
def get_controls_side_image_features(side): if side == "left": value_idx = 0 else: # side == "right": value_idx = 1 return [ get_item_radio_items(f"sex_{side}_image_features", SEX_LEGEND, "Select sex :", value_idx=value_idx), get_item_radio_items(f"age_group_{side}_image_features", AGE_GROUP_LEGEND, "Select age group :", value_idx=1), get_item_radio_items(f"aging_rate_{side}_image_features", AGING_RATE_LEGEND, "Select aging rate :", value_idx=1), get_drop_down(f"sample_{side}_image_features", SAMPLE_LEGEND, "Select sample :"), ]
def get_subcontrols_scalars(): return (get_drop_down("feature_scalars", [""], "Select feature :", from_dict=False),)