init_pipeline.pl 2.76 KB
Newer Older
Leo Gordon's avatar
Leo Gordon committed
1
#!/usr/bin/env perl
2

3
4
5
# A generic loader of hive pipelines.
#
# Because all of the functionality is hidden in Bio::EnsEMBL::Hive::PipeConfig::HiveGeneric_conf
6
7
# you can create pipelines by calling the right methods of HiveGeneric_conf directly,
# so this script is just a commandline wrapper that can conveniently find modules by their filename.
8
9

use strict;
Leo Gordon's avatar
Leo Gordon committed
10
use warnings;
11

12
13
14
15
16
17
18
19
20
21
22
    # Finding out own path in order to reference own components (including own modules):
use Cwd            ();
use File::Basename ();
our $hive_root_dir;
BEGIN {
    $hive_root_dir = File::Basename::dirname( File::Basename::dirname( Cwd::realpath($0) ) );
    unshift @INC, "$hive_root_dir/modules";
}


use Bio::EnsEMBL::Hive::Utils ('script_usage', 'load_file_or_module');
23
24

sub main {
25
    my $file_or_module = shift @ARGV or script_usage(0);
26

27
    my $config_module = load_file_or_module( $file_or_module );
28

29
30
31
    my $config_object = $config_module->new();
    $config_object->process_options();
    $config_object->run();
32
33
34
35
36
37
38
39
40
41
42
43
44
45
}

main();

__DATA__

=pod

=head1 NAME

    init_pipeline.pl

=head1 SYNOPSIS

46
    init_pipeline.pl <config_module_or_filename> [-help | [-analysis_topup | -job_topup] <options_for_this_particular_pipeline>]
47
48
49

=head1 DESCRIPTION

Leo Gordon's avatar
Leo Gordon committed
50
    init_pipeline.pl is a generic script that is used to create+setup=initialize eHive pipelines from PipeConfig configuration modules.
51
52
53

=head1 USAGE EXAMPLES

Leo Gordon's avatar
Leo Gordon committed
54
55
        # get this help message:
    init_pipeline.pl
56

Leo Gordon's avatar
Leo Gordon committed
57
58
        # initialize a generic eHive pipeline:
    init_pipeline.pl Bio::EnsEMBL::Hive::PipeConfig::HiveGeneric_conf -password <yourpassword>
59

Leo Gordon's avatar
Leo Gordon committed
60
61
62
        # see what command line options are available when initializing long multiplication example pipeline
        #   (assuming your current directory is ensembl-hive/modules/Bio/EnsEMBL/Hive) :
    init_pipeline.pl PipeConfig/LongMult_conf -help
63

Leo Gordon's avatar
Leo Gordon committed
64
65
66
        # initialize the long multiplicaton pipeline by supplying not only mandatory but also optional data:
        #   (assuming your current directory is ensembl-hive/modules/Bio/EnsEMBL/Hive/PipeConfig) :
    init_pipeline.pl LongMult_conf -password <yourpassword> -first_mult 375857335 -second_mult 1111333355556666 
67
68
69

=head1 OPTIONS

70
    -help           :   get automatically generated list of options that can be set/changed when initializing a particular pipeline
71

72
73
74
75
    -analysis_topup :   a special initialization mode when (1) pipeline_create_commands are switched off and (2) only newly defined analyses are added to the database
                        This mode is only useful in the process of putting together a new pipeline.

    -job_topup      :   another special initialization mode when only jobs are created - no other structural changes to the pipeline are acted upon.
76
77
78
79
80
81

=head1 CONTACT

    Please contact ehive-users@ebi.ac.uk mailing list with questions/suggestions.

=cut
82