1
|
1 use Getopt::Long;
|
|
2 use strict;
|
|
3
|
|
4 use Cwd;
|
|
5 my $PROG = $0;
|
|
6 my $CUR_DIR = Cwd::abs_path(Cwd::cwd());
|
|
7 my $PROG_ABS_PATH = Cwd::abs_path($PROG);
|
|
8 my $SrcFolder=`dirname $PROG_ABS_PATH`;
|
|
9 chomp($SrcFolder);
|
|
10
|
|
11 #my $SrcFolder="/data/zhang/wuj/scripts/SpliceTrap.0.8/";
|
|
12 my $InputFileName=$ARGV[0];
|
|
13 my $OutputFileName = $ARGV[0].".hist";
|
|
14 #$OutputFileName=$ARGV[1] if $ARGV[1] ne "";
|
|
15 my $width=0.001;
|
|
16 my $verbose=1;
|
|
17 my $col=2;
|
|
18
|
|
19 GetOptions (
|
|
20 'w:f'=>\$width,
|
|
21 'c:i'=>\$col,
|
|
22 'v'=>\$verbose
|
|
23 );
|
|
24
|
|
25 $width=$width*1;
|
|
26 my $binnum=1/$width;
|
|
27 $col=$col-1;
|
|
28
|
|
29 my @CAratios;
|
|
30 my @CSratios;
|
|
31 my @ADratios;
|
|
32 my @AAratios;
|
|
33 my @AIratios;
|
|
34 my @IRratios;
|
|
35
|
|
36 open(Input, $InputFileName);
|
|
37 while(my $line=<Input>)
|
|
38 {
|
|
39 next if($line=~/^#/);
|
|
40 chomp($line);
|
|
41 my @array=split(/\s/,$line);
|
|
42 next if($array[$col]<=0.001 or $array[$col]>=0.999);
|
|
43 # push( @CAratios,$array[$col]) if($array[0]=~/^C[AS]/ or $array[0]=~/^ME/);
|
|
44 push( @CAratios,$array[$col]) if($array[0]=~/^CA/ or $array[0]=~/^ME/);
|
|
45 push( @CSratios,$array[$col]) if($array[0]=~/^CS/);
|
|
46 push( @ADratios,$array[$col]) if($array[0]=~/^AD/);
|
|
47 push( @AAratios,$array[$col]) if($array[0]=~/^AA/);
|
|
48 push( @AIratios,$array[$col]) if($array[0]=~/^AI/);
|
|
49 push( @IRratios,$array[$col]) if($array[0]=~/^IR/);
|
|
50
|
|
51 }
|
|
52
|
|
53 close(Input);
|
|
54
|
|
55 open(tmpFile, ">$InputFileName.tmpca");
|
|
56 for(my $i=0;$i<@CAratios;$i++)
|
|
57 {
|
|
58 print tmpFile $CAratios[$i],"\n";
|
|
59 }
|
|
60 close(tmpFile);
|
|
61 open(tmpFile, ">$InputFileName.tmpcs");
|
|
62 for(my $i=0;$i<@CSratios;$i++)
|
|
63 {
|
|
64 print tmpFile $CSratios[$i],"\n";
|
|
65 }
|
|
66 close(tmpFile);
|
|
67
|
|
68
|
|
69 open(tmpFile, ">$InputFileName.tmpad");
|
|
70 for(my $i=0;$i<@ADratios;$i++)
|
|
71 {
|
|
72 print tmpFile $ADratios[$i],"\n";
|
|
73 }
|
|
74 close(tmpFile);
|
|
75
|
|
76 open(tmpFile, ">$InputFileName.tmpaa");
|
|
77 for(my $i=0;$i<@AAratios;$i++)
|
|
78 {
|
|
79 print tmpFile $AAratios[$i],"\n";
|
|
80 }
|
|
81 close(tmpFile);
|
|
82
|
|
83 open(tmpFile, ">$InputFileName.tmpai");
|
|
84 for(my $i=0;$i<@AIratios;$i++)
|
|
85 {
|
|
86 print tmpFile $AIratios[$i],"\n";
|
|
87 }
|
|
88 close(tmpFile);
|
|
89
|
|
90 open(tmpFile, ">$InputFileName.tmpir");
|
|
91 for(my $i=0;$i<@IRratios;$i++)
|
|
92 {
|
|
93 print tmpFile $IRratios[$i],"\n";
|
|
94 }
|
|
95 close(tmpFile);
|
|
96
|
|
97 system("R --slave --args $InputFileName.tmpca <$SrcFolder/beta_fit.R");
|
|
98 system("R --slave --args $InputFileName.tmpad <$SrcFolder/beta_fit.R");
|
|
99 system("R --slave --args $InputFileName.tmpaa <$SrcFolder/beta_fit.R");
|
|
100 #system("R --slave --args $InputFileName.tmpai <$SrcFolder/R/beta_fit.R");
|
|
101 system("R --slave --args $InputFileName.tmpir <$SrcFolder/beta_fit.R");
|
|
102 system("R --slave --args $InputFileName.tmpcs <$SrcFolder/beta_fit.R");
|
|
103
|
|
104 system("echo '#Width:$width' >$InputFileName.fit.hist");
|
|
105 #system("paste $InputFileName.tmpca.fit $InputFileName.tmpad.fit $InputFileName.tmpaa.fit $InputFileName.tmpai.fit $InputFileName.tmpir.fit $InputFileName.tmpcs.fit >>$InputFileName.fit.hist");
|
|
106
|
|
107 system("paste $InputFileName.tmpca.fit $InputFileName.tmpad.fit $InputFileName.tmpaa.fit $InputFileName.tmpir.fit $InputFileName.tmpcs.fit >>$InputFileName.fit.hist");
|
|
108 #system("rm $InputFileName.tmpca* $InputFileName.tmpad* $InputFileName.tmpaa* $InputFileName.tmpai* $InputFileName.tmpir* ");
|