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

Annotation of /FigKernelScripts/check_consistency_of_rectangles.pl

Parent Directory Parent Directory | Revision Log Revision Log


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

1 : overbeek 1.1 use strict;
2 :     use Data::Dumper;
3 :     use FIG;
4 :     my $fig = new FIG;
5 :    
6 :     $/ = "\n//\n";
7 :    
8 :     my $good = 0;
9 :     my $bad = 0;
10 :    
11 :     my $rectangle;
12 :     while (defined($rectangle = <STDIN>))
13 :     {
14 :     chomp $rectangle;
15 :     my @instances = map { [split(/\t/,$_)] } split(/\n/,$rectangle);
16 :     my $i;
17 :     my $j;
18 :     for ($i = 1; ($i < @{$instances[0]}); $i++)
19 :     {
20 :     my %funcs;
21 :     for ($j=0; ($j < @instances); $j++)
22 :     {
23 :     my $func = &func_of($fig,$instances[$j]->[$i]);
24 :     push(@{$funcs{$func}},$instances[$j]->[$i]);
25 :     }
26 :     if (keys(%funcs) > 1)
27 :     {
28 :     $bad++;
29 :     foreach my $func ( sort { @{$funcs{$b}} <=> @{$funcs{$a}} } keys(%funcs))
30 :     {
31 :     print $func, "\n";
32 :     print "\t", join(",",@{$funcs{$func}}),"\n";
33 :     }
34 :     print "\n";
35 :     }
36 :     else
37 :     {
38 :     $good++;
39 :     }
40 :     }
41 :     print STDERR "bad=$bad good = $good\n";
42 :     }
43 :    
44 :     sub func_of {
45 :     my($fig,$peg) = @_;
46 :    
47 :     my $f = $fig->function_of($peg);
48 :     if (! $f) { $f = "hypothetical protein" }
49 :     $f =~ s/\s+\#.*//;
50 :     return $f;
51 :     }

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3