diff --git a/modules/Bio/EnsEMBL/Pipeline/PipeConfig/Otherf_handover_conf.pm b/modules/Bio/EnsEMBL/Pipeline/PipeConfig/Otherf_handover_conf.pm new file mode 100644 index 0000000000000000000000000000000000000000..88baab01535c724dc4daf0b1c55bf00cfc68db5b --- /dev/null +++ b/modules/Bio/EnsEMBL/Pipeline/PipeConfig/Otherf_handover_conf.pm @@ -0,0 +1,127 @@ +package Bio::EnsEMBL::Pipeline::PipeConfig::Otherf_handover_conf; + +use strict; +use warnings; + +use base ('Bio::EnsEMBL::Hive::PipeConfig::HiveGeneric_conf'); + +use Bio::EnsEMBL::ApiVersion qw/software_version/; + +sub default_options { + my ($self) = @_; + + return { + # inherit other stuff from the base class + %{ $self->SUPER::default_options() }, + + ### OVERRIDE + + ### Optional overrides + species => [], + + release => software_version(), + + run_all => 0, + + ### Defaults + + pipeline_name => 'otherf_handover_update_'.$self->o('release'), + + email => $self->o('ENV', 'USER').'@sanger.ac.uk', + }; +} + +sub pipeline_create_commands { + my ($self) = @_; + return [ + # inheriting database and hive tables' creation + @{$self->SUPER::pipeline_create_commands}, + ]; +} + +## See diagram for pipeline structure +sub pipeline_analyses { + my ($self) = @_; + + return [ + + { + -logic_name => 'ScheduleSpecies', + -module => 'Bio::EnsEMBL::Pipeline::Production::ClassSpeciesFactory', + -parameters => { + species => $self->o('species'), + run_all => $self->o('run_all') + }, + -input_ids => [ {} ], + -flow_into => { + 1 => 'Notify', + 2 => ['PepStatsOtherf', 'PepStatsVega'], + }, + }, + + { + -logic_name => 'PepStatsOtherf', + -module => 'Bio::EnsEMBL::Pipeline::Production::PepStats', + -parameters => { + tmpdir => '/tmp', binpath => '/software/pubseq/bin/emboss', + dbtype => 'otherfeatures', + }, + -max_retry_count => 5, + -hive_capacity => 10, + -rc_name => 'mem', + -can_be_empty => 1, + }, + + { + -logic_name => 'PepStatsVega', + -module => 'Bio::EnsEMBL::Pipeline::Production::PepStats', + -parameters => { + tmpdir => '/tmp', binpath => '/software/pubseq/bin/emboss', + dbtype => 'vega', + }, + -max_retry_count => 5, + -hive_capacity => 10, + -rc_name => 'mem', + -can_be_empty => 1, + }, + + ####### NOTIFICATION + + { + -logic_name => 'Notify', + -module => 'Bio::EnsEMBL::Pipeline::Production::EmailSummaryCore', + -parameters => { + email => $self->o('email'), + subject => $self->o('pipeline_name').' has finished', + }, + -wait_for => ['PepStatsOtherf', 'PepStatsVega'], + } + + ]; +} + +sub pipeline_wide_parameters { + my ($self) = @_; + + return { + %{ $self->SUPER::pipeline_wide_parameters() }, # inherit other stuff from the base class + release => $self->o('release'), + }; +} + +# override the default method, to force an automatic loading of the registry in all workers +sub beekeeper_extra_cmdline_options { + my $self = shift; + return "-reg_conf ".$self->o("registry"); +} + +sub resource_classes { + my $self = shift; + return { + 'default' => { 'LSF' => ''}, + 'normal' => { 'LSF' => '-q normal -M 500000 -R"select[mem>500] rusage[mem=500]"'}, + 'mem' => { 'LSF' => '-q normal -M 1000000 -R"select[mem>1000] rusage[mem=1000]"'}, + } +} + +1;