diff --git a/portal-backend/depmap/interactive/views.py b/portal-backend/depmap/interactive/views.py index e9233016..6f19ba52 100644 --- a/portal-backend/depmap/interactive/views.py +++ b/portal-backend/depmap/interactive/views.py @@ -705,8 +705,10 @@ def get_associations_df(matrix_id, x_feature): @blueprint.route("/api/associations") def get_associations(): - x_id = request.args.get("x") - if x_id.startswith("breadbox/"): + x_id = request.args.get("x") # slice ID + + x_dataset_id, x_feature = InteractiveTree.get_dataset_feature_from_id(x_id) + if x_dataset_id.startswith("breadbox/"): # Associations don't exist for breadbox features (yet at least) # but we don't want errors when this endpoint is called for a breadbox feature return jsonify( @@ -718,12 +720,11 @@ def get_associations(): } ) # Everything below this point is deprecated: and not supported for breadbox datasets. - x_dataset, x_feature = InteractiveTree.get_dataset_feature_from_id(x_id) - dataset_label = interactive_utils.get_dataset_label(x_dataset) + dataset_label = interactive_utils.get_dataset_label(x_dataset_id) if not option_used( - x_feature, x_dataset, "DATASETS" + x_feature, x_dataset_id, "DATASETS" ) or not interactive_utils.is_standard( - x_dataset + x_dataset_id ): # fixme test for this path return jsonify( { @@ -733,7 +734,7 @@ def get_associations(): "featureLabel": x_feature, } ) - matrix_id = interactive_utils.get_matrix_id(x_dataset) + matrix_id = interactive_utils.get_matrix_id(x_dataset_id) df = get_associations_df(matrix_id, x_feature)