From c2fde65994213b93947b543114500a62fae1644c Mon Sep 17 00:00:00 2001 From: George Marchment <georgemarchment@yahoo.fr> Date: Fri, 11 Oct 2024 15:50:16 +0200 Subject: [PATCH] check if the relevant processes exist in workflow --- src/bioflowinsighterror.py | 1 + src/workflow.py | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/src/bioflowinsighterror.py b/src/bioflowinsighterror.py index 82c3a65..a948908 100644 --- a/src/bioflowinsighterror.py +++ b/src/bioflowinsighterror.py @@ -42,6 +42,7 @@ class BioFlowInsightError(Exception): #* [18] -> something is expected to be defined in a file but is not #* [20] -> The sibworkflow either emits nothing or to many values for a use in an operation #* [22] -> a subworkflow or process defined was defined badly +#* [24] -> The user gives a relevant process which isn't in the workflow ######################## diff --git a/src/workflow.py b/src/workflow.py index 03e0146..310bcd4 100644 --- a/src/workflow.py +++ b/src/workflow.py @@ -543,6 +543,13 @@ George Marchment, Bryan Brancotte, Marie Schmit, Frédéric Lemoine, Sarah Cohen self.nextflow_file.generate_process_dependency_graph(render_graphs = render_graphs, processes_2_remove = self.tab_processes_2_remove) def generate_user_view(self, relevant_processes = [], render_graphs = True): + #Check all relevat processes are in wf + workflow_processes = [] + for p in self.get_processes_called(): + workflow_processes.append(p.get_name()) + for p in relevant_processes: + if(p not in workflow_processes): + raise BioFlowInsightError(f"Process {p} given in relevant processes is not present in the workflow's processes", 24) self.iniatilise_tab_processes_2_remove() self.nextflow_file.generate_user_view(relevant_processes = relevant_processes, render_graphs = render_graphs, processes_2_remove = self.tab_processes_2_remove) -- GitLab