From 69215ec9b2138242eb340aa96653ac2da5f2d124 Mon Sep 17 00:00:00 2001 From: FilomenoSanchez Date: Sun, 27 Sep 2020 16:03:43 +0100 Subject: [PATCH] check available files before cmap superimpose --- utils/plot_utils.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/utils/plot_utils.py b/utils/plot_utils.py index c747630..b4c9dce 100644 --- a/utils/plot_utils.py +++ b/utils/plot_utils.py @@ -41,16 +41,7 @@ def create_ConPlot(session_id, cache, trigger, selected_tracks, cmap_selection, display_card = get_display_control_card(display_settings) figure = create_figure(display_settings.axis_range) - if not superimpose: - for idx, fname in enumerate(display_settings.cmap_selection): - if fname == '---': - continue - figure.add_trace( - create_contact_trace(cmap=session[fname.encode()], idx=idx, factor=display_settings.factor, - marker_size=display_settings.contact_marker_size, - seq_length=display_settings.seq_length) - ) - else: + if display_settings.superimpose: reference, matched, mismatched = get_superimposed_contact_traces( reference_cmap=session[display_settings.cmap_selection[0].encode()], secondary_cmap=session[display_settings.cmap_selection[1].encode()], @@ -67,6 +58,15 @@ def create_ConPlot(session_id, cache, trigger, selected_tracks, cmap_selection, create_superimposed_contact_traces(matched, marker_size=display_settings.contact_marker_size, color='black', symbol='circle') ) + else: + for idx, fname in enumerate(display_settings.cmap_selection): + if fname == '---': + continue + figure.add_trace( + create_contact_trace(cmap=session[fname.encode()], idx=idx, factor=display_settings.factor, + marker_size=display_settings.contact_marker_size, + seq_length=display_settings.seq_length) + ) for idx, fname in enumerate(display_settings.selected_tracks): if fname == '---': @@ -202,6 +202,9 @@ def process_args(session, trigger, selected_tracks, cmap_selection, factor, cont selected_tracks, cmap_selection = get_user_selection(cmap_selection, available_cmaps, selected_tracks, available_tracks) + if superimpose and any(selection not in available_cmaps for selection in cmap_selection): + superimpose = False + display_settings = DisplayControlSettings(available_tracks=available_tracks, selected_tracks=selected_tracks, contact_marker_size=contact_marker_size, factor=factor, track_marker_size=track_marker_size, transparent=transparent,