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

Diff of /FigKernelScripts/find_neighbors_using_figfams.pl

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

revision 1.9, Fri May 15 23:29:42 2009 UTC revision 1.10, Tue Jul 7 22:29:05 2009 UTC
# Line 20  Line 20 
20  use warnings;  use warnings;
21    
22  use FIG;  use FIG;
23  my $fig = new FIG;  my $fig = FIG->new();
24    
25  use FigFams;  use FigFams;
26  use ToCall;  use ToCall;
# Line 72  Line 72 
72  if ((@ARGV > 0) && ($ARGV[0] =~ /^old/i)) {  if ((@ARGV > 0) && ($ARGV[0] =~ /^old/i)) {
73      print STDERR qq(Re-annotating original calls\n) if $ENV{VERBOSE};      print STDERR qq(Re-annotating original calls\n) if $ENV{VERBOSE};
74      $keep_original_calls = 1;      $keep_original_calls = 1;
75      $to_call = new ToCall($to_call_dir);      $to_call = ToCall->new($to_call_dir);
76  }  }
77  else {  else {
78      $to_call = new NewGenome($to_call_dir);      $to_call = NewGenome->new($to_call_dir);
79  }  }
80    
81    
# Line 84  Line 84 
84  #-----------------------------------------------------------------------  #-----------------------------------------------------------------------
85  open(FOUNDFAMS, ">>$foundF") || die "Could not append-open $foundF";  open(FOUNDFAMS, ">>$foundF") || die "Could not append-open $foundF";
86    
87  my $called_by_file = $keep_original_calls ? qq(/dev/null)  my $called_by_file = qq($to_call_dir/called_by);
                                      : qq($to_call_dir/called_by);  
88  open(CALLED_BY, ">>$called_by_file")  open(CALLED_BY, ">>$called_by_file")
89      || die "Could not append-open $called_by_file";      || die "Could not append-open $called_by_file";
90    
# Line 128  Line 127 
127              , " sims)\t$func\n"              , " sims)\t$func\n"
128              if $ENV{VERBOSE};              if $ENV{VERBOSE};
129    
         my $fid;  
         if (! $keep_original_calls)  
         {  
130              my $annot = [ qq(RAST),              my $annot = [ qq(RAST),
131                            qq($func\nCalled by "$self" using FIGfam $fam_id.)                            qq($func\nCalled by "$self" using FIGfam $fam_id.)
132                            ];                            ];
133              my $orf   = &NewGenome::ORF::new('NewGenome::ORF', $to_call, $orf_id);  
134              $fid      = $orf->promote_to_peg($sims, $func, $annot);          my $orf;
135            if ($keep_original_calls) {
136                $orf = &ToCall::PEG::new(   'ToCall::PEG',    $to_call, $orf_id, $seq_of{$orf_id});
137            }
138            else {
139                $orf = &NewGenome::ORF::new('NewGenome::ORF', $to_call, $orf_id);
140            }
141    
142            my $fid  = $orf->promote_to_peg($sims, $func, $annot);
143    
144              if ($fid) {              if ($fid) {
145                  print CALLED_BY "$fid\t$self\n";                  print CALLED_BY "$fid\t$self\n";
# Line 144  Line 148 
148              else {              else {
149                  die "Could not promote $orf_id";                  die "Could not promote $orf_id";
150              }              }
         }  
         else {  
             $fid = $orf_id;  
         }  
151    
152          if ($fid) {          if ($fid) {
153              push @peg_ids, $fid;              push @peg_ids, $fid;
154    
155              for ($i=0; ($i < $N) && ($i < @$sims); ++$i) {              for ($i=0; ($i < $N) && ($i < @$sims); ++$i) {
156                  ++$genomes_hit{&FIG::genome_of($sims->[$i]->id2)};                  my $org_2 = &FIG::genome_of($sims->[$i]->id2);
157                  next unless $sims->[$i]->ln2;                  if (not defined($genomes_hit{$org_2})) {
158                  $weight_of_hits{&FIG::genome_of($sims->[$i]->id2)} +=                      $genomes_hit{$org_2}    = 0;
159                      ($sims->[$i]->bsc / $sims->[$i]->ln2);                      $weight_of_hits{$org_2} = 0;
160                    }
161    
162                    ++$genomes_hit{$org_2};
163    
164                    if ($sims->[$i]->ln2) {
165                        $weight_of_hits{$org_2} +=
166                            ($sims->[$i]->bsc() / $sims->[$i]->ln2());
167                    }
168              }              }
169          }          }
170          else {          else {
# Line 176  Line 184 
184    
185  my @best = sort { $weight_of_hits{$b} <=> $weight_of_hits{$a} } keys(%genomes_hit);  my @best = sort { $weight_of_hits{$b} <=> $weight_of_hits{$a} } keys(%genomes_hit);
186  for ($i=0; ($i < $N) && ($i < @best); ++$i) {  for ($i=0; ($i < $N) && ($i < @best); ++$i) {
187      print "$best[$i]\t$genomes_hit{$best[$i]}\t$weight_of_hits{$best[$i]}\n";      print STDOUT (join(qq(\t), ($best[$i],
188                                    $genomes_hit{$best[$i]},
189                                    $weight_of_hits{$best[$i]},
190                                    $fig->genus_species($best[$i])
191                                    )
192                           ),
193                      qq(\n)
194                      );
195  }  }
   
 $to_call->export_features();  
   
196  close(CALLED_BY);  close(CALLED_BY);
197  close(FOUNDFAMS);  close(FOUNDFAMS);
198    
199    $to_call->export_features();
200    
201  exit(0);  exit(0);

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3