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

my $inputfile=$ARGV[0];
my $inputfile1=$ARGV[1];

open (INPUT_FILE,$inputfile);

open (file2,">$inputfile1.bed") or die "$!\n";

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

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

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

     $temp1++;
 }

print file2 "${$matrix1{0}}[6]\t${$matrix1{0}}[7]\t${$matrix1{0}}[8]\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] eq ${$matrix1{$i}}[9] ) )
      { }
    elsif ( ( ${$matrix1{$i-1}}[3] eq ${$matrix1{$i}}[3] )  && ( ${$matrix1{$i-1}}[9] < ${$matrix1{$i}}[9] ) )
     {print file2 "${$matrix1{$i}}[6]\t${$matrix1{$i}}[7]\t${$matrix1{$i}}[8]\t${$matrix1{$i}}[3]\t${$matrix1{$i}}[9]\t${$matrix1{$i}}[5]\n";}
    elsif ( ( ${$matrix1{$i-1}}[3] eq ${$matrix1{$i}}[3] )  && ( ${$matrix1{$i-1}}[9] > ${$matrix1{$i}}[9] ) )
     {print file2 "${$matrix1{$i-1}}[6]\t${$matrix1{$i-1}}[7]\t${$matrix1{$i-1}}[8]\t${$matrix1{$i-1}}[3]\t${$matrix1{$i-1}}[9]\t${$matrix1{$i-1}}[5]\n";}
    elsif ( ( ${$matrix1{$i+1}}[3] eq ${$matrix1{$i}}[3] )  && ( ${$matrix1{$i+1}}[9] < ${$matrix1{$i}}[9] ) )
    {print file2 "${$matrix1{$i}}[6]\t${$matrix1{$i}}[7]\t${$matrix1{$i}}[8]\t${$matrix1{$i}}[3]\t${$matrix1{$i}}[9]\t${$matrix1{$i}}[5]\n";}
    elsif ( ( ${$matrix1{$i+1}}[3] eq ${$matrix1{$i}}[3] ) &&  ( ${$matrix1{$i+1}}[9] > ${$matrix1{$i}}[9] ) )
    {print file2 "${$matrix1{$i+1}}[6]\t${$matrix1{$i+1}}[7]\t${$matrix1{$i+1}}[8]\t${$matrix1{$i+1}}[3]\t${$matrix1{$i+1}}[9]\t${$matrix1{$i+1}}[5]\n";}
    elsif ( ( ${$matrix1{$i+1}}[3] eq ${$matrix1{$i}}[3] ) && ( ${$matrix1{$i+1}}[9] eq ${$matrix1{$i}}[9] ))
    {print file2 "${$matrix1{$i}}[6]\t${$matrix1{$i}}[7]\t${$matrix1{$i}}[8]\t${$matrix1{$i}}[3]\t${$matrix1{$i}}[9]\t${$matrix1{$i}}[5]\n";}
    else
    {print file2 "${$matrix1{$i}}[6]\t${$matrix1{$i}}[7]\t${$matrix1{$i}}[8]\t${$matrix1{$i}}[3]\t${$matrix1{$i}}[9]\t${$matrix1{$i}}[5]\n";}

 }



