#!/util/bin/perl -w

use strict;

use Getopt::Long;
use Data::Dumper;

my $suffix;
my $outdir;
my $indir;

GetOptions("suffix=s"=>\$suffix,
            "outdir=s"=>\$outdir,
            "indir=s"=>\$indir
	   ); 


opendir INDIR, $indir or die "Could not open directory\n";
my @paml_outs = grep /$suffix$/, readdir INDIR;
closedir INDIR;

#print Dumper(@paml_outs);

foreach my $in (@paml_outs) {
    
    my $out = $in;
    #$out =~ s/$suffix//;
    $out = $outdir."/".$out.".mod";

    open IN, $indir."/".$in or die "Can't open PAML output file $in\n";
    open OUT, ">$out" or die "Can't open $out for output\n";

    print OUT "#Model extracted from PAML outfile ${indir}/${in}\n";
    print OUT "ALPHABET: T,C,A,G\n";
    my $atMatrix = 0;
    my $matrixRow = 0;
    my $treeNum = 0;
    while(<IN>) {
	chomp;
	if(/^Average/) {
	    $_ =~ s/^Average\s*//;
	    print OUT "BACKGROUND: $_\n";
	}elsif( /^\(/) {
	    if($treeNum == 3) {
		print OUT "TREE: $_\n";
	    }
	    $treeNum++;
	}elsif (/^Rate matrix Q/) {
	    $atMatrix = 1;
	    print OUT "RATE_MAT:\n";
	}elsif($atMatrix && $matrixRow < 4){
	    print OUT $_."\n";
	    ++$matrixRow;
	}
    }

    close OUT;
    close IN;
}


