[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.2, Fri Dec 11 21:37:02 2009 UTC revision 1.3, Fri Dec 18 17:41:47 2009 UTC
# Line 438  Line 438 
438          return $self->{_compound_class_table};          return $self->{_compound_class_table};
439  }  }
440    
441    =head3 get_essential_genes
442    Definition:
443            [string::peg ID] = FIGMODELmodel->get_essential_genes(string::media condition);
444    Description:
445            Returns an reference to an array of the predicted essential genes during growth in the input media condition
446    =cut
447    sub get_essential_genes {
448            my ($self,$media) = @_;
449    
450            if (!defined($media)) {
451                    $media = "Complete";
452            }
453            if (!defined($self->{_essential_genes}->{$media})) {
454                    $self->{_essential_genes}->{$media} = undef;
455                    if (-e $self->directory()."EssentialGenes-".$self->id().$self->selected_version()."-".$media.".tbl") {
456                            $self->{_essential_genes}->{$media} = $self->figmodel()->database()->load_single_column_file($self->directory()."EssentialGenes-".$self->id().$self->selected_version()."-".$media.".tbl","");
457                    }
458            }
459    
460            return $self->{_essential_genes}->{$media};
461    }
462    
463  =head3 compound_table  =head3 compound_table
464  Definition:  Definition:
465          FIGMODELTable = FIGMODELmodel->compound_table();          FIGMODELTable = FIGMODELmodel->compound_table();
# Line 892  Line 914 
914          #Checking that the table is defined and the output file exists          #Checking that the table is defined and the output file exists
915          if (defined($result) && defined($result->get_row(0)->{"ESSENTIALGENES"})) {          if (defined($result) && defined($result->get_row(0)->{"ESSENTIALGENES"})) {
916                  $self->figmodel()->database()->print_array_to_file($self->directory()."EssentialGenes-".$self->id()."-".$Media.".tbl",[join("\n",@{$result->get_row(0)->{"ESSENTIALGENES"}})]);                  $self->figmodel()->database()->print_array_to_file($self->directory()."EssentialGenes-".$self->id()."-".$Media.".tbl",[join("\n",@{$result->get_row(0)->{"ESSENTIALGENES"}})]);
917            } else {
918                    $self->figmodel()->error_message("FIGMODELmodel:run_default_model_predictions:could not identify essential reactions for model ".$self->id().$self->selected_version().".");
919                    return $self->figmodel()->fail();
920          }          }
921    
922          #Classifying reactions and compounds          #Classifying reactions and compounds
923          my $tbl = $self->classify_model_reactions($Media);          my $tbl = $self->classify_model_reactions($Media);
924            if (!defined($tbl)) {
925                    $self->figmodel()->error_message("FIGMODELmodel:run_default_model_predictions:could not classify reactions for model ".$self->id().$self->selected_version().".");
926                    return $self->figmodel()->fail();
927            }
928          $tbl->save();          $tbl->save();
929    
930          return $self->figmodel()->success();          return $self->figmodel()->success();
# Line 1140  Line 1169 
1169          for (my $i=($SolutionData->size()-1); $i >=0; $i--) {          for (my $i=($SolutionData->size()-1); $i >=0; $i--) {
1170                  if (defined($SolutionData->get_row($i)->{"Notes"}) && $SolutionData->get_row($i)->{"Notes"}->[0] =~ m/^Recursive/) {                  if (defined($SolutionData->get_row($i)->{"Notes"}) && $SolutionData->get_row($i)->{"Notes"}->[0] =~ m/^Recursive/) {
1171                          my $AllSolutions = substr($SolutionData->get_row($i)->{"Notes"}->[0],15);                          my $AllSolutions = substr($SolutionData->get_row($i)->{"Notes"}->[0],15);
                         print "Solution:".$AllSolutions."\n";  
1172                          my @TempThree = split(/\|/,$AllSolutions);                          my @TempThree = split(/\|/,$AllSolutions);
1173                          if (@TempThree > 0 && $TempThree[0] =~ m/.+:(.+)/) {                          if (@TempThree > 0 && $TempThree[0] =~ m/.+:(.+)/) {
1174                                  my @TempFour = split(/,/,$1);                                  my @TempFour = split(/,/,$1);
# Line 1163  Line 1191 
1191                                                  push(@{$ReactionList},$ID);                                                  push(@{$ReactionList},$ID);
1192                                          }                                          }
1193                                  }                                  }
                                 print "Solution:".$TempThree[0]."\n";  
1194                                  $self->figmodel()->IntegrateGrowMatchSolution($self->id(),undef,$ReactionList,$DirectionList,"GAP FILLING",0,1);                                  $self->figmodel()->IntegrateGrowMatchSolution($self->id(),undef,$ReactionList,$DirectionList,"GAP FILLING",0,1);
1195                          }                          }
1196                          last;                          last;
# Line 2036  Line 2063 
2063          7.) Dead: these reactions are disconnected from the network.          7.) Dead: these reactions are disconnected from the network.
2064  =cut  =cut
2065  sub classify_model_reactions {  sub classify_model_reactions {
2066          my ($self,$Media) = @_;          my ($self,$Media,$SaveChanges) = @_;
2067    
2068          #Getting unique file for printing model output          #Getting unique file for printing model output
2069          my $UniqueFilename = $self->figmodel()->filename();          my $UniqueFilename = $self->figmodel()->filename();
# Line 2123  Line 2150 
2150                                  $CpdRow->{MEDIA}->[$index] = $Media;                                  $CpdRow->{MEDIA}->[$index] = $Media;
2151                          }                          }
2152                  }                  }
2153                    if (!defined($SaveChanges) || $SaveChanges == 1) {
2154                  $cpdclasstable->save();                  $cpdclasstable->save();
2155          }          }
2156            }
2157          if (defined($ReactionTB)) {          if (defined($ReactionTB)) {
2158                  for (my $i=0; $i < $ReactionTB->size(); $i++) {                  for (my $i=0; $i < $ReactionTB->size(); $i++) {
2159                          my $Row = $ReactionTB->get_row($i);                          my $Row = $ReactionTB->get_row($i);
# Line 2179  Line 2208 
2208                                  $RxnRow->{MEDIA}->[$index] = $Media;                                  $RxnRow->{MEDIA}->[$index] = $Media;
2209                          }                          }
2210                  }                  }
2211                    if (!defined($SaveChanges) || $SaveChanges == 1) {
2212                  $rxnclasstable->save();                  $rxnclasstable->save();
2213          }          }
2214            }
2215          return ($rxnclasstable,$cpdclasstable);          return ($rxnclasstable,$cpdclasstable);
2216  }  }
2217    

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

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3