From 44e8c72de2347db26d9a4b1eb9abe6cd93850b48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20H=C3=BCbner?= Date: Mon, 9 Mar 2026 22:22:16 +0100 Subject: [PATCH] Add fallback to merge samples without stacking in amdirt viewer --- amdirt/core/__init__.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/amdirt/core/__init__.py b/amdirt/core/__init__.py index 7e00346..55318b5 100644 --- a/amdirt/core/__init__.py +++ b/amdirt/core/__init__.py @@ -210,13 +210,20 @@ def get_libraries( sel_col = ["archive_accession"] else: sel_col = ["archive_accession", "sample_host"] - libraries = libraries.merge( + libraries_subset = libraries.merge( stacked_samples[sel_col], left_on="archive_sample_accession", right_on="archive_accession", ) select_libs = list(stacked_samples["archive_accession"]) - selected_libraries = libraries.query("archive_sample_accession in @select_libs") + if libraries_subset.shape[0] == 0: + libraries_subset = libraries.merge( + samples[sel_col], + left_on="archive_sample_accession", + right_on="archive_accession", + ) + select_libs = list(samples["archive_accession"]) + selected_libraries = libraries_subset.query("archive_sample_accession in @select_libs") return selected_libraries @@ -628,6 +635,12 @@ def is_merge_size_zero( left_on="archive_sample_accession", right_on="archive_accession", ) + if library_selected.shape[0] == 0: + library_selected = library.merge( + samples[sel_col], + left_on="archive_sample_accession", + right_on="archive_accession", + ) if samples.shape[0] != 0 and library_selected.shape[0] == 0: return True