diff --git a/modules/Bio/EnsEMBL/Hive/PipeConfig/HiveGeneric_conf.pm b/modules/Bio/EnsEMBL/Hive/PipeConfig/HiveGeneric_conf.pm index 44d3f274e6009c676f9b90b3495da8f8a809bcdc..b155aa5aec53b094749dbc1012e6d59194086545 100644 --- a/modules/Bio/EnsEMBL/Hive/PipeConfig/HiveGeneric_conf.pm +++ b/modules/Bio/EnsEMBL/Hive/PipeConfig/HiveGeneric_conf.pm @@ -448,14 +448,19 @@ sub run { $heirs = { map { ($_ => undef) } @$heirs } if(ref($heirs) eq 'ARRAY'); # now force it into a hash if it wasn't - while(my ($heir_url, $input_id_template) = each %$heirs) { + while(my ($heir_url, $input_id_template_list) = each %$heirs) { + + $input_id_template_list = [ $input_id_template_list ] unless(ref($input_id_template_list) eq 'ARRAY'); # allow for more than one template per analysis - my $heir_analysis = $analysis_adaptor->fetch_by_logic_name_or_url($heir_url); + foreach my $input_id_template (@$input_id_template_list) { - $dataflow_rule_adaptor->create_rule( $analysis, $heir_analysis || $heir_url, $branch_name_or_code, $input_id_template, $funnel_branch_name_or_code); + my $heir_analysis = $analysis_adaptor->fetch_by_logic_name_or_url($heir_url); - warn "DataFlow rule: [$branch_tag] $logic_name -> $heir_url" - .($input_id_template ? ' WITH TEMPLATE: '.stringify($input_id_template) : '')."\n"; + $dataflow_rule_adaptor->create_rule( $analysis, $heir_analysis || $heir_url, $branch_name_or_code, $input_id_template, $funnel_branch_name_or_code); + + warn "DataFlow rule: [$branch_tag] $logic_name -> $heir_url" + .($input_id_template ? ' WITH TEMPLATE: '.stringify($input_id_template) : '')."\n"; + } } } }