#!/usr/bin/perl -w
#Author: Feng Cheng
use warnings;
use strict;

my ($out,$apep,$bpep,$dirw) = ($ARGV[0],$ARGV[1],$ARGV[2],$ARGV[3]);
$apep =~ /([^\/]+)$/;
$apep = $1;
$bpep =~ /([^\/]+)$/;
$bpep = $1;
my ($out1,$out2) = ("$dirw/$apep.TandemGeneArray","$dirw/$bpep.TandemGeneArray");
#--pick best linear records------------------------------
my $in = "$dirw/temp/a2b_colinear_orthologous";
open(FR,$in);

if(!($out=~/^\//)) {
  $out = "$dirw/$out";
}
open(FW,">$out");

my $aGene = "";
my ($tempRate,$tempGene,%aGene2rec,$rate);
while($_=<FR>) {
  /^([^\t]+)\t/;
  $tempGene = $1;
  if(!exists($aGene2rec{$tempGene})) {
    if($aGene ne "") {
      print FW "$aGene2rec{$aGene}";
    }
    $aGene = $tempGene;
    /\t(\d+)\|(\d+)\t(\d+)\|(\d+)\t/;
    $rate = ($1+$3)/($2+$4);
    $aGene2rec{$aGene} = $_;
  }
  else {
    /\t(\d+)\|(\d+)\t(\d+)\|(\d+)\t/;
    $tempRate = ($1+$3)/($2+$4);
    if($tempRate>$rate) {
      $aGene = $tempGene;
      $rate = $tempRate;
      $aGene2rec{$aGene} = $_;
    }
  }
}
print FW "$aGene2rec{$aGene}";

close(FR);
close(FW);

system("cp $dirw/temp/a2aTandemDups.lst $out1");
system("cp $dirw/temp/b2bTandemDups.lst $out2");

