From 62887c0753387d2d0aa565f721d95a306b1cb91e Mon Sep 17 00:00:00 2001 From: shengchd Date: Thu, 23 Jul 2026 15:58:29 -0700 Subject: [PATCH 1/2] IGVF-3599-add-gene-activity --- src/igvfd/audit/pseudobulk_set.py | 5 +++-- src/igvfd/tests/test_audit_pseudobulk_set.py | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/igvfd/audit/pseudobulk_set.py b/src/igvfd/audit/pseudobulk_set.py index d9fe5a31c9..ba3e1dddda 100644 --- a/src/igvfd/audit/pseudobulk_set.py +++ b/src/igvfd/audit/pseudobulk_set.py @@ -123,19 +123,20 @@ def audit_pseudobulk_set_input_file_set_type(value, system): ''' [ { - "audit_description": "Pseudobulk sets are expected to have input curated sets with `file_set_type` of `external sequencing data` only.", + "audit_description": "Pseudobulk sets are expected to have input curated sets with `file_set_type` of `external sequencing data` or `genes` only.", "audit_category": "unexpected input file set type", "audit_level": "ERROR" } ] ''' audit_message = get_audit_message(audit_pseudobulk_set_input_file_set_type, index=0) + accepted_curated_set_file_set_types = ['external sequencing data', 'genes'] if value.get('input_file_sets', []): for input_file_set in value.get('input_file_sets', []): input_file_set_object = system.get('request').embed( input_file_set, '@@object_with_select_calculated_properties?field=@type') if input_file_set_object['@type'][0] == 'CuratedSet': - if input_file_set_object.get('file_set_type') != 'external sequencing data': + if input_file_set_object.get('file_set_type') not in accepted_curated_set_file_set_types: detail = ( f'Pseudobulk set {audit_link(path_to_text(value["@id"]), value["@id"])} ' f'has curated set {audit_link(path_to_text(input_file_set), input_file_set)} in input file sets ' diff --git a/src/igvfd/tests/test_audit_pseudobulk_set.py b/src/igvfd/tests/test_audit_pseudobulk_set.py index 0bd3a270c9..6840d9a742 100644 --- a/src/igvfd/tests/test_audit_pseudobulk_set.py +++ b/src/igvfd/tests/test_audit_pseudobulk_set.py @@ -118,6 +118,26 @@ def test_audit_pseudobulk_set_input_file_set_type( ) +def test_audit_pseudobulk_set_input_file_set_type_genes( + testapp, + pseudobulk_set_base, + curated_set_genome +): + testapp.patch_json( + curated_set_genome['@id'], + {'file_set_type': 'genes'} + ) + testapp.patch_json( + pseudobulk_set_base['@id'], + {'input_file_sets': [curated_set_genome['@id']]} + ) + res = testapp.get(pseudobulk_set_base['@id'] + '@@audit') + assert all( + error['category'] != 'unexpected input file set type' + for error in res.json['audit'].get('ERROR', []) + ) + + def test_audit_pseudobulk_set_mixed_classifications( testapp, pseudobulk_set_base, From 8c431bb36c1ff6a69cc9362e89c9579852bcbfd0 Mon Sep 17 00:00:00 2001 From: shengchd Date: Thu, 23 Jul 2026 16:37:20 -0700 Subject: [PATCH 2/2] mappings --- src/igvfd/mappings/pseudobulk_set.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/igvfd/mappings/pseudobulk_set.json b/src/igvfd/mappings/pseudobulk_set.json index 7522569876..221f38b510 100644 --- a/src/igvfd/mappings/pseudobulk_set.json +++ b/src/igvfd/mappings/pseudobulk_set.json @@ -1,6 +1,6 @@ { - "hash": "a2b43ca56457e055bd8caa73cbec496f", - "index_name": "pseudobulk_set_a2b43ca5", + "hash": "3437d4c4240b11c4f1e64c5feaac016b", + "index_name": "pseudobulk_set_3437d4c4", "item_type": "pseudobulk_set", "mapping": { "dynamic_templates": [