00001
00002
00004
00005 #include "PC12AlternateEnsembleDirector.h"
00006
00008
00010
00011 CPC12AlternateEnsembleDirector::CPC12AlternateEnsembleDirector(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 CAlternateErkSubnetwork());
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 CAlternateErkSubnetwork());
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 CAlternateErkSubnetwork());
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[1]->GetConversionFactor(24)->SetFactorFixed(true);
00084 m_vpMinimizables[1]->GetConversionFactor(24)->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 CAlternateErkSubnetwork());
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[1]->GetConversionFactor(24)->SetFactorFixed(true);
00109 m_vpMinimizables[1]->GetConversionFactor(24)->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 CAlternateErkSubnetwork());
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 CAlternateErkSubnetwork());
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 CAlternateErkSubnetwork());
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 CAlternateErkSubnetwork());
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,61,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 CAlternateErkSubnetwork());
00192 m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00193 nChemicals = m_vpNetworks[8]->GetNumberOfChemicals();
00194 m_vpCellObservers.push_back(new CellAverageObserver(nChemicals,61,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 CAlternateErkSubnetwork());
00205 m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00206 nChemicals = m_vpNetworks[9]->GetNumberOfChemicals();
00207 m_vpCellObservers.push_back(new CellAverageObserver(nChemicals,121,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 SumAllocate();
00218
00219
00220 DefineRuns();
00221
00222
00223 DefineExperiments();
00224
00225
00226 LoadEnsembleInfo("ensemble.par");
00227
00228 }
00229
00230 CPC12AlternateEnsembleDirector::~CPC12AlternateEnsembleDirector()
00231 {
00232 for(int i = 0; i < m_vpEnsembleRunPlotters.size(); i++)
00233 {
00234 this->Detach(m_vpEnsembleRunPlotters[i]);
00235 }
00236 for(i = 0; i < m_vpEnsembleDataPlotters.size(); i++)
00237 {
00238 this->Detach(m_vpEnsembleDataPlotters[i]);
00239 }
00240
00241
00242 }
00243
00244 void CPC12AlternateEnsembleDirector::DefineRuns()
00245 {
00246
00247 m_vpRunnables[0]->GetReactionNetwork()->RemoveReaction(18);
00248 m_vpRunnables[0]->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(228000.0);
00249 m_vpRunnables[0]->GetReactionNetwork()->GetChemical(1)->Reset();
00250
00251
00252 m_vpRunnables[1]->GetReactionNetwork()->RemoveReaction(7);
00253 m_vpRunnables[1]->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00254 m_vpRunnables[1]->GetReactionNetwork()->GetChemical(0)->Reset();
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()->GetChemical(0)->SetInitialAmount(10002000.0);
00260 m_vpRunnables[2]->GetReactionNetwork()->GetChemical(0)->Reset();
00261 m_vpRunnables[2]->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00262 m_vpRunnables[2]->GetReactionNetwork()->GetChemical(1)->Reset();
00263
00264 return;
00265 }
00266
00267 void CPC12AlternateEnsembleDirector::DefineExperiments()
00268 {
00269
00270 m_vpMinimizables[0]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00271 m_vpMinimizables[0]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00272 m_vpMinimizables[0]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00273 m_vpMinimizables[0]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00274
00275
00276 m_vpMinimizables[1]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00277 m_vpMinimizables[1]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00278 m_vpMinimizables[1]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00279 m_vpMinimizables[1]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00280
00281
00282 m_vpMinimizables[2]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00283 m_vpMinimizables[2]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00284 m_vpMinimizables[2]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(228000.0);
00285 m_vpMinimizables[2]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00286
00287
00288 m_vpMinimizables[3]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00289 m_vpMinimizables[3]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00290 m_vpMinimizables[3]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(228000.0);
00291 m_vpMinimizables[3]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00292
00293
00294 m_vpMinimizables[4]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(3000600);
00295 m_vpMinimizables[4]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00296 m_vpMinimizables[4]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00297 m_vpMinimizables[4]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00298
00299
00300 m_vpMinimizables[5]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00301 m_vpMinimizables[5]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00302 m_vpMinimizables[5]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(456000.0);
00303 m_vpMinimizables[5]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00304
00305
00306 m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00307 m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00308 m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00309 m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00310 double EGFR = m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->GetInitialAmount();
00311 m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->SetInitialAmount(50*EGFR);
00312 m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->Reset();
00313
00314 }
00315