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

Annotation of /FortyEight/rp_write_spreadsheets.pl

Parent Directory Parent Directory | Revision Log Revision Log


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

1 : olson 1.1
2 :     #
3 :     # Write the export files for this completed job.
4 :     #
5 :    
6 :     use Data::Dumper;
7 :     use Carp;
8 :     use strict;
9 :     use FIG;
10 :     use FIG_Config;
11 :     use FileHandle;
12 :     use File::Basename;
13 :     use GenomeMeta;
14 :     use SeedExport;
15 :     use Job48;
16 :    
17 :     @ARGV == 1 or die "Usage: $0 job-dir\n";
18 :    
19 :     my $jobdir = shift;
20 :    
21 :     -d $jobdir or die "$0: job dir $jobdir does not exist\n";
22 :    
23 :     my $job = new Job48($jobdir);
24 :     $job or die "cannot create job for $jobdir";
25 :    
26 :     my $hostname = `hostname`;
27 :     chomp $hostname;
28 :    
29 :     my $genome = &FIG::file_head("$jobdir/GENOME_ID");
30 :     chomp $genome;
31 :     $genome =~ /^\d+\.\d+/ or die "$0: Cannnot find genome ID for jobdir $jobdir\n";
32 :    
33 :     my $meta = new GenomeMeta($genome, "$jobdir/meta.xml");
34 :    
35 :     my $genome_dir = "$jobdir/rp/$genome";
36 :    
37 :     my $export_dir = "$jobdir/download";
38 :     &FIG::verify_dir($export_dir);
39 :    
40 :     my @idx;
41 :     open(I, "<", "$export_dir/index");
42 :     while (<I>)
43 :     {
44 :     chomp;
45 :     if (!/spreadsheet/i)
46 :     {
47 :     push(@idx, $_);
48 :     }
49 :     }
50 :     close(I);
51 :    
52 :     my $ss_txt = "$export_dir/$genome.txt";
53 :     my $ss_xls = "$export_dir/$genome.xls";
54 :     my $rc = system("$FIG_Config::bin/seed2txt", "--out", $ss_txt, "--orgdir", $genome_dir, $genome);
55 :     if ($rc == 0)
56 :     {
57 :     push(@idx, "$genome.txt\tSpreadsheet (tab-separated text format)");
58 :    
59 :     my $url = "$FIG_Config::cgi_url/seedviewer.cgi?page=Annotation&feature=PEG";
60 :     $rc = system("$FIG_Config::bin/svr_file_to_spreadsheet -u '$url' -f $ss_xls < $ss_txt");
61 :     if ($rc == 0)
62 :     {
63 :     push(@idx, "$genome.xls\tSpreadsheet (Excel XLS format)");
64 :     }
65 :     else
66 :     {
67 :     warn "error $rc writing XLS\n";
68 :     }
69 :     }
70 :     else
71 :     {
72 :     warn "error $rc writing txt spreadsheet\n";
73 :     }
74 :    
75 :     if (open(I, ">", "$export_dir/index"))
76 :     {
77 :     print I "$_\n" foreach @idx;
78 :     close(I);
79 :     }
80 :    
81 :     exit(0);
82 :    
83 :     sub fatal
84 :     {
85 :     my($msg) = @_;
86 :    
87 :     if ($meta)
88 :     {
89 :     $meta->add_log_entry($0, ['fatal error', $msg]);
90 :     $meta->set_metadata("export.running", "no");
91 :     $meta->set_metadata("status.export", "error");
92 :     }
93 :     croak "$0: $msg";
94 :     }
95 :    

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3