0
|
1 use strict;
|
|
2 use warnings;
|
|
3 use File::Basename;
|
|
4 use Cwd;
|
|
5 use File::Path qw(make_path remove_tree);
|
|
6 die qq(
|
|
7 Bad numbr of inputs
|
|
8
|
|
9 ) if(!@ARGV);
|
|
10
|
|
11
|
|
12 my $player_options = "";
|
|
13 my $contra_output;
|
|
14 my $contra_dir;
|
|
15
|
|
16 my $dir = getcwd;
|
|
17 my $variable;
|
|
18
|
|
19 foreach my $input (@ARGV)
|
|
20 {
|
|
21 my @tmp = split "::", $input;
|
|
22
|
|
23 if($tmp[0] eq "PLAYEROPTION")
|
|
24 {
|
|
25 $variable = $tmp[1];
|
|
26 $variable =~ s/=/ /g;
|
|
27 print "$variable\n";
|
|
28 $player_options = "$player_options $variable";
|
|
29 }
|
|
30 elsif($tmp[0] eq "CONTRAOUTPUT")
|
|
31 {
|
|
32 $contra_output = $tmp[1];
|
|
33 }
|
|
34 elsif($tmp[0] eq "CONTRADIR")
|
|
35 {
|
|
36 $contra_dir = $tmp[1];
|
|
37 }
|
|
38 else
|
|
39 {
|
|
40 die("Unknown Input: $input\n");
|
|
41 }
|
|
42 }
|
|
43
|
|
44
|
|
45 my $working_dir = "CONTRA_OUTPUT";
|
|
46 make_path($contra_dir);
|
|
47 #remove extension
|
|
48
|
|
49 #run contra
|
|
50 system ("contra.py -o $working_dir $player_options > /dev/null 2>&1");
|
|
51
|
|
52
|
|
53 #set html
|
|
54 #print "$contra_output - $working_dir\n";
|
|
55 open(HTML, ">$contra_output");
|
|
56 print HTML "<html><head><title>Contra: Copy Number Analysis for Targeted Resequencing</title></head><body><h3>Contra Output Files:</h3><p><ul>\n";
|
|
57 move_files($working_dir);
|
|
58 print HTML "</ul></p>\n";
|
|
59 close(HTML);
|
|
60
|
|
61 sub move_files
|
|
62 {
|
|
63 my $local_dir = $_[0];
|
|
64 opendir(DIR, $local_dir);
|
|
65 #print ("Openning: $local_dir\n");
|
|
66 my @FILES= readdir(DIR);
|
|
67 closedir(DIR);
|
|
68 foreach my $file (@FILES)
|
|
69 {
|
|
70 if ($file eq "." || $file eq "..")
|
|
71 {
|
|
72 #print ("./ or ../ skipped\n");
|
|
73 }
|
|
74 elsif (-d "$local_dir/$file")
|
|
75 {
|
|
76 #print ("moving to: $local_dir/$file\n");
|
|
77 move_files("$local_dir/$file");
|
|
78 }
|
|
79 elsif (-f "$local_dir/$file")
|
|
80 {
|
|
81 #print ("mv $local_dir/$file $contra_dir\n");
|
|
82 print HTML "<li><a href=$file>$file</a></li>\n";
|
|
83 system ("mv $local_dir/$file $contra_dir");
|
|
84 }
|
|
85 else
|
|
86 {
|
|
87 die("Unrecognized file generated: $file\n");
|
|
88 }
|
|
89
|
|
90
|
|
91 }
|
|
92
|
|
93 }
|
|
94
|