[Bio] / FigKernelScripts / make_occ_counts.pl Repository:
ViewVC logotype

Annotation of /FigKernelScripts/make_occ_counts.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (view) (download) (as text)

1 : efrank 1.1 # -*- perl -*-
2 :    
3 :     use Carp;
4 :     use Data::Dumper;
5 :     use FIG;
6 :    
7 :     my $fig = new FIG;
8 :     $| = 1;
9 :    
10 :     # usage: make_occ_counts CutOff > counts
11 :    
12 :     ( $cutoff = shift @ARGV)
13 :     || die "usage: make_occ_counts CutOff > counts";
14 :    
15 :     opendir(SIMS,"$FIG_Config::data/Sims") || die "could not open Sims";
16 :     @files = grep { $_ !~ /^\./ } readdir(SIMS);
17 :     closedir(SIMS);
18 :    
19 :     foreach $file (@files)
20 :     {
21 :     &process("$FIG_Config::data/Sims/$file");
22 :     }
23 :    
24 :     sub process {
25 :     my($file) = @_;
26 :     my(%seen,$x,$curr,$count);
27 :    
28 :     open(TMP,"<$file") || die "could not open $file";
29 :    
30 :     if (defined($x = <TMP>))
31 :     {
32 :     chop $x;
33 :     $x = [split(/\t/,$x)];
34 :     }
35 :     while (defined($x))
36 :     {
37 :     $curr = $x->[0];
38 :     $count = 0;
39 :     undef %seen;
40 :     while (defined($x) && ($x->[0] eq $curr))
41 :     {
42 :     if ((! $seen{$x->[1]}) && ($x->[10] <= $cutoff))
43 :     {
44 :     $seen{$x->[1]} = 1;
45 :     $count++;
46 :     }
47 :    
48 :     if (defined($x = <TMP>))
49 :     {
50 :     chop $x;
51 :     $x = [split(/\t/,$x)];
52 :     }
53 :     }
54 :     print "$count\t$curr\n";
55 :     }
56 :     close(TMP);
57 :     }
58 :    
59 :     undef $fig;

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3