[Bio] / FigWebServices / subsystem_server_sapling.cgi Repository:
ViewVC logotype

Diff of /FigWebServices/subsystem_server_sapling.cgi

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

revision 1.6, Wed Jul 15 20:52:28 2009 UTC revision 1.9, Mon Aug 24 17:35:56 2009 UTC
# Line 126  Line 126 
126          my $ss = SaplingSubsys->new($subsys, $sapling);          my $ss = SaplingSubsys->new($subsys, $sapling);
127          foreach my $role (@roles) {          foreach my $role (@roles) {
128                  my @pegs = $ss->pegs_for_role($role);                  my @pegs = $ss->pegs_for_role($role);
129    print STDERR Dumper $role, \@pegs;
130                  push (@$result, [$role, \@pegs]);                  push (@$result, [$role, \@pegs]);
131          }          }
132    
# Line 142  Line 143 
143          #map {push(@{$big{$_}}, 1)} @id_roles;          #map {push(@{$big{$_}}, 1)} @id_roles;
144          #map {push(@{$big{$_->[0]}}, 1)} @id_roles;          #map {push(@{$big{$_->[0]}}, 1)} @id_roles;
145          map {push(@{$big{$_->[0]}}, $_->[1])} @id_roles;          map {push(@{$big{$_->[0]}}, $_->[1])} @id_roles;
146          my @resultRows = $sapling->GetFlat("Subsystem", '', [], 'Subsystem(id)');          #my @resultRows = $sapling->GetFlat("Subsystem", '', [], 'Subsystem(id)');
147          foreach my $sub (@resultRows) {  
148    
149    
150    
151            my @resultRows = $sapling->GetAll("Subsystem Includes Role",
152                                    'ORDER BY Subsystem(id), Includes(sequence)', [],
153                                    [qw(Subsystem(id) Role(id) Includes(abbreviation))]);
154    
155                  my %ss_roles;                  my %ss_roles;
156                  my $ss = SaplingSubsys->new($sub, $sapling);          foreach my $row (@resultRows) {
157                  if ($ss) {                  my ($sub, $role, $abbr) = @$row;
158                          foreach my $role ($ss->get_roles) {                  $ss_roles{$sub}->{$role} = $abbr;
                                 $ss_roles{$role} = $ss->get_abbr_for_role($role);  
159                          }                          }
160                  } else {  
161                          die "bad subsys\n";          foreach my $sub (keys %ss_roles) {
162                  }                  my $roles = $ss_roles{$sub};
163                  my @abbr = map{$ss_roles{$_}} grep { $big{$_}} keys %ss_roles;  
164                    my @abbr = map{$roles->{$_}} grep { $big{$_}} keys %$roles;
165                  my $set =  join(" ",  @abbr);                  my $set =  join(" ",  @abbr);
166                  if (@abbr > 0) {                  if (@abbr > 0) {
167                          my ($variant, $size) = get_max_subset($sub, $set);                          my ($variant, $size) = get_max_subset($sub, $set);
168                          if ($variant) {                          if ($variant) {
169                                  foreach my $role ($ss->get_roles()) {                                  foreach my $role (keys %$roles) {
170                                          if ($id_display) {                                          if ($id_display) {
171                                                  foreach my $id (@{$big{$role}}) {                                                  foreach my $id (@{$big{$role}}) {
172                                                          push (@$result, [$variant, $role, $id]);                                                          push (@$result, [$variant, $role, $id]);

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

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3