#! /usr/bin/perl
#
#  Usage: midpoint_root [ tree_file ] > tree
#
use gjonewicklib;
use strict;

my $usage = <<'End_of_Usage';

Usage: midpoint_root [options]   tree_file > tree
       midpoint_root [options] < tree_file > tree


Options:

   -n    #  Root tree at closest node (D = in a branch)

End_of_Usage

my $at_node = 0;
while ( @ARGV && $ARGV[0] =~ s/^-// )
{
    local $_ = shift;
    if ( s/n//g ) { $at_node = 1 }
    if ( m/./ )   { print STDERR $usage; exit }
}

my $tree = parse_newick_tree_str( join( ' ', <> ) );
$tree or print STDERR "Usage: midpoint_root [ tree_file ] > tree\n" and exit;

my $tree2 = $at_node ? reroot_newick_to_approx_midpoint_w( $tree )
                     : reroot_newick_to_midpoint_w( $tree );
writeNewickTree( $tree2 );
