00001
00002
00004
00005 #include "AlternateOneGeneInhibitoryNetworkMinimizableDirector.h"
00006
00008
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
00029 _networkList.push_back(new CAlternateOneGeneInhibitoryNetwork());
00030 _experimentList.push_back(new Experiment(_networkList[0],"BigNetwork"));
00031 _experimentList[0]->AddDataFileToList("bigOneGeneDS.dat");
00032
00033 _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00034 m_vpPlotterList.push_back(new GnuPlotterTimeSeriesObserver());
00035
00036 m_vpPlotterList[0]->SetTitle("Big OGN:1 Free Promoter:ODE");
00037
00038 _minimizableList.push_back(new SingleNetworkMinimizable());
00039
00040 _minimizableList[0]->Initialize(_experimentList[0],_moverList[0],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00041 _minimizableList[0]->SetRateConstantsWeight(0.0);
00042
00043 _minimizableList[0]->Attach(m_vpPlotterList[0]);
00044
00045
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
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
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
00087 return _minimizableList[0]->GetParameter(parIndex);
00088 }
00089
00090 int CAlternateOneGeneInhibitoryNetworkMinimizableDirector::GetNParameters()
00091 {
00092
00093 return _minimizableList[0]->GetNParameters();
00094
00095 }