From 6fb4f5757c5b3b48021e4a88ceb4a054815df54c Mon Sep 17 00:00:00 2001 From: Minh Vu Date: Fri, 17 Jul 2026 10:51:00 +1000 Subject: [PATCH 1/2] fix: update output to support cif file formats --- app/services/results_utils.py | 6 +++--- tests/test_services_results_utils.py | 9 +++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/services/results_utils.py b/app/services/results_utils.py index 9276a81..f77061b 100644 --- a/app/services/results_utils.py +++ b/app/services/results_utils.py @@ -474,7 +474,7 @@ def classify_boltz_proteinfold_output( sample_id_pattern = re.escape(sample_id) if sample_id else "single_prediction" return classify_proteinfold_output_key( key, - pdb_pattern=rf"/boltz/top_ranked_structures/{sample_id_pattern}\.pdb", + pdb_pattern=rf"/boltz/top_ranked_structures/{sample_id_pattern}\.(?:cif|pdb)", # Find across all subfolders stats_pattern=rf"/boltz/{sample_id_pattern}/.+\.tsv", alignment_pattern=rf"/mmseqs/{sample_id_pattern}\.a3m", @@ -487,7 +487,7 @@ def classify_alphafold2_proteinfold_output( sample_id_pattern = re.escape(sample_id) if sample_id else "single_prediction" return classify_proteinfold_output_key( key, - pdb_pattern=rf"/alphafold2/split_msa_prediction/top_ranked_structures/{sample_id_pattern}\.pdb", + pdb_pattern=rf"/alphafold2/split_msa_prediction/top_ranked_structures/{sample_id_pattern}\.(?:cif|pdb)", stats_pattern=rf"/alphafold2/split_msa_prediction/{sample_id_pattern}/.+\.tsv", ) @@ -498,7 +498,7 @@ def classify_colabfold_proteinfold_output( sample_id_pattern = re.escape(sample_id) if sample_id else "single_prediction" return classify_proteinfold_output_key( key, - pdb_pattern=rf"/colabfold/top_ranked_structures/{sample_id_pattern}\.pdb", + pdb_pattern=rf"/colabfold/top_ranked_structures/{sample_id_pattern}\.(?:cif|pdb)", stats_pattern=rf"/colabfold/{sample_id_pattern}/.+\.tsv", alignment_pattern=rf"/mmseqs/{sample_id_pattern}\.a3m", ) diff --git a/tests/test_services_results_utils.py b/tests/test_services_results_utils.py index de2732b..f1514ca 100644 --- a/tests/test_services_results_utils.py +++ b/tests/test_services_results_utils.py @@ -437,6 +437,9 @@ def test_boltz_proteinfold_helpers_classify_keys_and_build_prefixes(): assert classify_boltz_proteinfold_output( f"{run.id}/boltz/top_ranked_structures/T1024.pdb", "T1024" ) == ClassifiedOutput("pdb", "T1024.pdb") + assert classify_boltz_proteinfold_output( + f"{run.id}/boltz/top_ranked_structures/T1024.cif", "T1024" + ) == ClassifiedOutput("pdb", "T1024.cif") assert classify_boltz_proteinfold_output( f"{run.id}/boltz/T1024/abcd1234.tsv", "T1024" ) == ClassifiedOutput("stats_csv", "abcd1234.tsv") @@ -491,6 +494,9 @@ def test_alphafold2_proteinfold_helpers_classify_keys_and_build_prefixes(): assert classify_alphafold2_proteinfold_output( f"{run.id}/alphafold2/split_msa_prediction/top_ranked_structures/T1024.pdb", "T1024" ) == ClassifiedOutput("pdb", "T1024.pdb") + assert classify_alphafold2_proteinfold_output( + f"{run.id}/alphafold2/split_msa_prediction/top_ranked_structures/T1024.cif", "T1024" + ) == ClassifiedOutput("pdb", "T1024.cif") assert classify_alphafold2_proteinfold_output( f"{run.id}/alphafold2/split_msa_prediction/T1024/abcd1234.tsv", "T1024" ) == ClassifiedOutput("stats_csv", "abcd1234.tsv") @@ -546,6 +552,9 @@ def test_colabfold_proteinfold_helpers_classify_keys_and_build_prefixes(): assert classify_colabfold_proteinfold_output( f"{run.id}/colabfold/top_ranked_structures/T1024.pdb", "T1024" ) == ClassifiedOutput("pdb", "T1024.pdb") + assert classify_colabfold_proteinfold_output( + f"{run.id}/colabfold/top_ranked_structures/T1024.cif", "T1024" + ) == ClassifiedOutput("pdb", "T1024.cif") assert classify_colabfold_proteinfold_output( f"{run.id}/colabfold/T1024/abcd1234.tsv", "T1024" ) == ClassifiedOutput("stats_csv", "abcd1234.tsv") From aa81cf6fd8a909157da72cb68d4a747b2a4f59e9 Mon Sep 17 00:00:00 2001 From: Minh Vu Date: Fri, 17 Jul 2026 14:00:29 +1000 Subject: [PATCH 2/2] fix: remove CIF format support from AlphaFold and ColabFold --- app/services/results_utils.py | 4 ++-- tests/test_services_results_utils.py | 6 ------ 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/app/services/results_utils.py b/app/services/results_utils.py index f77061b..93c24e4 100644 --- a/app/services/results_utils.py +++ b/app/services/results_utils.py @@ -487,7 +487,7 @@ def classify_alphafold2_proteinfold_output( sample_id_pattern = re.escape(sample_id) if sample_id else "single_prediction" return classify_proteinfold_output_key( key, - pdb_pattern=rf"/alphafold2/split_msa_prediction/top_ranked_structures/{sample_id_pattern}\.(?:cif|pdb)", + pdb_pattern=rf"/alphafold2/split_msa_prediction/top_ranked_structures/{sample_id_pattern}\.pdb", stats_pattern=rf"/alphafold2/split_msa_prediction/{sample_id_pattern}/.+\.tsv", ) @@ -498,7 +498,7 @@ def classify_colabfold_proteinfold_output( sample_id_pattern = re.escape(sample_id) if sample_id else "single_prediction" return classify_proteinfold_output_key( key, - pdb_pattern=rf"/colabfold/top_ranked_structures/{sample_id_pattern}\.(?:cif|pdb)", + pdb_pattern=rf"/colabfold/top_ranked_structures/{sample_id_pattern}\.pdb", stats_pattern=rf"/colabfold/{sample_id_pattern}/.+\.tsv", alignment_pattern=rf"/mmseqs/{sample_id_pattern}\.a3m", ) diff --git a/tests/test_services_results_utils.py b/tests/test_services_results_utils.py index f1514ca..95b5e79 100644 --- a/tests/test_services_results_utils.py +++ b/tests/test_services_results_utils.py @@ -494,9 +494,6 @@ def test_alphafold2_proteinfold_helpers_classify_keys_and_build_prefixes(): assert classify_alphafold2_proteinfold_output( f"{run.id}/alphafold2/split_msa_prediction/top_ranked_structures/T1024.pdb", "T1024" ) == ClassifiedOutput("pdb", "T1024.pdb") - assert classify_alphafold2_proteinfold_output( - f"{run.id}/alphafold2/split_msa_prediction/top_ranked_structures/T1024.cif", "T1024" - ) == ClassifiedOutput("pdb", "T1024.cif") assert classify_alphafold2_proteinfold_output( f"{run.id}/alphafold2/split_msa_prediction/T1024/abcd1234.tsv", "T1024" ) == ClassifiedOutput("stats_csv", "abcd1234.tsv") @@ -552,9 +549,6 @@ def test_colabfold_proteinfold_helpers_classify_keys_and_build_prefixes(): assert classify_colabfold_proteinfold_output( f"{run.id}/colabfold/top_ranked_structures/T1024.pdb", "T1024" ) == ClassifiedOutput("pdb", "T1024.pdb") - assert classify_colabfold_proteinfold_output( - f"{run.id}/colabfold/top_ranked_structures/T1024.cif", "T1024" - ) == ClassifiedOutput("pdb", "T1024.cif") assert classify_colabfold_proteinfold_output( f"{run.id}/colabfold/T1024/abcd1234.tsv", "T1024" ) == ClassifiedOutput("stats_csv", "abcd1234.tsv")