Mercurial > repos > bioitcore > splicetrap
diff bin/vslz.pl @ 1:adc0f7765d85 draft
planemo upload
author | bioitcore |
---|---|
date | Thu, 07 Sep 2017 15:06:58 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/vslz.pl Thu Sep 07 15:06:58 2017 -0400 @@ -0,0 +1,46 @@ +use strict; +exit; + +my %config=do "$ENV{HOME}/.SpliceTrap.pl.ini"; +my $SrcFolder=$config{SrcFolder}; + +my $BedFileName=$SrcFolder."/db/TXdb.1101.bed"; +my $RatioFileName=$ARGV[0]; +my $BedFileOutName=$ARGV[1]; +my %Ratios; + +open(RatioFile, $RatioFileName); + +while(my $RatioLine=<RatioFile>) +{ + chomp($RatioLine); + my @array=split("\t",$RatioLine); + $Ratios{$array[0]}=$array[2] if $array[14] eq "passed"; +} + +close(RatioFile); + +open(BedFile, $BedFileName); +open(BedFileOut,">".$BedFileOutName.".bed"); +print BedFileOut "track name=$BedFileOutName discription=$BedFileOutName useScore=1\n"; +while(my $BedLine=<BedFile>) +{ + my @array=split("\t",$BedLine); + $array[3]=~/^(\S*)\[([LS])\]/; + my $id=$1; + my $LS=$2; + #print $LS,"\n"; + next if not exists $Ratios{$id}; + $array[4]=$Ratios{$id}; + $array[4]=1-$Ratios{$id} if( $LS eq 'S'); + + $array[4]=sprintf("%.0f",$array[4]*1000); + for (my $i=0;$i<@array; $i++) + { + print BedFileOut $array[$i]; + print BedFileOut "\t" if $i<scalar(@array)-1; + } + #print BedFileOut "\n"; +} +close(BedFileOut); +close(BedFile);