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

Diff of /FigKernelPackages/UnvSubsys.pm

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

revision 1.1, Sun Sep 11 23:44:46 2005 UTC revision 1.2, Mon Sep 12 02:39:37 2005 UTC
# Line 1  Line 1 
1  package UnvSubsys;  package UnvSubsys;
2    
3    use Subsystem;
4  use Carp;  use Carp;
5  use FIG;  use FIG;
6    
# Line 13  Line 14 
14      $ssa =~ s/ /_/g;      $ssa =~ s/ /_/g;
15    
16    
17          ### format for one_sub = [Roles,ToRoleIndexHash,ColSubsets,Genomes,ToGenomeIndexHash,PegHash,ColorHash,AliasHash]          ### { Roles =>Roles,
18            ###   RoleIndex => ToRoleIndexHash,
19            ###   RoleSubsets => ColSubsets,
20            ###   Genomes => Genomes,
21            ###   GenomeIndex => ToGenomeIndexHash,
22            ###   PegHash => PegHash,
23            ###   Colors  => ColorHash,
24            ###   Aliases => AliasHash,
25            ###   Curator => Curator,
26            ###   Notes => Notes,
27            ###   Reactions => ReactionHash
28            ### }
29          ###          ###
30          ### Roles = pointer to a list of [Role,Abbrev,[ReactionURLs]]          ### Roles = pointer to a list of [Role,Abbrev,[ReactionURLs]]
31          ###          ###
# Line 32  Line 44 
44          ###          ###
45          ### AliasHash is a hash: key=PEG value=aliases          ### AliasHash is a hash: key=PEG value=aliases
46          ###          ###
47            ### ReactionHash is a hash: key=Role value=[reaction-ids]
48    
49      if (ref($fig) eq "FIG")      if (ref($fig) eq "FIG")
50      {      {
         my $subsystem = new Subsystem($ssa,$fig,0);  
51    
52    
53            my $subsystem = new Subsystem($ssa,$fig,0);
54            my $curator = $subsystem->get_curator;
55            my $notes = $subsystem->get_notes;
56            $notes =~ s/ /\n/g;
57          my @roles = $subsystem->get_roles;          my @roles = $subsystem->get_roles;
58          my $reactions = $subsystem->get_reactions;          my $reactions = $subsystem->get_reactions;
59          my @genomes = $subsystem->get_genomes;          my @genomes = $subsystem->get_genomes;
# Line 60  Line 77 
77          {          {
78              if ($subset ne 'All')              if ($subset ne 'All')
79              {              {
80                  push(@$subset_info,[$subset,[$subsystem->get_subsetC_roles($subset)]]);                  push(@$subset_info,[$subset,[map { $roleH->{$_} } $subsystem->get_subsetC_roles($subset)]]);
81              }              }
82          }          }
83    
# Line 88  Line 105 
105    
106          my $colorsH  = $colors  ? &set_colors($fig,$pegH)  : {};          my $colorsH  = $colors  ? &set_colors($fig,$pegH)  : {};
107          my $aliasesH = $aliases ? &set_aliases($fig,$pegH) : {};          my $aliasesH = $aliases ? &set_aliases($fig,$pegH) : {};
108            my $reactions = $subsystem->get_reactions;
109          my $self = [$role_info,$roleH,$subset_info,$genomes_info,$genomeH,$pegH,$colorsH,$aliasesH];          my $self = { Roles => $role_info,
110                         RoleIndex => $roleH,
111                         RoleSubsets => $subset_info,
112                         Genomes => $genomes_info,
113                         GenomesIndex => $genomeH,
114                         PegHash => $pegH,
115                         Colors => $colorsH,
116                         Aliases => $aliasesH,
117                         Curator => $curator,
118                         Notes => $notes,
119                         Reactions => $reactions
120                       };
121          bless($self, $class);          bless($self, $class);
122          return $self;          return $self;
123      }      }
# Line 99  Line 127 
127      }      }
128  }  }
129    
130    sub subsystem_curator {
131        my($self) = @_;
132    
133        my $curator = $self->{Curator};
134        $curator =~ s/master://;
135        return $curator;
136    }
137    
138    sub get_roles {
139        my($self) = @_;
140    
141        return map { $_->[0] } @{$self->{Roles}};
142    }
143    
144    sub get_role_index {
145        my($self,$role) = @_;
146    
147        return $self->{RoleIndex}->{$role};
148    }
149    
150    sub get_role_abbr {
151        my($self,$roleI) = @_;
152    
153        if ($roleI !~ /^\d+$/)
154        {
155            $roleI = $self->{RoleIndex}->{$roleI};
156        }
157        my $roles = $self->{Roles};
158        return $roles->[$roleI]->[1];
159    }
160    
161    sub get_reactions {
162        my($self) = @_;
163    
164        return $self->{Reactions};
165    }
166    
167    sub get_subset_namesC {
168        my($self) = @_;
169    
170        return map { $_->[0] } @{$self->{RoleSubsets}};
171    }
172    
173    sub get_subsetC_roles {
174        my($self,$subset) = @_;
175        my($i,$j);
176    
177        my $subset_info = $self->{RoleSubsets};
178        for ($i=0; ($i < @$subset_info) && ($subset_info->[$i]->[0] ne $subset); $i++) {}
179        if ($i < @$subset_info)
180        {
181            my @roles = ();
182            foreach $j (@{$subset_info->[$i]->[1]})
183            {
184                push(@roles,$self->{Roles}->[$j]->[0]);
185            }
186            return @roles;
187        }
188        return undef;
189    }
190    
191  1;  1;
192    
193    

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

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3