annotate 2.4/install.pl @ 0:00b9898b8510 draft

Uploaded
author plus91-technologies-pvt-ltd
date Wed, 04 Jun 2014 03:41:27 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
1 #!/usr/bin/perl
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
2
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
3 =head1 NAME
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
4 install.pl
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
5
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
6 =head1 SYNOPSIS
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
7 USAGE: install.pl --prefix=/location/of/install/dir
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
8
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
9 =head1 OPTIONS
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
10
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
11 B<--prefix, -p>
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
12 Required. Prefix location where package will be installed.
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
13
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
14 B<--perl_exec, -e>
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
15 Optional. If perl exec is other than /usr/bin/perl please specify location of perl install
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
16
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
17 B<--help,-h>
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
18
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
19
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
20 =head1 DESCRIPTION
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
21 Install package
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
22
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
23 =head1 INPUT
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
24
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
25 =head1 OUTPUT
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
26
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
27
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
28 =head1 CONTACT
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
29 bjaysheel@gmail.com
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
30
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
31
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
32 ==head1 EXAMPLE
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
33 ./install.pl --prefix=/prefix
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
34
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
35 =cut
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
36
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
37 use strict;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
38 use warnings;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
39 use Cwd;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
40 use Data::Dumper;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
41 use Pod::Usage;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
42 use Getopt::Long qw(:config no_ignore_case no_auto_abbrev pass_through);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
43
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
44 my %options = ();
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
45 my $results = GetOptions (\%options,
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
46 'prefix|p=s',
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
47 'perl_exec|e=s',
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
48 'help|h') || pod2usage();
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
49
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
50 ## display documentation
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
51 if( $options{'help'} ){
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
52 pod2usage( {-exitval => 0, -verbose => 2, -output => \*STDERR} );
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
53 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
54
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
55 #############################################################################
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
56 #### make sure everything passed was peachy
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
57 &check_parameters(\%options);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
58
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
59 #### print time now.
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
60 timestamp();
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
61
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
62 my $this = {};
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
63 my $progress = {};
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
64 my $cmd = "";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
65
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
66 #### get current working dir
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
67 $this->{source} = getcwd();
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
68
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
69 $progress = getProgress();
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
70
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
71 #### make logs dir
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
72 $cmd = "mkdir -p $options{prefix}/logs";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
73 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
74
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
75 #### installling libraries required for successfull run
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
76 install_libraries();
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
77
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
78 #### unpack binary dir containing all binary to be installed
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
79 #### which are required for successfull run
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
80 print STDERR "\n\nInstalling binaries...\n";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
81
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
82 #### install each package in binary folder.
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
83 my @packages = qw(stringApprox levD);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
84
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
85 foreach my $tool (@packages) {
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
86 if ((exists $progress->{$tool}) && ($progress->{$tool})){
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
87 print STDERR "\t$tool already installed. Skipping...\n";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
88 } else {
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
89 print STDERR "\tInstalling $tool...\n";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
90
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
91 #### unpack and install each tool
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
92 eval("install_${tool}()");
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
93 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
94 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
95
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
96 #### copy source code and update paths for perl and libs
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
97 install_source();
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
98
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
99 #### completion message
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
100 print "\n\n\tSoftSearch installation complete. Use following command to initiate a test run\n";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
101 print "\n\tperl $options{prefix}/src/SoftSearch.pl -f {GENOME} -b {BAM_FILE}\n\n";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
102
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
103 #### print time now
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
104 timestamp();
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
105
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
106 #############################################################################
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
107 sub check_parameters {
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
108 my $options = shift;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
109
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
110 my @required = qw(prefix);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
111
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
112 foreach my $key (@required) {
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
113 unless ($options{$key}) {
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
114 print STDERR "ARG: $key is required\n";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
115 pod2usage({-exitval => 2, -message => "error message", -verbose => 1, -output => \*STDERR});
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
116 exit(-1);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
117 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
118 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
119
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
120 $options{'perl_exec'} = "/usr/bin/perl" unless($options{'perl_exec'});
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
121 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
122
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
123 #############################################################################
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
124 sub getProgress {
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
125 my $hash = {};
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
126 my @sofar;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
127
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
128 #### if file exists get progress so far.
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
129 if (-s "$options{prefix}/progress.txt") {
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
130 open(FHD, "<", "$options{prefix}/progress.txt") or die "Could not open file to read $options{prefix}/progress.txt";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
131 while(<FHD>){
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
132 chomp $_;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
133 push @sofar, $_;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
134 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
135 close(FHD);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
136
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
137 map { $hash->{$1} = $2 if( /([^=]+)\s*=\s*([^=]+)/ ) } @sofar;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
138 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
139
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
140 #### return hash
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
141 return $hash;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
142 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
143
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
144 #############################################################################
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
145 sub setProgress {
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
146 my $hash = shift;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
147
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
148 open(OUT, ">", "$options{prefix}/progress.txt") or die "Could not open file to write $options{prefix}/progress.txt";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
149
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
150 foreach my $key (keys %{$hash}){
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
151 print OUT $key."=".$hash->{$key}."\n";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
152 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
153
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
154 close(OUT);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
155 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
156
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
157 #############################################################################
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
158 sub install_libraries {
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
159 if ((exists $progress->{libraries}) && ($progress->{libraries})){
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
160 print STDERR "\tLibraries already installed. Skipping...\n";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
161 return;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
162 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
163
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
164 print STDERR "\n\nInstalling libraries...\n\n";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
165 chdir($this->{source});
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
166
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
167 $cmd = "cp -r $this->{source}/library $options{prefix}/lib";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
168 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
169
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
170 $progress->{libraries} = 1;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
171 setProgress($progress);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
172 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
173
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
174 #############################################################################
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
175 sub install_stringApprox {
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
176 #### check and install dir
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
177 my $dir = "$options{prefix}/lib";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
178 my $cmd = "";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
179
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
180 $cmd = "mkdir -p $dir";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
181 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
182
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
183 $cmd = "tar -zxvf $this->{source}/binary/String-Approx-3.27.tar.gz -C $this->{source}/binary";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
184 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
185
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
186 chdir("$this->{source}/binary/String-Approx-3.27");
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
187 $cmd = "perl Makefile.PL INSTALL_BASE=$options{prefix}";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
188 $cmd .= " 1>$options{prefix}/logs/StringApprox.out";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
189 $cmd .= " 2>$options{prefix}/logs/StringApprox.err";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
190 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
191
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
192 $cmd = "make && make install";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
193 $cmd .= " 1>>$options{prefix}/logs/StringApprox.out";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
194 $cmd .= " 2>>$options{prefix}/logs/StringApprox.err";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
195 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
196
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
197 $cmd = "make install";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
198 $cmd .= " 1>>$options{prefix}/logs/StringApprox.out";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
199 $cmd .= " 2>>$options{prefix}/logs/StringApprox.err";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
200 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
201
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
202
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
203 chdir("$this->{source}/binary");
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
204 $cmd = "rm -rf $this->{source}/binary/String-Approx-3.27";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
205 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
206
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
207 $progress->{stringApprox} = 1;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
208 setProgress($progress);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
209 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
210
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
211 #############################################################################
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
212 sub install_levD {
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
213 #### check and install dir
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
214 my $dir = "$options{prefix}/lib";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
215 my $cmd = "";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
216
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
217 $cmd = "mkdir -p $dir";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
218 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
219
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
220 $cmd = "tar -zxvf $this->{source}/binary/Text-LevenshteinXS-0.03.tar.gz -C $this->{source}/binary";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
221 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
222
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
223 chdir("$this->{source}/binary/Text-LevenshteinXS-0.03");
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
224 $cmd = "perl Makefile.PL INSTALL_BASE=$options{prefix}";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
225 $cmd .= " 1>$options{prefix}/logs/levD.out";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
226 $cmd .= " 2>$options{prefix}/logs/levD.err";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
227 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
228
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
229 $cmd = "make";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
230 $cmd .= " 1>>$options{prefix}/logs/levD.out";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
231 $cmd .= " 2>>$options{prefix}/logs/levD.err";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
232 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
233
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
234 $cmd .= "make install";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
235 $cmd .= " 1>>$options{prefix}/logs/levD.out";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
236 $cmd .= " 2>>$options{prefix}/logs/levD.err";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
237 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
238
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
239 chdir("$this->{source}/binary");
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
240 $cmd = "rm -rf $this->{source}/binary/Text-LevenshteinXS-0.03";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
241 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
242
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
243 $progress->{levD} = 1;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
244 setProgress($progress);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
245 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
246
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
247 #############################################################################
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
248 sub install_source {
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
249 if ((exists $progress->{source}) && ($progress->{source})){
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
250 print STDERR "\tSource already installed. Skipping...\n";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
251 return;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
252 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
253
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
254 print STDERR "\n\nInstalling source...\n\n";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
255
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
256 #### create dir to store source code
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
257 $cmd = "mkdir -p $options{prefix}/src";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
258 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
259
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
260 $cmd = "cp -r $this->{source}/script/* $options{prefix}/src/.";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
261 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
262
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
263 #### make sure all scripts are executable
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
264 $cmd = "chmod -R +x $options{prefix}/src";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
265 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
266
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
267 #### replace /usr/local/biotools/perl/5.10.0/bin/perl with perl_exec
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
268 $options{perl_exec} =~ s/\//\\\//g;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
269 $cmd = "find $options{prefix}/src -name \"*.pl\" -print";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
270 $cmd .= " -exec sed -i 's/#!\\/usr\\/local\\/biotools\\/perl\\/5.10.0\\/bin\\/perl/#!$options{perl_exec}/' {} \\;";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
271 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
272
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
273 #### check if perl exec location is other than /usr/bin/perl
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
274 if ($options{perl_exec} !~ /^\/usr\/bin\/perl$/) {
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
275 $cmd = "find $options{prefix}/src -name \"*.pl\" -print";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
276 $cmd .= " -exec sed -i 's/#!\\/usr\\/bin\\/perl/#!$options{perl_exec}/' {} \\;";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
277 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
278 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
279
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
280 #### replace library references to local install
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
281 my $lib = "$options{prefix}/lib";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
282 $lib =~ s/\//\\\//g;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
283
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
284 $cmd = "find $options{prefix}/src -name \"*.pl\" -print";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
285 $cmd .= " -exec sed -i 's/\\/data2\\/bsi\\/reference\\/softsearch\\/lib/$lib/' {} \\;";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
286 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
287
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
288 $cmd = "find $options{prefix}/lib -name \"LevD.pm\" -print";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
289 $cmd .= " -exec sed -i 's/\\/data2\\/bsi\\/reference\\/softsearch\\/lib/$lib/' {} \\;";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
290 execute_cmd($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
291
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
292 $progress->{source} = 1;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
293 setProgress($progress);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
294 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
295
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
296 #############################################################################
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
297 sub execute_cmd {
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
298 my $cmd = shift;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
299
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
300 system($cmd);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
301
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
302 #while (( $? >> 8 ) != 0 ){
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
303 # print STDERR "ERROR: Following command failed to execute. Exiting execution of workflow\n$cmd\n";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
304 # exit(-1);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
305 #}
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
306 }
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
307
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
308 #############################################################################
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
309 sub timestamp {
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
310 my @months = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
311 my @weekDays = qw(Sun Mon Tue Wed Thu Fri Sat Sun);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
312 my ($second, $minute, $hour, $dayOfMonth, $month, $yearOffset, $dayOfWeek, $dayOfYear, $daylightSavings) = localtime();
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
313 my $year = 1900 + $yearOffset;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
314 my $theTime = "$hour:$minute:$second, $weekDays[$dayOfWeek] $months[$month] $dayOfMonth, $year";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
315 print "Time now: " . $theTime."\n";
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
316 }