[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.5, Thu Sep 15 14:33:49 2005 UTC revision 1.6, Sun Sep 18 01:20:28 2005 UTC
# Line 33  Line 33 
33          ###          ###
34          ### ColSubsets = pointer to a list of [SubsetName,[RoleIndexesFrom0]]          ### ColSubsets = pointer to a list of [SubsetName,[RoleIndexesFrom0]]
35          ###          ###
36            ### RowSubSets = pointer to a list of [SubsetName,[GenomeIndexesFrom0]]
37            ###
38          ### Genomes is a pointer to a list of [Genome,Variant]          ### Genomes is a pointer to a list of [Genome,Variant]
39          ###          ###
40          ### ToGenomeIndexHash = a pointer to a hash: key=Genome value=GenomeIndex          ### ToGenomeIndexHash = a pointer to a hash: key=Genome value=GenomeIndex
# Line 46  Line 48 
48          ###          ###
49          ### ReactionHash is a hash: key=Role value=[reaction-ids]          ### ReactionHash is a hash: key=Role value=[reaction-ids]
50    
51      if (ref($fig) eq "FIG")      if ((ref($fig) eq "FIG") || ((ref($fig) eq 'SFXlate') && ($fig = $fig->{'fig'})))
52      {      {
   
   
53          my $subsystem = new Subsystem($ssa,$fig,0);          my $subsystem = new Subsystem($ssa,$fig,0);
54          my $curator = $subsystem->get_curator;          my $curator = $subsystem->get_curator;
55          my $notes = $subsystem->get_notes;          my $notes = $subsystem->get_notes;
# Line 105  Line 105 
105          my $colorsH  = $show_clusters  ? &set_colors($fig,$pegH)  : {};          my $colorsH  = $show_clusters  ? &set_colors($fig,$pegH)  : {};
106          my $aliasesH = $aliases ? &set_aliases($fig,$pegH) : {};          my $aliasesH = $aliases ? &set_aliases($fig,$pegH) : {};
107          my $reactions = $subsystem->get_reactions;          my $reactions = $subsystem->get_reactions;
108            my $row_subsets = &row_subsets($fig,$genomeH,$genomes_info);
109          my $self = { Roles => $role_info,          my $self = { Roles => $role_info,
110                       RoleIndex => $roleH,                       RoleIndex => $roleH,
111                       RoleSubsets => $subset_info,                       RoleSubsets => $subset_info,
112                       Genomes => $genomes_info,                       Genomes => $genomes_info,
113                       GenomeIndex => $genomeH,                       GenomeIndex => $genomeH,
114                         GenomeSubsets => $row_subsets,
115                       PegHash => $pegH,                       PegHash => $pegH,
116                       Colors => $colorsH,                       Colors => $colorsH,
117                       Aliases => $aliasesH,                       Aliases => $aliasesH,
# Line 126  Line 128 
128      }      }
129  }  }
130    
131    sub get_subset_namesR {
132        my($self) = @_;
133    
134        return map { $_->[0] } @{$self->{GenomeSubsets}};
135    }
136    
137    sub get_subsetR {
138        my($self,$set) = @_;
139        my($i);
140    
141        my $sets = $self->{GenomeSubsets};
142        for ($i=0; ($i < @$sets) && ($sets->[$i]->[0] ne $set); $i++) {}
143        if ($i < @$sets)
144        {
145            return map { $self->{Genomes}->[$_]->[0] } @{$sets->[$i]->[1]}
146        }
147        return undef;
148    }
149    
150    sub get_subsetsR {
151        my($self) = @_;
152    
153        my $sets = $self->{GenomeSubsets};
154        my @pairs = ();
155        my $pair;
156        foreach $pair (@$sets)
157        {
158            my($id,$members) = @$pair;
159            push(@pairs,[$id,[map { $self->{Genomes}->[$_]->[0] } @$members]]);
160        }
161        return @pairs;
162    }
163    
164    sub row_subsets {
165        my ($fig,$genomeH,$genomes_info) = @_;
166    
167        my $subsets = [];
168        my $taxonomic_groups = $fig->taxonomic_groups_of_complete(10);
169    
170        my($pair,$id,$members);
171        foreach $pair (@$taxonomic_groups)
172        {
173            ($id,$members) = @$pair;
174            my @mem = grep { defined($_) } map { $genomeH->{$_} } @$members;
175            if (@mem > 10)
176            {
177                push(@$subsets,[$id,[@mem]]);
178            }
179        }
180        return $subsets;
181    }
182    
183  sub set_aliases {  sub set_aliases {
184      my($fig,$pegH) = @_;      my($fig,$pegH) = @_;
185      my($genomeI,$roleI,$pegs,$peg,$roleH);      my($genomeI,$roleI,$pegs,$peg,$roleH);

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3