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

Diff of /FigKernelPackages/FIGMODELmodel.pm

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

revision 1.11, Thu Apr 15 21:51:15 2010 UTC revision 1.12, Thu Apr 22 20:36:00 2010 UTC
# Line 4447  Line 4447 
4447          return join("<br>",@{$output});          return join("<br>",@{$output});
4448  }  }
4449    
4450    =head3 remove_obsolete_reactions
4451    Definition:
4452            void FIGMODELmodel->remove_obsolete_reactions();
4453    Description:
4454    =cut
4455    sub remove_obsolete_reactions {
4456            my ($self) = @_;
4457    
4458            (my $dummy,my $translation) = $self->put_two_column_array_in_hash($self->database()->load_multiple_column_file($self->figmodel()->config("Translation directory")->[0]."ObsoleteRxnIDs.txt","\t"));
4459            my $rxnTbl = $self->reaction_table();
4460            for (my $i=0; $i < $rxnTbl->size(); $i++) {
4461                    my $row = $rxnTbl->get_row($i);
4462                    if (defined($translation->{$row->{LOAD}->[0]}) || defined($translation->{$row->{LOAD}->[0]."r"})) {
4463                            my $direction = $row->{DIRECTION}->[0];
4464                            my $newRxn;
4465                            if (defined($translation->{$row->{LOAD}->[0]."r"})) {
4466                                    $newRxn = $translation->{$row->{LOAD}->[0]."r"};
4467                                    if ($direction eq "<=") {
4468                                            $direction = "=>";
4469                                    } elsif ($direction eq "=>") {
4470                                            $direction = "<=";
4471                                    }
4472                            } else {
4473                                    $newRxn = $translation->{$row->{LOAD}->[0]};
4474                            }
4475                            #Checking if the new reaction is already in the model
4476                            my $newRow = $rxnTbl->get_row_by_key($newRxn,"LOAD");
4477                            if (defined($newRow)) {
4478                                    #Handling direction
4479                                    if ($newRow->{DIRECTION}->[0] ne $direction) {
4480                                            $newRow->{DIRECTION}->[0] = "<=>";
4481                                    }
4482                                    push(@{$row->{"ASSOCIATED PEG"}},@{$rxnTbl->get_row($i)->{"ASSOCIATED PEG"}});
4483                            } else {
4484                                    $rxnTbl->get_row($i)->{LOAD}->[0] = $newRxn;
4485                                    $rxnTbl->get_row($i)->{DIRECTION}->[0] = $direction;
4486                            }
4487                    }
4488            }
4489            $rxnTbl->save();
4490    }
4491    
4492  1;  1;

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3