[Bio] / FigKernelPackages / Subsystem.pm Repository:
ViewVC logotype

Diff of /FigKernelPackages/Subsystem.pm

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

revision 1.25, Thu Aug 26 21:26:52 2004 UTC revision 1.26, Fri Aug 27 15:36:29 2004 UTC
# Line 1028  Line 1028 
1028      return $self->{abbr}->{$abbr};      return $self->{abbr}->{$abbr};
1029  }  }
1030    
1031    =pod
1032    
1033    =head1 set_pegs_in_cell($genome, $role, $peg_list)
1034    
1035    Set the cell for the given genome and role to $peg_list.
1036    
1037    =cut
1038    
1039    sub set_pegs_in_cell
1040    {
1041        my($self, $genome, $role, $peg_list) = @_;
1042        my($row, $col);
1043    
1044        #
1045        # If row isn't numeric, look it up in the genomes list.
1046        #
1047    
1048        if ($genome !~ /^\d+$/)
1049        {
1050            $row = $self->{genome_index}->{$genome};
1051        }
1052        else
1053        {
1054            $row = $genome
1055        }
1056    
1057        if (!$row)
1058        {
1059            warn "Cannot find row for $genome\n";
1060            return undef;
1061        }
1062    
1063        #
1064        # If col isn't numeric, look it up in the roles and role abbreviations.
1065        #
1066    
1067        if ($role !~ /^\d+$/)
1068        {
1069            #
1070            # See if it's an abbr
1071            #
1072    
1073            my $a = $self->{abbr}->{$role};
1074            $colstr = $a if $a;
1075    
1076            $col = $self->{role_index}->{$role};
1077        }
1078        else
1079        {
1080            $col = $role;
1081        }
1082    
1083        if (!$col)
1084        {
1085            warn "Cannot find col for $role\n";
1086            return undef;
1087        }
1088        my $cell = $self->get_cell($row, $col);
1089    
1090        if ($cell)
1091        {
1092            @$cell = @$peg_list;
1093        }
1094        else
1095        {
1096            warn "set_pegs_in_cell: Could not find cell!";
1097        }
1098    }
1099    
1100  sub get_pegs_from_cell  sub get_pegs_from_cell
1101  {  {
1102      my($self, $rowstr, $colstr) = @_;      my($self, $rowstr, $colstr) = @_;
# Line 1425  Line 1494 
1494      #      #
1495    
1496      my $idx = @{$self->{genome}};      my $idx = @{$self->{genome}};
1497        $self->{variant_code}->[$idx] = 0;
1498      $self->{genome}->[$idx] = $genome;      $self->{genome}->[$idx] = $genome;
1499      $self->{genome_index}->{$genome} = $idx;      $self->{genome_index}->{$genome} = $idx;
1500    
# Line 1514  Line 1584 
1584      return $self->{version};      return $self->{version};
1585  }  }
1586    
1587    sub get_notes :scalar
1588    {
1589        my($self) = @_;
1590    
1591        return $self->{notes};
1592    }
1593    
1594    sub set_notes
1595    {
1596        my($self, $notes) = @_;
1597    
1598        self->{notes} = $notes;
1599    }
1600    
1601  sub get_curator :scalar  sub get_curator :scalar
1602  {  {
1603      my($self) = @_;      my($self) = @_;
# Line 1666  Line 1750 
1750              print "  new entry: @$myent\n";              print "  new entry: @$myent\n";
1751          }          }
1752      }      }
1753    
1754        #
1755        # Fix up the variant codes.
1756        #
1757    
1758        for my $his_gidx (0 .. @his_genomes - 1)
1759        {
1760            my $his_code = $ss->get_variant_code($his_gidx);
1761            my $my_gidx = $local_genomes[$his_gidx];
1762    
1763            if (!$self->get_variant_code($my_gidx))
1764            {
1765                $self->{variant_code}->[$my_gidx] = $his_code;
1766            }
1767        }
1768    
1769        #
1770        # If we are to add notes, append the other subsystem's notes text.
1771        #
1772    
1773        if ($add_notes)
1774        {
1775            my $his_notes = $ss->get_notes();
1776    
1777            $self->{notes} .= "\nNotes copied from $ss->{name}:\n$his_notes\n";
1778        }
1779  }  }
1780    
1781  sub dump  sub dump

Legend:
Removed from v.1.25  
changed lines
  Added in v.1.26

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3