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

Diff of /FigKernelScripts/partition_prots.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2, Fri Sep 12 01:47:15 2008 UTC revision 1.3, Tue Dec 16 01:05:41 2008 UTC
# Line 14  Line 14 
14    
15  my %prot_hash;  my %prot_hash;
16  my %seen_hash;  my %seen_hash;
17  &build_hashes(\%prot_hash,\%seen_hash);  &build_hashes(\%prot_hash,\%seen_hash,$max_sz);
18    
19  my @all = sort keys(%prot_hash);  my @all = sort keys(%prot_hash);
20  my $n = @all;  my $n = @all;
# Line 28  Line 28 
28          print STDERR "processing $all[$i], $i of $#all\n";          print STDERR "processing $all[$i], $i of $#all\n";
29          &process($fig,$all[$i],\%seen_hash,\%prot_hash,$max_sz,\$n);          &process($fig,$all[$i],\%seen_hash,\%prot_hash,$max_sz,\$n);
30      }      }
31        else
32        {
33            print STDERR "seen $all[$i]\n";
34        }
35  }  }
36    
37  sub process {  sub process {
# Line 79  Line 83 
83      my($peg,$x,$peg1,$x1);      my($peg,$x,$peg1,$x1);
84      while (($peg1,$x1) = each %$closest)      while (($peg1,$x1) = each %$closest)
85      {      {
86          if ((! $seen->{$peg}) && ((! defined($peg)) || ($x1 > $x)))          if ((! $seen->{$peg1}) && ((! defined($peg1)) || ($x1 > $x)))
87          {          {
88              $peg = $peg1;              $peg = $peg1;
89              $x = $x1;              $x = $x1;
# Line 89  Line 93 
93  }  }
94    
95  sub build_hashes {  sub build_hashes {
96      my($prot_hash,$seen_hash) = @_;      my($prot_hash,$seen_hash,$sz) = @_;
97    
98      my($prot_hash_tie,$seen_hash_tie);      my($prot_hash_tie,$seen_hash_tie);
99  #    $prot_hash_tie = tie %$prot_hash, 'DB_File','prot_hash.db',O_RDWR,0666,$DB_BTREE;  #    $prot_hash_tie = tie %$prot_hash, 'DB_File',"partition_prot_hash_$sz.db",O_RDWR,0666,$DB_BTREE;
100  #    $seen_hash_tie = tie %$seen_hash, 'DB_File','seen_hash.db',O_RDWR,0666,$DB_BTREE;  #    $seen_hash_tie = tie %$seen_hash, 'DB_File',"seen_hash_$sz.db",O_RDWR,0666,$DB_BTREE;
101  #    return;  #    return;
102    
103      $prot_hash_tie = tie %$prot_hash, 'DB_File','prot_hash.db',O_CREAT,0666,$DB_BTREE;      $prot_hash_tie = tie %$prot_hash, 'DB_File',"partition_prot_hash_$sz.db",O_CREAT,0666,$DB_BTREE;
104      $prot_hash_tie || die "tie failed";      $prot_hash_tie || die "tie failed";
105    
106      $seen_hash_tie = tie %$seen_hash, 'DB_File','seen_hash.db',O_CREAT,0666,$DB_BTREE;      $seen_hash_tie = tie %$seen_hash, 'DB_File',"seen_hash_$sz.db",O_CREAT,0666,$DB_BTREE;
107      $seen_hash_tie || die "tie failed";      $seen_hash_tie || die "tie failed";
108    
109      open(SYMS,"<$FIG_Config::global/peg.synonyms")      open(SYMS,"<$FIG_Config::global/peg.synonyms")
# Line 115  Line 119 
119              if (@fig > 0)              if (@fig > 0)
120              {              {
121                  $head =~ s/,\d+$//;                  $head =~ s/,\d+$//;
122                  $prot_hash{$head} = 1;                  $prot_hash->{$head} = 1;
123                  foreach my $peg (@fig)                  foreach my $peg (@fig)
124                  {                  {
125                      $seen_hash{$peg} = 1;                      $seen_hash->{$peg} = 1;
126                  }                  }
127              }              }
128          }          }
129      }      }
     print STDERR "completed pass through peg.synonyms\n";  
   
130      foreach my $genome ($fig->genomes('complete'))      foreach my $genome ($fig->genomes('complete'))
131      {      {
132          foreach my $peg ($fig->all_features($genome,'peg'))          foreach my $peg ($fig->all_features($genome,'peg'))
133          {          {
134              if (! $seen_hash{$peg})              if (! $seen_hash->{$peg})
135              {              {
136                  $prot_hash{$peg} = 1;                  $prot_hash->{$peg} = 1;
137              }              }
138          }          }
139      }      }
     print STDERR "marked remaining pegs\n";  
140  }  }

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3