1
|
1 use strict;
|
|
2 exit;
|
|
3
|
|
4 my %config=do "$ENV{HOME}/.SpliceTrap.pl.ini";
|
|
5 my $SrcFolder=$config{SrcFolder};
|
|
6
|
|
7 my $BedFileName=$SrcFolder."/db/TXdb.1101.bed";
|
|
8 my $RatioFileName=$ARGV[0];
|
|
9 my $BedFileOutName=$ARGV[1];
|
|
10 my %Ratios;
|
|
11
|
|
12 open(RatioFile, $RatioFileName);
|
|
13
|
|
14 while(my $RatioLine=<RatioFile>)
|
|
15 {
|
|
16 chomp($RatioLine);
|
|
17 my @array=split("\t",$RatioLine);
|
|
18 $Ratios{$array[0]}=$array[2] if $array[14] eq "passed";
|
|
19 }
|
|
20
|
|
21 close(RatioFile);
|
|
22
|
|
23 open(BedFile, $BedFileName);
|
|
24 open(BedFileOut,">".$BedFileOutName.".bed");
|
|
25 print BedFileOut "track name=$BedFileOutName discription=$BedFileOutName useScore=1\n";
|
|
26 while(my $BedLine=<BedFile>)
|
|
27 {
|
|
28 my @array=split("\t",$BedLine);
|
|
29 $array[3]=~/^(\S*)\[([LS])\]/;
|
|
30 my $id=$1;
|
|
31 my $LS=$2;
|
|
32 #print $LS,"\n";
|
|
33 next if not exists $Ratios{$id};
|
|
34 $array[4]=$Ratios{$id};
|
|
35 $array[4]=1-$Ratios{$id} if( $LS eq 'S');
|
|
36
|
|
37 $array[4]=sprintf("%.0f",$array[4]*1000);
|
|
38 for (my $i=0;$i<@array; $i++)
|
|
39 {
|
|
40 print BedFileOut $array[$i];
|
|
41 print BedFileOut "\t" if $i<scalar(@array)-1;
|
|
42 }
|
|
43 #print BedFileOut "\n";
|
|
44 }
|
|
45 close(BedFileOut);
|
|
46 close(BedFile);
|