[Bio] / Sprout / Sprout.pm Repository:
ViewVC logotype

Diff of /Sprout/Sprout.pm

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

revision 1.83, Wed Sep 6 19:30:22 2006 UTC revision 1.84, Thu Sep 14 14:11:09 2006 UTC
# Line 1476  Line 1476 
1476      my %retVal = ();      my %retVal = ();
1477      # Loop through the incoming features.      # Loop through the incoming features.
1478      for my $featureID (@{$featureList}) {      for my $featureID (@{$featureList}) {
1479          # Create a query to get the feature's best hit.          # Ask the server for the feature's best hit.
1480          my $query = $self->Get(['IsBidirectionalBestHitOf'],          my @bbhData = FIGRules::BBHData($featureID);
                                "IsBidirectionalBestHitOf(from-link) = ? AND IsBidirectionalBestHitOf(genome) = ?",  
                                [$featureID, $genomeID]);  
1481          # Peel off the BBHs found.          # Peel off the BBHs found.
1482          my @found = ();          my @found = ();
1483          while (my $bbh = $query->Fetch) {          for my $bbh (@bbhData) {
1484              push @found, $bbh->Value('IsBidirectionalBestHitOf(to-link)');              push @found, $bbh->[0];
1485          }          }
1486          $retVal{$featureID} = \@found;          $retVal{$featureID} = \@found;
1487      }      }
# Line 1497  Line 1495 
1495    
1496  Return a list of the similarities to the specified feature.  Return a list of the similarities to the specified feature.
1497    
1498  Sprout does not support real similarities, so this method just returns the bidirectional  This method just returns the bidirectional best hits for performance reasons.
 best hits.  
1499    
1500  =over 4  =over 4
1501    
# Line 1518  Line 1515 
1515      # Get the parameters.      # Get the parameters.
1516      my ($self, $featureID, $count) = @_;      my ($self, $featureID, $count) = @_;
1517      # Ask for the best hits.      # Ask for the best hits.
1518      my @lists = $self->GetAll(['IsBidirectionalBestHitOf'],      my @lists = FIGRules::BBHData($featureID);
                               "IsBidirectionalBestHitOf(from-link) = ? ORDER BY IsBidirectionalBestHitOf(score) DESC",  
                               [$featureID], ['IsBidirectionalBestHitOf(to-link)', 'IsBidirectionalBestHitOf(score)'],  
                               $count);  
1519      # Create the return value.      # Create the return value.
1520      my %retVal = ();      my %retVal = ();
1521      for my $tuple (@lists) {      for my $tuple (@lists) {
# Line 1531  Line 1525 
1525      return %retVal;      return %retVal;
1526  }  }
1527    
   
   
1528  =head3 IsComplete  =head3 IsComplete
1529    
1530  C<< my $flag = $sprout->IsComplete($genomeID); >>  C<< my $flag = $sprout->IsComplete($genomeID); >>
# Line 2962  Line 2954 
2954      # Get the parameters.      # Get the parameters.
2955      my ($self, $featureID, $function, $userID) = @_;      my ($self, $featureID, $function, $userID) = @_;
2956      # Get a list of the features that are BBHs of the incoming feature.      # Get a list of the features that are BBHs of the incoming feature.
2957      my @bbhFeatures = $self->GetFlat(['IsBidirectionalBestHitOf'],      my @bbhFeatures = map { $_->[0] } FIGRules::BBHData($featureID);
                                      "IsBidirectionalBestHitOf(from-link) = ?", [$featureID],  
                                      'IsBidirectionalBestHitOf(to-link)');  
2958      # Now we loop through the features, pulling out the ones that have the correct      # Now we loop through the features, pulling out the ones that have the correct
2959      # functional assignment.      # functional assignment.
2960      my @retVal = ();      my @retVal = ();
# Line 3165  Line 3155 
3155      my ($self, $featureID, $cutoff) = @_;      my ($self, $featureID, $cutoff) = @_;
3156      # Create the return hash.      # Create the return hash.
3157      my %retVal = ();      my %retVal = ();
3158      # Create a query to get the desired BBHs.      # Query for the desired BBHs.
3159      my @bbhList = $self->GetAll(['IsBidirectionalBestHitOf'],      my @bbhList = FIGRules::BBHData($featureID, $cutoff);
                                 'IsBidirectionalBestHitOf(sc) <= ? AND IsBidirectionalBestHitOf(from-link) = ?',  
                                 [$cutoff, $featureID],  
                                 ['IsBidirectionalBestHitOf(to-link)', 'IsBidirectionalBestHitOf(sc)']);  
3160      # Form the results into the return hash.      # Form the results into the return hash.
3161      for my $pair (@bbhList) {      for my $pair (@bbhList) {
3162          $retVal{$pair->[0]} = $pair->[1];          $retVal{$pair->[0]} = $pair->[1];

Legend:
Removed from v.1.83  
changed lines
  Added in v.1.84

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3