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

my $inputfile=$ARGV[0];

open (INPUT_FILE,$inputfile);

open (file2,">0hrep1test.bed") or die "$!\n";
#open (file2b,">bow2RNA_1filtered3uniqtestold2.bed") or die "$!\n";

my %matrix1;
my %matrix2;
my %matrix3;
my %matrix5;
my %matrix4;
my @matrix6;

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

my $var7=0;
my $var8=0;
my $var9=0;

my $signal=0;

my $temp1=0;

while(my $line1=<INPUT_FILE>)  
 {   
        @{$matrix1{$temp1}}=split(/\s/,$line1);
      
        @{$matrix2{$temp1}}=split(/\:/,${$matrix1{$temp1}}[0]);
        
        $var1=scalar(@{$matrix2{$temp1}});     
        
        @{$matrix3{$temp1}}=split(//,${$matrix1{$temp1}}[6]);

        $var2=scalar(@{$matrix3{$temp1}});


         for (my $j=0; $j<$var1; $j++ )
           {
           @{$matrix4{$temp1}}=split(/\_/,${$matrix2{$temp1}}[$j]); # break on every \-
           $var7=${$matrix4{$temp1}}[1]-1;
           $var8=${$matrix4{$temp1}}[2];
           $var9=abs($var8-$var7); ###distance of exons
           $var3=$var9+$var3;       ###add contigs 
           #$var3=${$matrix4{$temp1}}[4]+$var3;
           #$matrix6[$j]=$var3;

           if ( $signal==1) #if found skip
           { }
          elsif ( $var3 >= ${$matrix1{$temp1}}[5] ) ####if var3 >= bowtie output 
            { #print "$matrix6[$j-1]\n";
              #$var4=abs($var3-${$matrix1{$temp1}}[5]);
              #$var4=abs($matrix6[$j-1]-${$matrix1{$temp1}}[5]);
               $var4=abs($var3-${$matrix1{$temp1}}[5]); ###sum - bowtie = a               
               $signal=1;
      $var5=abs((${$matrix4{$temp1}}[2]-1)-$var4); $var6=$var5+$var2; ##genome coordinates start=gend-a  end start+read lenth
              #print "$var4\n";
print file2 "${$matrix4{$temp1}}[0]\t$var5\t$var6\t${$matrix1{$temp1}}[1]\t${$matrix4{$temp1}}[3]\:${$matrix1{$temp1}}[9]\t${$matrix1{$temp1}}[2]\n";
             }
            }

            for (my $j=0; $j<$var1; $j++ )
             { ${$matrix2{$temp1}}[$j]=0;}
           #@{$matrix1{$temp1}}=0;
           @{$matrix2{$temp1}}=0; 
           @{$matrix3{$temp1}}=0;     
           @{$matrix4{$temp1}}=0;
            $signal=0;
            $var3=0;$var1=0;$var2=0; $var4=0;$var6=0; $var5=0;
       undef %matrix1;
      undef %matrix2;
       undef %matrix3;
       undef %matrix4;
        $temp1++;
  } 
        
close (file2);

              
        
 


