Mercurial > repos > fcaramia > contra
diff contra_wrapper.pl @ 23:2770f49cb0dc
re-uploading contra
author | Franco Caramia <franco.caramia@petermac.org> |
---|---|
date | Tue, 20 May 2014 09:59:00 +1000 |
parents | |
children | c361b3fb806e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contra_wrapper.pl Tue May 20 09:59:00 2014 +1000 @@ -0,0 +1,91 @@ +use strict; +use warnings; + +use FindBin; +use File::Path qw(make_path); +use File::Spec; + + +die "Bad number of inputs" if(!@ARGV); + +my $player_options = ""; +my $contra_output; +my $contra_dir; + + + +foreach my $input (@ARGV) +{ + my @tmp = split "::", $input; + + if($tmp[0] eq "PLAYEROPTION") + { + my $variable = $tmp[1]; + $variable =~ s/=/ /g; + print "$variable\n"; + $player_options = "$player_options $variable"; + } + elsif($tmp[0] eq "CONTRAOUTPUT") + { + $contra_output = $tmp[1]; + } + elsif($tmp[0] eq "CONTRADIR") + { + $contra_dir = $tmp[1]; + } + else + { + die("Unknown input: $input\n"); + } +} + + +my $working_dir = "CONTRA_OUTPUT"; +make_path($contra_dir); +#remove extension + +#run contra +system(File::Spec->catfile($FindBin::Bin, 'contra.py') . " -o $working_dir $player_options > /dev/null 2>&1"); + +#set html +#print "$contra_output - $working_dir\n"; +open(HTML, ">$contra_output"); +print HTML "<html><head><title>Contra: Copy Number Analysis for Targeted Resequencing</title></head><body><h3>Contra Output Files:</h3><p><ul>\n"; +move_files($working_dir); +print HTML "</ul></p>\n"; +close(HTML); + +sub move_files +{ + my $local_dir = $_[0]; + opendir(DIR, $local_dir); + #print ("Openning: $local_dir\n"); + my @FILES= readdir(DIR); + closedir(DIR); + foreach my $file (@FILES) + { + if ($file eq "." || $file eq "..") + { + #print ("./ or ../ skipped\n"); + } + elsif (-d "$local_dir/$file") + { + #print ("moving to: $local_dir/$file\n"); + move_files("$local_dir/$file"); + } + elsif (-f "$local_dir/$file") + { + #print ("mv $local_dir/$file $contra_dir\n"); + print HTML "<li><a href=$file>$file</a></li>\n"; + system ("mv $local_dir/$file $contra_dir"); + } + else + { + die("Unrecognized file generated: $file\n"); + } + + + } + +} +