comparison snippy_core_wrapper.pl @ 0:c9a8ef2aa380 draft

planemo upload commit b288d4f48e58e291bda17c5945c281348ee072c7
author iuc
date Fri, 16 Feb 2018 13:40:16 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:c9a8ef2aa380
1 #!/usr/bin/env perl
2
3 #--------------------------------------
4 #
5 # snippy_core_wrapper.pl
6 #
7 # This is an intermediary script between snippy-core.xml and snippy-core
8 # It:
9 # - Copys the supplied zipped snippy output files to the working dir
10 # - Untars them to their datafile name
11 # - Builds the snippy-core command
12 # - Runs the snippy-core command
13 #
14 #--------------------------------------
15
16 use warnings;
17 use strict;
18 use File::Copy;
19 use File::Basename;
20
21 my(@Options, $indirs, $noref);
22 setOptions();
23
24 my @list_of_dirs = split /\s+/, $indirs;
25
26 #The list of final directories to be passed to snippy-core will be stored here.
27 my @snippy_outs;
28
29 foreach my $d (@list_of_dirs){
30 print STDERR "$d\n";
31 my $bn = basename($d);
32 my ($name, $dir, $ext) = fileparse($d, '\..*');
33 copy($d, $bn);
34 print STDERR "$d, $bn, $name, $dir, $ext\n";
35 `tar -xf $bn`;
36 }
37
38 my $test_list = `ls -d */`;
39 $test_list =~ s/\///g;
40 print STDERR "$test_list\n";
41
42 @snippy_outs = split /\s+/, $test_list;
43
44
45 my $commandline = "snippy-core ";
46
47 $commandline .= "--noref " if $noref;
48 $commandline .= join(" ", @snippy_outs);
49 print STDERR "snippy-core commandline: $commandline\n";
50
51 my $ok = system($commandline);
52
53 #----------------------------------------------------------------------
54 # Option setting routines
55
56 sub setOptions {
57 use Getopt::Long;
58
59 @Options = (
60 {OPT=>"help", VAR=>\&usage, DESC=>"This help"},
61 {OPT=>"noref!", VAR=>\$noref, DEFAULT=>0, DESC=>"Don't include the reference in the alignment."},
62 {OPT=>"indirs=s", VAR=>\$indirs, DEFAULT=>"", DESC=>"A whitespace delimited list of the snippy output zipped dirs."},
63 );
64
65 &GetOptions(map {$_->{OPT}, $_->{VAR}} @Options) || usage();
66
67 # Now setup default values.
68 foreach (@Options) {
69 if (defined($_->{DEFAULT}) && !defined(${$_->{VAR}})) {
70 ${$_->{VAR}} = $_->{DEFAULT};
71 }
72 }
73 }
74
75 sub usage {
76 print "Usage: $0 [options] -i inputfile > ... \n";
77 foreach (@Options) {
78 printf " --%-13s %s%s.\n",$_->{OPT},$_->{DESC},
79 defined($_->{DEFAULT}) ? " (default '$_->{DEFAULT}')" : "";
80 }
81 exit(1);
82 }