#!/bin/perl
use warnings;
use strict;

my $inputfile=$ARGV[0];

open (INPUT_FILE,$inputfile);

#open (file1,"0hrep3_QT-with-tc5_Hafner.bed") or die "$!\n";
open (file2,">Hafnerover5-tcmp3.bed") or die "$!\n";
#open (file2b,">Hafnerover5-tcmposit.bed") or die "$!\n";
#open (file2d,">allHafnerover5-tcmposit.bed") or die "$!\n";

my %matrix1;
my %matrix2;
my %matrix3;

my $temp1=0;
my $temp2=0;
my $temp3=0;

my $signal=0;
my $q=0;

my $var1=0;my $var2=0;my $var3=0;my $var4=0;my $var5=0;my $var6=0;my $var0=0;

while(my $line1=<INPUT_FILE>)  
 {   
     @{$matrix1{$temp1}}=split(/\s/,$line1);
 

       
     $temp1++;
 }

print file2 "${$matrix1{0}}[0]\t${$matrix1{0}}[1]\t${$matrix1{0}}[2]\t${$matrix1{0}}[3]\t${$matrix1{0}}[9]\t${$matrix1{0}}[5]\n";


for ( my $i=1; $i<$temp1; $i++)
 {  


   if  ( ( ${$matrix1{$i-1}}[3] eq ${$matrix1{$i}}[3] ) && ( ${$matrix1{$i-1}}[9] >= ${$matrix1{$i}}[9] )) 
          { ${$matrix2{$q}}[0]=${$matrix1{$i-1}}[0];
            ${$matrix2{$q}}[1]=${$matrix1{$i-1}}[1];
            ${$matrix2{$q}}[2]=${$matrix1{$i-1}}[2];
            ${$matrix2{$q}}[4]=${$matrix1{$i-1}}[4];
            ${$matrix2{$q}}[5]=${$matrix1{$i-1}}[5];
${$matrix2{$q}}[6]=${$matrix1{$i-1}}[6];
            ${$matrix2{$q}}[3]=${$matrix1{$i-1}}[3];
            $q++; $signal=1;
           }
  elsif  ( ( ${$matrix1{$i-1}}[3] eq ${$matrix1{$i}}[3] ) && ( ${$matrix1{$i-1}}[9] <= ${$matrix1{$i}}[9] ))
            { ${$matrix2{$q}}[0]=${$matrix1{$i}}[0];
${$matrix2{$q}}[6]=${$matrix1{$i}}[6];
            ${$matrix2{$q}}[1]=${$matrix1{$i}}[1];
            ${$matrix2{$q}}[2]=${$matrix1{$i}}[2];
            ${$matrix2{$q}}[4]=${$matrix1{$i}}[4];
            ${$matrix2{$q}}[5]=${$matrix1{$i}}[5];
            ${$matrix2{$q}}[3]=${$matrix1{$i}}[3];
               $q++; $signal=1;
             } 
  
          
elsif  ( ( ${$matrix1{$i-1}}[3] ne ${$matrix1{$i}}[3] )  &&( ${$matrix1{$i+1}}[3] ne ${$matrix1{$i}}[3] ))
          { 
print file2 "${$matrix1{$i}}[0]\t${$matrix1{$i}}[1]\t${$matrix1{$i}}[2]\t${$matrix1{$i}}[3]\t${$matrix1{$i}}[9]\t${$matrix1{$i}}[5]\n";
 
            for (my $j=0;$j<$q; $j++)
              {
                 if  ( ${$matrix2{$j}}[9] >= $var5 )
                  {   $var5 = ${$matrix2{$j}}[9]; 
                      $var6 = ${$matrix2{$j}}[5];
                     $var4 = ${$matrix2{$j}}[4];
                    $var3 = ${$matrix2{$j}}[3];
                     $var2 = ${$matrix2{$j}}[2];
                     $var1 = ${$matrix2{$j}}[1];
                     $var0 = ${$matrix2{$j}}[0]; 
                   }
               }
       if ($signal== 1)
      { print file2 "$var0\t$var1\t$var2\t$var3\t$var5\t$var6\n";    

         
            $signal=0;  $var1=0;$var2=0;$var3=0;$var4=0;$var5=0;$var6=0;$var0=0;$q=0;
       }

        elsif ($signal== 0)
          {  $var1=0;$var2=0;$var3=0;$var4=0;$var5=0;$var6=0;$var0=0;

$signal=0;$q=0;
           }
        }


 }

close (file2);




