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

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

open (INPUT_FILE,$inputfile);

open (file2,">$inputfile2.bed") or die "$!\n";
#open (file2b,">TCtest.bed") or die "$!\n";

my %matrix1;
my %matrix2;

my $temp1=0;
my $var1=0;
my $var2=0;my $var2b=0;
my $var3=0;
my $var4=0;my $var5=0;my $var6=0;my $dummy=0;
my $var7=0;

while(my $line1=<INPUT_FILE>)  
 {   
     @{$matrix1{$temp1}}=split(/\s/,$line1);
      
         if ( ${$matrix1{$temp1}}[4] =~/.*\:T\>C.*/ig )
           {  @{$matrix2{$temp1}}=split(/\,/,${$matrix1{$temp1}}[4]); 
              $var1=scalar(@{$matrix2{$temp1}});
              #print file2b "@{$matrix2{$temp1}}\n";

             if ( $var1 < 4)
              {  $dummy=0;

             for (my $j=0; $j<$var1; $j++ )
               {  

                if ( ${$matrix2{$temp1}}[$j] =~/(\d{1,6})\:T\>C/ig )
                  {  $var2=$1;
    
                if (( ${$matrix2{$temp1}}[$j-1] =~/(\d{1,6})\:A\>G/ig )||( ${$matrix2{$temp1}}[$j-1] =~/(\d{1,6})\:T\>G/ig )||( ${$matrix2{$temp1}}[$j-1] =~/(\d{1,6})\:C\>T/ig )||( ${$matrix2{$temp1}}[$j-1] =~/(\d{1,6})\:A\>T/ig )||( ${$matrix2{$temp1}}[$j-1] =~/(\d{1,6})\:A\>C/ig )||( ${$matrix2{$temp1}}[$j-1] =~/(\d{1,6})\:G\>A/ig )||( ${$matrix2{$temp1}}[$j-1] =~/(\d{1,6})\:G\>T/ig )||( ${$matrix2{$temp1}}[$j-1] =~/(\d{1,6})\:G\>C/ig )||( ${$matrix2{$temp1}}[$j-1] =~/(\d{1,6})\:T\>A/ig )||( ${$matrix2{$temp1}}[$j-1] =~/(\d{1,6})\:C\>G/ig )||( ${$matrix2{$temp1}}[$j-1] =~/(\d{1,6})\:C\>A/ig ) ||( ${$matrix2{$temp1}}[$j+1] =~/(\d{1,6})\:A\>G/ig )||( ${$matrix2{$temp1}}[$j+1] =~/(\d{1,6})\:T\>G/ig )||( ${$matrix2{$temp1}}[$j+1] =~/(\d{1,6})\:C\>T/ig )||( ${$matrix2{$temp1}}[$j+1] =~/(\d{1,6})\:A\>T/ig )||( ${$matrix2{$temp1}}[$j+1] =~/(\d{1,6})\:A\>C/ig )||( ${$matrix2{$temp1}}[$j+1] =~/(\d{1,6})\:G\>A/ig )||( ${$matrix2{$temp1}}[$j+1] =~/(\d{1,6})\:G\>T/ig )||( ${$matrix2{$temp1}}[$j+1] =~/(\d{1,6})\:G\>C/ig )||( ${$matrix2{$temp1}}[$j+1] =~/(\d{1,6})\:T\>A/ig )||( ${$matrix2{$temp1}}[$j+1] =~/(\d{1,6})\:C\>G/ig )||( ${$matrix2{$temp1}}[$j+1] =~/(\d{1,6})\:C\>A/ig ))
                    {  $var5=$1;}
                else
                 { $var5=0; }
                       
                       $var6=abs($var2-$var5);
                       #print file2b "$var1\t$var5\t$var6\t$var2\n";
                   
                if ( $var6 > 1)
                  {
                  if ( ${$matrix1{$temp1}}[5] =~ /\+/)
                   { $var3=${$matrix1{$temp1}}[1]+$var2; #}
                  #elsif ( ${$matrix1{$temp1}}[5] =~ /\-/ )
                  # { $var3=${$matrix1{$temp1}}[2]-$var2; }     
                      $var4=$var3+1;
                      $var7=$var4+1;
                  
  print file2 "${$matrix1{$temp1}}[0]\t$var4\t$var7\t${$matrix1{$temp1}}[3]\t${$matrix1{$temp1}}[4]\t${$matrix1{$temp1}}[5]\n";
                   } }

                   }

                  }
                }
              }
   $temp1++;

}

close(file2);
