Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

AlternateOneGeneInhibitoryNetworkMinimizableDirector.cpp

Go to the documentation of this file.
00001 // AlternateOneGeneInhibitoryNetworkMinimizableDirector.cpp: implementation of the CAlternateOneGeneInhibitoryNetworkMinimizableDirector class.
00002 //
00004 
00005 #include "AlternateOneGeneInhibitoryNetworkMinimizableDirector.h"
00006 
00008 // Construction/Destruction
00010 
00011 CAlternateOneGeneInhibitoryNetworkMinimizableDirector::CAlternateOneGeneInhibitoryNetworkMinimizableDirector()
00012 {
00013         double maxSimTime = 91.0;
00014         double stepSize = 0.0001;
00015         double frequency = 1.0;
00016         int nCells = 1;
00017         double moveTol = 1.0e-06;
00018 
00019         bool rateFlag = true;
00020         bool chemFlag = false;
00021         bool logsFlag = false;
00022         double timeWeight = 1.0;
00023         double rateWeight = 0.0;
00024         double chemWeight = 0.0;
00025 
00026         m_dGammaSquared = 1.0e-08;
00027 
00028         // fake experiment 1 - 1 free promoter, no mRNA or protein
00029         _networkList.push_back(new CAlternateOneGeneInhibitoryNetwork());
00030         _experimentList.push_back(new Experiment(_networkList[0],"BigNetwork"));
00031         _experimentList[0]->AddDataFileToList("bigOneGeneDS.dat");
00032         // mover and plotter
00033         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00034         m_vpPlotterList.push_back(new GnuPlotterTimeSeriesObserver());
00035         // title
00036         m_vpPlotterList[0]->SetTitle("Big OGN:1 Free Promoter:ODE");
00037         // minimizable
00038         _minimizableList.push_back(new SingleNetworkMinimizable());
00039         // parameters
00040         _minimizableList[0]->Initialize(_experimentList[0],_moverList[0],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00041         _minimizableList[0]->SetRateConstantsWeight(0.0);
00042         // attach observer
00043         _minimizableList[0]->Attach(m_vpPlotterList[0]);
00044 
00045         // allocate the master residuals list
00046         int masterResidualsSize = 0;
00047         for(int i = 0; i < _minimizableList.size(); i++)
00048         {
00049                 masterResidualsSize += _minimizableList[i]->GetNResiduals();
00050         }
00051         if(m_dGammaSquared > 0.0)
00052         {
00053                 masterResidualsSize += 1;
00054         }
00055         Allocate(masterResidualsSize);
00056 
00057         cout << "Master Residuals size : " << masterResidualsSize << endl;
00058  
00059         // define the experiments
00060         DefineExperiments();
00061 }
00062 
00063 CAlternateOneGeneInhibitoryNetworkMinimizableDirector::~CAlternateOneGeneInhibitoryNetworkMinimizableDirector()
00064 {
00065         for(int i = 0; i < _minimizableList.size(); i++)
00066         {
00067                 _minimizableList[i]->Detach(m_vpPlotterList[i]);
00068         }
00069         for(int i = 0; i < m_vpPlotterList.size(); i++)
00070         {
00071                 delete m_vpPlotterList[i];
00072         }
00073 }
00074 
00075 void CAlternateOneGeneInhibitoryNetworkMinimizableDirector::DefineExperiments()
00076 {
00077         // 1 free promoter, no bound, no mRNA, no protein
00078         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(1.0);
00079         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00080         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00081         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00082 }
00083 
00084 double CAlternateOneGeneInhibitoryNetworkMinimizableDirector::GetParameter(int parIndex)
00085 {
00086         // Just return the first set (they are all the same)
00087         return _minimizableList[0]->GetParameter(parIndex);
00088 }
00089 
00090 int CAlternateOneGeneInhibitoryNetworkMinimizableDirector::GetNParameters()
00091 {
00092         // Return the size of the first set (all have the same size)
00093         return _minimizableList[0]->GetNParameters();
00094 
00095 }

Generated on Mon Nov 3 09:37:38 2003 by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002