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