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

Diff of /Sprout/SimBlocks.pm

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

revision 1.7, Mon Feb 13 15:42:48 2006 UTC revision 1.10, Tue Apr 10 06:12:29 2007 UTC
# Line 226  Line 226 
226      # Get the data directory name.      # Get the data directory name.
227      my $directory = $FIG_Config::simBlocksData;      my $directory = $FIG_Config::simBlocksData;
228      # Create and bless the ERDB object.      # Create and bless the ERDB object.
229      my $retVal = ERDB::new($class, $dbh, "$directory/SimBlocksDBD.xml");      my $retVal = ERDB::new($class, $dbh, "$FIG_Config::fig/SimBlocksDBD.xml");
230      # Return it.      # Return it.
231      return $retVal;      return $retVal;
232  }  }
# Line 324  Line 324 
324  Analyze two sets of genomes for commonalities. The group blocks returned will be divided  Analyze two sets of genomes for commonalities. The group blocks returned will be divided
325  into three hashes: one for those common to set 0 and not occurring at all in set 1, one  into three hashes: one for those common to set 0 and not occurring at all in set 1, one
326  for those common to set 1 and not occurring at all in set 0, and one for those common  for those common to set 1 and not occurring at all in set 0, and one for those common
327  to both sets. Each hash is keyed by group ID and will contain B<DBObject>s for  to both sets. Each hash is keyed by group ID and will contain B<ERDBObject>s for
328  B<GroupBlock> records with B<HasInstanceOf> data attached, though the genome ID in  B<GroupBlock> records with B<HasInstanceOf> data attached, though the genome ID in
329  the B<HasInstanceOf> section is not generally predictable.  the B<HasInstanceOf> section is not generally predictable.
330    
# Line 341  Line 341 
341  =item RETURN  =item RETURN
342    
343  Returns a triple of hashes. Each hash is keyed by group ID, and will contain  Returns a triple of hashes. Each hash is keyed by group ID, and will contain
344  B<DBObject>s for records in the B<GroupBlock> table. Groups found in all of the  B<ERDBObject>s for records in the B<GroupBlock> table. Groups found in all of the
345  genomes in set 0 but in none of the genomes of set 1 will be in the first hash,  genomes in set 0 but in none of the genomes of set 1 will be in the first hash,
346  groups found in all of the genomes in set 1 but in none of the genomes of set 0  groups found in all of the genomes in set 1 but in none of the genomes of set 0
347  will be in the second hash, and groups found in all of the genomes of both sets  will be in the second hash, and groups found in all of the genomes of both sets
# Line 443  Line 443 
443  C<< my %blockList = $simBlocks->BlocksInSet($set, $count); >>  C<< my %blockList = $simBlocks->BlocksInSet($set, $count); >>
444    
445  Return a list of the group blocks found in a given number of the genomes in a given  Return a list of the group blocks found in a given number of the genomes in a given
446  set. The list returned will be a hash of B<DBObject>s, each corresponding to a single  set. The list returned will be a hash of B<ERDBObject>s, each corresponding to a single
447  B<GroupBlock> record, with a B<HasInstanceOf> record attached, though the content of  B<GroupBlock> record, with a B<HasInstanceOf> record attached, though the content of
448  the B<HasInstanceOf> record is not predictable. The hash will be keyed by block ID.  the B<HasInstanceOf> record is not predictable. The hash will be keyed by block ID.
449    
# Line 464  Line 464 
464    
465  =item RETURN  =item RETURN
466    
467  Returns a hash of B<DBObject>s corresponding to the group blocks found in the  Returns a hash of B<ERDBObject>s corresponding to the group blocks found in the
468  genomes of the set.  genomes of the set.
469    
470  =back  =back
# Line 488  Line 488 
488      for my $genomeID (@{$set}) {      for my $genomeID (@{$set}) {
489          # Get a list of group blocks for this genome.          # Get a list of group blocks for this genome.
490          my @blocks = $self->GetList(['HasInstanceOf', 'GroupBlock'],          my @blocks = $self->GetList(['HasInstanceOf', 'GroupBlock'],
491                                      "HasInstanceOf(from-link) = ?", $genomeID);                                      "HasInstanceOf(from-link) = ?", [$genomeID]);
492          # Loop through the blocks, storing any new ones in the hash.          # Loop through the blocks, storing any new ones in the hash.
493          for my $block (@blocks) {          for my $block (@blocks) {
494              # Get the ID of this block.              # Get the ID of this block.
# Line 553  Line 553 
553      my $regionCount = 0;      my $regionCount = 0;
554      # Query all the regions for the specified block.      # Query all the regions for the specified block.
555      my $query = $self->Get(['IncludesRegion', 'Region'], "IncludesRegion(from-link) = ?",      my $query = $self->Get(['IncludesRegion', 'Region'], "IncludesRegion(from-link) = ?",
556                             $blockID);                             [$blockID]);
557      # Loop through the query.      # Loop through the query.
558      while (my $region = $query->Fetch) {      while (my $region = $query->Fetch) {
559          # Get this region's data.          # Get this region's data.
# Line 709  Line 709 
709    
710  =item blockObject  =item blockObject
711    
712  A C<DBObject> representing the B<GroupBlock> record for the desired block or  A C<ERDBObject> representing the B<GroupBlock> record for the desired block or
713  the actual ID of the block whose regions are to be examined. It is expected that the  the actual ID of the block whose regions are to be examined. It is expected that the
714  block will have regions in all of the genomes for both sets, but this is not  block will have regions in all of the genomes for both sets, but this is not
715  required by the algorithm.  required by the algorithm.
# Line 738  Line 738 
738      # Get the parameters.      # Get the parameters.
739      my ($self, $blockObject, $set0, $set1) = @_;      my ($self, $blockObject, $set0, $set1) = @_;
740      # Convert an incoming block ID to a block object.      # Convert an incoming block ID to a block object.
741      if (ref $blockObject ne "DBObject") {      if (ref $blockObject ne "ERDBObject") {
742          $blockObject = $self->GetEntity('GroupBlock', $blockObject);          $blockObject = $self->GetEntity('GroupBlock', $blockObject);
743      }      }
744      # Get the ID and length of this block.      # Get the ID and length of this block.
# Line 760  Line 760 
760      }      }
761      # Ask for the regions in the block.      # Ask for the regions in the block.
762      my $query = $self->Get(['IncludesRegion', 'Region'], "IncludesRegion(from-link) = ?",      my $query = $self->Get(['IncludesRegion', 'Region'], "IncludesRegion(from-link) = ?",
763                             $blockID);                             [$blockID]);
764      # Loop through the regions.      # Loop through the regions.
765      while (my $region = $query->Fetch) {      while (my $region = $query->Fetch) {
766          # Determine this region's genome set. We only continue if the region is in          # Determine this region's genome set. We only continue if the region is in
# Line 1130  Line 1130 
1130    
1131  C<< my $blockData = $simBlocks->GetBlock($blockID); >>  C<< my $blockData = $simBlocks->GetBlock($blockID); >>
1132    
1133  Return a B<DBObject> for a specified group block.  Return a B<ERDBObject> for a specified group block.
1134    
1135  =over 4  =over 4
1136    
# Line 1140  Line 1140 
1140    
1141  =item RETURN  =item RETURN
1142    
1143  Returns a B<DBObject> for the group block in question. The object allows access to  Returns a B<ERDBObject> for the group block in question. The object allows access to
1144  all of the fields in the C<GroupBlock> relation of the database.  all of the fields in the C<GroupBlock> relation of the database.
1145    
1146  =back  =back

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

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3