00001 #include "pc12rapminusensembledirector.h"
00002
00003 CPC12RapMinusEnsembleDirector::CPC12RapMinusEnsembleDirector(int ensembleSize)
00004 :CEnsembleCombinationDirector(ensembleSize)
00005 {
00006 double maxSimTime = 91.0;
00007 int intTime = (int) (maxSimTime + 2);
00008 double stepSize = 0.0001;
00009 double frequency = 1.0;
00010 double moveTol = 1.0e-6;
00011 bool rateFlag = true;
00012 bool chemFlag = false;
00013 bool logsFlag = false;
00014 double timeWeight = 1.0;
00015 double rateWeight = 0.0;
00016 double chemWeight = 0.0;
00017 int nCells = 1;
00018
00019 int cnt = 0;
00020
00021
00022 m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00023 m_vpExperiments.push_back(new Experiment(m_vpNetworks[cnt],"EGF Stimulation 100 ng/ml - Traverse 1994"));
00024
00025 m_vpExperiments[cnt]->AddDataFileToList("../DataFiles/TimeSeries/ErkMekTraverse2EGF.dat");
00026 m_vpExperiments[cnt]->AddDataFileToList("../DataFiles/TimeSeries/Raf1LandrethEGF.dat");
00027
00028 m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00029
00030 m_vpMinimizables.push_back(new SingleNetworkMinimizable());
00031
00032 m_vpMinimizables[cnt]->Initialize(m_vpExperiments[cnt],m_vpMovers[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00033 m_vpMinimizables[cnt]->SetRateConstantsWeight(0.0);
00034
00035
00036
00037
00038
00039 cnt++;
00040
00041
00042 m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00043 m_vpExperiments.push_back(new Experiment(m_vpNetworks[cnt],"EGF Stimulation 100 ng/ml - Yao 1995"));
00044
00045 m_vpExperiments[cnt]->AddDataFileToList("../DataFiles/TimeSeries/Erk1HYaoEGF.dat");
00046 m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00047
00048 m_vpMinimizables.push_back(new SingleNetworkMinimizable());
00049
00050 m_vpMinimizables[cnt]->Initialize(m_vpExperiments[cnt],m_vpMovers[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00051 m_vpMinimizables[cnt]->SetRateConstantsWeight(0.0);
00052
00053
00054
00055
00056
00057 cnt++;
00058
00059
00060
00061
00062 m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00063 m_vpExperiments.push_back(new Experiment(m_vpNetworks[cnt],"NGF Stimulation 50 ng/ml - Traverse 1994"));
00064
00065 m_vpExperiments[cnt]->AddDataFileToList("../DataFiles/TimeSeries/ErkMekTraverse2NGF.dat");
00066 m_vpExperiments[cnt]->AddDataFileToList("../DataFiles/TimeSeries/RasGreen1NGF.dat");
00067 m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00068
00069 m_vpMinimizables.push_back(new SingleNetworkMinimizable());
00070
00071 m_vpMinimizables[cnt]->Initialize(m_vpExperiments[cnt],m_vpMovers[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00072
00073 m_vpMinimizables[cnt]->GetConversionFactor(11)->SetFactorFixed(true);
00074 m_vpMinimizables[cnt]->GetConversionFactor(11)->SetFactorValue(1.0/(0.2*600000*0.1));
00075
00076 m_vpMinimizables[cnt]->SetRateConstantsWeight(0.0);
00077
00078
00079
00080
00081
00082 cnt++;
00083
00084
00085
00086 m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00087 m_vpExperiments.push_back(new Experiment(m_vpNetworks[cnt],"NGF Stimulation 50 ng/ml - Yao 1994"));
00088
00089 m_vpExperiments[cnt]->AddDataFileToList("../DataFiles/TimeSeries/Erk1HYaoNGF.dat");
00090 m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00091
00092 m_vpMinimizables.push_back(new SingleNetworkMinimizable());
00093
00094 m_vpMinimizables[cnt]->Initialize(m_vpExperiments[cnt],m_vpMovers[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00095
00096 m_vpMinimizables[cnt]->GetConversionFactor(11)->SetFactorFixed(true);
00097 m_vpMinimizables[cnt]->GetConversionFactor(11)->SetFactorValue(1.0/(0.2*600000*0.1));
00098 m_vpMinimizables[cnt]->SetRateConstantsWeight(0.0);
00099
00100
00101
00102
00103
00104 cnt++;
00105
00106
00107
00108 m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00109 m_vpExperiments.push_back(new Experiment(m_vpNetworks[cnt],"EGF Stimulation 30 ng/ml"));
00110
00111 m_vpExperiments[cnt]->AddDataFileToList("../DataFiles/TimeSeries/RasGreen1EGF.dat");
00112
00113 m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00114
00115 m_vpMinimizables.push_back(new SingleNetworkMinimizable());
00116
00117 m_vpMinimizables[cnt]->Initialize(m_vpExperiments[cnt],m_vpMovers[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00118 m_vpMinimizables[cnt]->GetConversionFactor(11)->SetFactorFixed(true);
00119 m_vpMinimizables[cnt]->GetConversionFactor(11)->SetFactorValue(1.0/(0.2*600000*0.1));
00120 m_vpMinimizables[cnt]->SetRateConstantsWeight(0.0);
00121
00122
00123
00124
00125
00126 cnt++;
00127
00128
00129
00130 m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00131 m_vpExperiments.push_back(new Experiment(m_vpNetworks[cnt],"NGF Stimulation 100 ng/ml"));
00132
00133 m_vpExperiments[cnt]->AddDataFileToList("../DataFiles/TimeSeries/Raf1LandrethNGF.dat");
00134
00135 m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00136
00137 m_vpMinimizables.push_back(new SingleNetworkMinimizable());
00138
00139 m_vpMinimizables[cnt]->Initialize(m_vpExperiments[cnt],m_vpMovers[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00140 m_vpMinimizables[cnt]->SetRateConstantsWeight(0.0);
00141
00142
00143
00144
00145
00146 cnt++;
00147
00148
00149
00150 m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00151 m_vpExperiments.push_back(new Experiment(m_vpNetworks[cnt],"EGF at 100 ng/ml, 50-fold HER Overexpression"));
00152
00153 m_vpExperiments[cnt]->AddDataFileToList("../DataFiles/TimeSeries/ErkMekTraverseHERover.dat");
00154 m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00155
00156 m_vpMinimizables.push_back(new SingleNetworkMinimizable());
00157
00158 m_vpMinimizables[cnt]->Initialize(m_vpExperiments[cnt],m_vpMovers[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00159 m_vpMinimizables[cnt]->SetRateConstantsWeight(0.0);
00160
00161
00162
00163
00164
00165 cnt++;
00166
00167
00168 m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00169 m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00170 int nChemicals = m_vpNetworks[7]->GetNumberOfChemicals();
00171 m_vpCellObservers.push_back(new CellAverageObserver(nChemicals,121,1));
00172 m_vpRunnables.push_back(new CRunnable());
00173 m_vpRunnables[0]->SetComponents(m_vpNetworks[7],m_vpMovers[7],m_vpCellObservers[0]);
00174
00175
00176
00177
00178
00179
00180
00181 m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00182 m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00183 nChemicals = m_vpNetworks[8]->GetNumberOfChemicals();
00184 m_vpCellObservers.push_back(new CellAverageObserver(nChemicals,121,1));
00185 m_vpRunnables.push_back(new CRunnable());
00186 m_vpRunnables[1]->SetComponents(m_vpNetworks[8],m_vpMovers[8],m_vpCellObservers[1]);
00187
00188
00189
00190
00191
00192
00193
00194 m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00195 m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00196 nChemicals = m_vpNetworks[9]->GetNumberOfChemicals();
00197 m_vpCellObservers.push_back(new CellAverageObserver(nChemicals,61,1));
00198 m_vpRunnables.push_back(new CRunnable());
00199 m_vpRunnables[2]->SetComponents(m_vpNetworks[9],m_vpMovers[9],m_vpCellObservers[2]);
00200
00201
00202
00203
00204
00205
00206
00207 m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00208 m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00209 nChemicals = m_vpNetworks[10]->GetNumberOfChemicals();
00210 m_vpCellObservers.push_back(new CellAverageObserver(nChemicals,121,1));
00211 m_vpRunnables.push_back(new CRunnable());
00212 m_vpRunnables[3]->SetComponents(m_vpNetworks[10],m_vpMovers[10],m_vpCellObservers[3]);
00213
00214
00215
00216
00217
00218
00219
00220 SumAllocate();
00221
00222
00223 DefineRuns();
00224
00225
00226 DefineExperiments();
00227
00228
00229 LoadEnsembleInfo("ensemble.par");
00230 }
00231
00232 CPC12RapMinusEnsembleDirector::~CPC12RapMinusEnsembleDirector(void)
00233 {
00234 for(int i = 0; i < m_vpEnsembleRunPlotters.size(); i++)
00235 {
00236 this->Detach(m_vpEnsembleRunPlotters[i]);
00237 }
00238 for(i = 0; i < m_vpEnsembleDataPlotters.size(); i++)
00239 {
00240 this->Detach(m_vpEnsembleDataPlotters[i]);
00241 }
00242 }
00243
00244 void CPC12RapMinusEnsembleDirector::DefineRuns()
00245 {
00246
00247 m_vpRunnables[0]->GetReactionNetwork()->RemoveReaction(16);
00248 m_vpRunnables[0]->GetReactionNetwork()->RemoveReaction(17);
00249 m_vpRunnables[0]->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00250 m_vpRunnables[0]->GetReactionNetwork()->GetChemical(0)->Reset();
00251
00252
00253 m_vpRunnables[1]->GetReactionNetwork()->RemoveReaction(16);
00254 m_vpRunnables[1]->GetReactionNetwork()->RemoveReaction(17);
00255 m_vpRunnables[1]->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(228000.0);
00256 m_vpRunnables[1]->GetReactionNetwork()->GetChemical(1)->Reset();
00257
00258
00259 m_vpRunnables[2]->GetReactionNetwork()->RemoveReaction(7);
00260 m_vpRunnables[2]->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00261 m_vpRunnables[2]->GetReactionNetwork()->GetChemical(0)->Reset();
00262 m_vpRunnables[2]->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(228000.0);
00263 m_vpRunnables[2]->GetReactionNetwork()->GetChemical(1)->Reset();
00264
00265
00266 m_vpRunnables[3]->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00267 m_vpRunnables[3]->GetReactionNetwork()->GetChemical(0)->Reset();
00268 m_vpRunnables[3]->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00269 m_vpRunnables[3]->GetReactionNetwork()->GetChemical(1)->Reset();
00270
00271 return;
00272 }
00273
00274 void CPC12RapMinusEnsembleDirector::DefineExperiments()
00275 {
00276
00277 m_vpMinimizables[0]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00278 m_vpMinimizables[0]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00279 m_vpMinimizables[0]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00280 m_vpMinimizables[0]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00281
00282
00283 m_vpMinimizables[1]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00284 m_vpMinimizables[1]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00285 m_vpMinimizables[1]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00286 m_vpMinimizables[1]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00287
00288
00289 m_vpMinimizables[2]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00290 m_vpMinimizables[2]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00291 m_vpMinimizables[2]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(228000.0);
00292 m_vpMinimizables[2]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00293
00294
00295 m_vpMinimizables[3]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00296 m_vpMinimizables[3]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00297 m_vpMinimizables[3]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(228000.0);
00298 m_vpMinimizables[3]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00299
00300
00301 m_vpMinimizables[4]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(3000600);
00302 m_vpMinimizables[4]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00303 m_vpMinimizables[4]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00304 m_vpMinimizables[4]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00305
00306
00307 m_vpMinimizables[5]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00308 m_vpMinimizables[5]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00309 m_vpMinimizables[5]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(456000.0);
00310 m_vpMinimizables[5]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00311
00312
00313 m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00314 m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00315 m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00316 m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00317 double EGFR = m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->GetInitialAmount();
00318 m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->SetInitialAmount(50*EGFR);
00319 m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->Reset();
00320
00321 }