00001
00002
00004
00005 #include "EGFRTraffickingIdealCellMinimizableDirector.h"
00006
00008
00010
00011 CEGFRTraffickingIdealCellMinimizableDirector::CEGFRTraffickingIdealCellMinimizableDirector()
00012 {
00013
00014 double maxSimTime = 241.0;
00015 double stepSize = 0.0001;
00016 double frequency = 1.0;
00017 int nCells = 1;
00018 double moveTol = 1.0e-06;
00019
00020 m_dGammaSquared = 0.0;
00021
00022
00023 bool rateFlag = true;
00024 bool chemFlag = false;
00025 bool logsFlag = false;
00026 double timeWeight = 1.0;
00027 double rateWeight = 0.0;
00028 double chemWeight = 0.0;
00029
00030 int cnt = 0;
00031
00032
00033
00034
00035 _networkList.push_back(new CEGFRTraffickingNetwork());
00036 _experimentList.push_back(new Experiment(_networkList[cnt],"EGF at 100 nM, Helin 1991"));
00037
00038 _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/SurfaceEGFREGFHelin100nM.dat");
00039
00040 _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00041
00042 _minimizableList.push_back(new SingleNetworkMinimizable());
00043
00044 _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00045 _minimizableList[cnt]->GetConversionFactor(47)->SetFactorFixed(true);
00046 _minimizableList[cnt]->GetConversionFactor(47)->SetFactorValue(100.0/100000.0);
00047 _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00048
00049
00050
00051
00052 cnt++;
00053
00054
00055
00056
00057 _networkList.push_back(new CEGFRTraffickingNetwork());
00058 _experimentList.push_back(new Experiment(_networkList[cnt],"20 Percent Initial Occupancy, Helin 1991"));
00059
00060 _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/EGFHelinOccupied.dat");
00061
00062 _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00063
00064 _minimizableList.push_back(new SingleNetworkMinimizable());
00065
00066 _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00067 _minimizableList[cnt]->GetConversionFactor(48)->SetFactorFixed(true);
00068 _minimizableList[cnt]->GetConversionFactor(48)->SetFactorValue(100.0/20000.0);
00069 _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00070
00071
00072
00073
00074 cnt++;
00075
00076
00077
00078 _networkList.push_back(new CEGFRTraffickingNetwork());
00079 _experimentList.push_back(new Experiment(_networkList[cnt],"EGF at 100 ng/ml wt1, Carter 1998"));
00080
00081 _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/SurfaceEGFREGFwt1Carter.dat");
00082
00083 _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00084
00085 _minimizableList.push_back(new SingleNetworkMinimizable());
00086
00087 _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00088 _minimizableList[cnt]->GetConversionFactor(47)->SetFactorFixed(true);
00089 _minimizableList[cnt]->GetConversionFactor(47)->SetFactorValue(100.0/100000.0);
00090 _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00091
00092
00093
00094
00095 cnt++;
00096
00097
00098
00099 _networkList.push_back(new CEGFRTraffickingNetwork());
00100 _experimentList.push_back(new Experiment(_networkList[cnt],"EGF at 100 ng/ml wt2, Carter 1998"));
00101
00102 _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/SurfaceEGFREGFwt2Carter.dat");
00103
00104 _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00105
00106 _minimizableList.push_back(new SingleNetworkMinimizable());
00107
00108 _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00109 _minimizableList[cnt]->GetConversionFactor(47)->SetFactorFixed(true);
00110 _minimizableList[cnt]->GetConversionFactor(47)->SetFactorValue(100.0/275000.0);
00111 _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00112
00113
00114
00115
00116 cnt++;
00117
00118
00119
00120
00121 _networkList.push_back(new CEGFRTraffickingNetwork());
00122 _experimentList.push_back(new Experiment(_networkList[cnt],"EGF at 5 ng/ml, Bao 2000"));
00123
00124 _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/InternalizedEGFREGFYarden.dat");
00125
00126 _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00127
00128 _minimizableList.push_back(new SingleNetworkMinimizable());
00129
00130 _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00131 _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00132
00133
00134
00135
00136 cnt++;
00137
00138
00139
00140 _networkList.push_back(new CEGFRTraffickingNetwork());
00141 _experimentList.push_back(new Experiment(_networkList[cnt],"EGF at 100 nM, Davis 1992"));
00142
00143 _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/SurfaceEGFREGFDavis100nM.dat");
00144
00145 _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00146
00147 _minimizableList.push_back(new SingleNetworkMinimizable());
00148
00149 _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00150 _minimizableList[cnt]->GetConversionFactor(47)->SetFactorFixed(true);
00151 _minimizableList[cnt]->GetConversionFactor(47)->SetFactorValue(100.0/82000.0);
00152 _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00153
00154
00155
00156
00157 cnt++;
00158
00159
00160
00161 _networkList.push_back(new CEGFRTraffickingNetwork());
00162 _experimentList.push_back(new Experiment(_networkList[cnt],"EGF at 10 nM, Davis 1992"));
00163
00164 _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/SurfaceEGFREGFDavis10nM.dat");
00165
00166 _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00167
00168 _minimizableList.push_back(new SingleNetworkMinimizable());
00169
00170 _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00171 _minimizableList[cnt]->GetConversionFactor(47)->SetFactorFixed(true);
00172 _minimizableList[cnt]->GetConversionFactor(47)->SetFactorValue(100.0/82000.0);
00173 _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00174
00175
00176
00177
00178 cnt++;
00179
00180
00181
00182
00183 _networkList.push_back(new CEGFRTraffickingNetwork());
00184 _experimentList.push_back(new Experiment(_networkList[cnt],"EGF at 1 nM, Davis 1992"));
00185
00186 _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/SurfaceEGFREGFDavis1nM.dat");
00187
00188 _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00189
00190 _minimizableList.push_back(new SingleNetworkMinimizable());
00191
00192 _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00193 _minimizableList[cnt]->GetConversionFactor(47)->SetFactorFixed(true);
00194 _minimizableList[cnt]->GetConversionFactor(47)->SetFactorValue(100.0/82000.0);
00195 _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00196
00197
00198
00199
00200 cnt++;
00201
00202
00203
00204
00205 _networkList.push_back(new CEGFRTraffickingNetwork());
00206 _experimentList.push_back(new Experiment(_networkList[cnt],"EGF at 100 ng/ml, Levkowitz 1999"));
00207
00208 _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/SurfaceEGFREGFLevkowitz.dat");
00209
00210 _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00211
00212 _minimizableList.push_back(new SingleNetworkMinimizable());
00213
00214 _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00215 _minimizableList[cnt]->GetConversionFactor(47)->SetFactorFixed(true);
00216 _minimizableList[cnt]->GetConversionFactor(47)->SetFactorValue(100.0/80000.0);
00217 _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00218
00219
00220
00221
00222 cnt++;
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243
00244
00245
00246
00247 int masterResidualsSize = 0;
00248 for(int i = 0; i < _minimizableList.size(); i++)
00249 {
00250 int subRes = _minimizableList[i]->GetNResiduals();
00251 masterResidualsSize += subRes;
00252 cout << subRes << " residuals in minimizable " << i << endl;
00253 }
00254 if(m_dGammaSquared > 0.0)
00255 {
00256 masterResidualsSize += 1;
00257 }
00258 Allocate(masterResidualsSize);
00259
00260 cout << "Master Residuals size : " << masterResidualsSize << endl;
00261
00262
00263 DefineExperiments();
00264
00265 }
00266
00267 CEGFRTraffickingIdealCellMinimizableDirector::~CEGFRTraffickingIdealCellMinimizableDirector()
00268 {
00269 for(int i = 0; i < _plotterList.size(); i++)
00270 {
00271 _minimizableList[i]->Detach(_plotterList[i]);
00272 delete _plotterList[i];
00273 }
00274 }
00275
00276 void CEGFRTraffickingIdealCellMinimizableDirector::DefineExperiments()
00277 {
00278
00279
00280 _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(7.2e+007);
00281 _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->SetInitialAmount(100000);
00282 _minimizableList[0]->GetExperiment()->GetReactionNetwork()->ChemicalReset();
00283
00284
00285 _minimizableList[1]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->SetInitialAmount(80000.0);
00286 _minimizableList[1]->GetExperiment()->GetReactionNetwork()->GetChemical(3)->SetInitialAmount(20000.0);
00287 _minimizableList[1]->GetExperiment()->GetReactionNetwork()->ChemicalReset();
00288
00289
00290 _minimizableList[2]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(1.2e+007);
00291 _minimizableList[2]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->SetInitialAmount(100000);
00292 _minimizableList[2]->GetExperiment()->GetReactionNetwork()->ChemicalReset();
00293
00294
00295 _minimizableList[3]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(1.2e+007);
00296 _minimizableList[3]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->SetInitialAmount(275000);
00297 _minimizableList[3]->GetExperiment()->GetReactionNetwork()->ChemicalReset();
00298
00299
00300
00301 _minimizableList[4]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(600000.0);
00302 _minimizableList[4]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->SetInitialAmount(80000.0);
00303 _minimizableList[4]->GetExperiment()->GetReactionNetwork()->ChemicalReset();
00304
00305
00306 _minimizableList[5]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(7.2e+007);
00307 _minimizableList[5]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->SetInitialAmount(82000);
00308 _minimizableList[5]->GetExperiment()->GetReactionNetwork()->ChemicalReset();
00309
00310
00311 _minimizableList[6]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(7.2e+006);
00312 _minimizableList[6]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->SetInitialAmount(82000);
00313 _minimizableList[6]->GetExperiment()->GetReactionNetwork()->ChemicalReset();
00314
00315
00316 _minimizableList[7]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(7.2e+005);
00317 _minimizableList[7]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->SetInitialAmount(82000);
00318 _minimizableList[7]->GetExperiment()->GetReactionNetwork()->ChemicalReset();
00319
00320
00321 _minimizableList[8]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(1.2e+007);
00322 _minimizableList[8]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->SetInitialAmount(80000);
00323 _minimizableList[8]->GetExperiment()->GetReactionNetwork()->ChemicalReset();
00324
00325
00326
00327
00328
00329
00330
00331
00332
00333 }
00334
00335 double CEGFRTraffickingIdealCellMinimizableDirector::GetParameter(int parIndex)
00336 {
00337
00338
00339 return _minimizableList[0]->GetParameter(parIndex);
00340 }
00341
00342 int CEGFRTraffickingIdealCellMinimizableDirector::GetNParameters()
00343 {
00344
00345 return _minimizableList[0]->GetNParameters();
00346 }
00347