view Rooting/Rooting.pl @ 12:88748d846a20 draft

planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
author dereeper
date Tue, 14 Aug 2018 08:21:55 -0400
parents 98c37a5d67f4
children
line wrap: on
line source

#!/usr/bin/perl

use strict;
use Getopt::Long;
use Bio::SeqIO;
use Cwd ;
use FindBin qw ( $Bin $Script );

my $CURRENT_DIR = $Bin;

my $ROOTING_EXE = "java -jar ". $CURRENT_DIR . "/Rootings_54.jar";

my $usage = qq~Usage:$0 <args> [<opts>]
where <args> are:
    -i, --input         <newick input>
    -o, --output        <newick output>
~;
$usage .= "\n";

my ($input,$outfile);


GetOptions(
	"input=s"    => \$input,
	"output=s"   => \$outfile
);


die $usage
  if ( !$input || !$outfile);
  
my $treefile = $input;
	

# replace negative values by 0
open(T,$treefile);
open(T2,">$treefile.2");
while(<T>)
{
	my $line = $_;
	$line =~s/\-\d+\.*\d*\,/0,/g;
	$line =~s/\-\d+\.*\d*\)/0\)/g;
	print T2 $line;
}
close(T);
close(T2);
	
my $rooting_command = $ROOTING_EXE . " -input $treefile.2 -output $treefile.all -midpoint $treefile.midpoint >>$treefile.rooting.log 2>&1";
system($rooting_command);

unlink("$treefile.all");
unlink("$treefile.2");
rename("$treefile.midpoint",$outfile);