[Bio] / FortyEight / rp_rapid_propagation.pl Repository:
ViewVC logotype

Annotation of /FortyEight/rp_rapid_propagation.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.23 - (view) (download) (as text)

1 : olson 1.1
2 :     #
3 :     # Perform rapid propagation.
4 :     #
5 :    
6 :     use strict;
7 :     use FIG;
8 :     use FIG_Config;
9 :     use File::Basename;
10 :     use GenomeMeta;
11 : olson 1.6 use Carp 'croak';
12 : olson 1.11 use POSIX;
13 : olson 1.1
14 :     @ARGV == 1 or die "Usage: $0 job-dir\n";
15 :    
16 :     my $jobdir = shift;
17 :    
18 :     -d $jobdir or die "$0: job dir $jobdir does not exist\n";
19 :    
20 : olson 1.4 my $hostname = `hostname`;
21 :     chomp $hostname;
22 :    
23 : olson 1.23 my $user = &FIG::file_head("$jobdir/USER");
24 :     chomp $user;
25 :    
26 : olson 1.1 my $genome = &FIG::file_head("$jobdir/GENOME_ID");
27 :     chomp $genome;
28 :     $genome =~ /^\d+\.\d+/ or die "$0: Cannnot find genome ID for jobdir $jobdir\n";
29 :    
30 :     my $job = basename($jobdir);
31 :    
32 :     my $meta_file = "$jobdir/meta.xml";
33 :     my $meta = new GenomeMeta($genome, $meta_file);
34 :    
35 : olson 1.22 my $scheme = $meta->get_metadata("annotation_scheme");
36 : olson 1.1
37 : olson 1.22 my $prog;
38 :     if ($scheme eq "RASTtk")
39 : olson 1.1 {
40 : olson 1.23
41 :     if ($FIG_Config::rast_use_patric{$user})
42 :     {
43 :     $prog = "rp_rapid_propagation_patric";
44 :     $meta->add_log_entry($0, "Using RASTtk/PATRIC annotation scheme");
45 :     }
46 :     else
47 :     {
48 :     $prog = "rp_rapid_propagation_rasttk";
49 :     $meta->add_log_entry($0, "Using RASTtk annotation scheme");
50 :     }
51 : olson 1.1 }
52 : olson 1.22 else
53 : olson 1.10 {
54 : olson 1.22 $meta->add_log_entry($0, "Using ClassicRAST annotation scheme");
55 :     $prog = "rp_rapid_propagation_classic";
56 : olson 1.10 }
57 :    
58 : olson 1.22 my @cmd = ($prog, $jobdir);
59 : olson 1.1
60 :     print "Run @cmd\n";
61 :    
62 :     $meta->add_log_entry($0, ['running', @cmd]);
63 :    
64 :     my $rc = system(@cmd);
65 :     if ($rc != 0)
66 :     {
67 : olson 1.22 &fatal("$prog command failed with rc=$rc: @cmd\n");
68 : olson 1.1 }
69 :    
70 :     exit;
71 :    
72 :     sub fatal
73 :     {
74 :     my($msg) = @_;
75 :    
76 :     $meta->add_log_entry($0, ['fatal error', $msg]);
77 : olson 1.5 $meta->set_metadata("rp.error", $msg);
78 : olson 1.7 $meta->set_metadata("rp.running", "no");
79 : olson 1.2 $meta->set_metadata("status.rp", "error");
80 : olson 1.1
81 :     croak "$0: $msg";
82 :     }
83 :    

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3