Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

EGFRTraffickingIdealCellMinimizableDirector.cpp

Go to the documentation of this file.
00001 // EGFRTraffickingIdealCellMinimizableDirector.cpp: implementation of the CEGFRTraffickingIdealCellMinimizableDirector class.
00002 //
00004 
00005 #include "EGFRTraffickingIdealCellMinimizableDirector.h"
00006 
00008 // Construction/Destruction
00010 
00011 CEGFRTraffickingIdealCellMinimizableDirector::CEGFRTraffickingIdealCellMinimizableDirector()
00012 {
00013         // create networks,experiments,observers,movers,minimizables
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         // flags for all minimizables
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         // NIH-3T3 cells
00033         // expt. 0 - NIH-3T3 cells transfected with 1.0(5) X 10^5 receptors, treated 
00034         //              with EGF at 100 nM concentration
00035         _networkList.push_back(new CEGFRTraffickingNetwork());
00036         _experimentList.push_back(new Experiment(_networkList[cnt],"EGF at 100 nM, Helin 1991"));
00037         // put data files here
00038         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/SurfaceEGFREGFHelin100nM.dat");
00039         // mover and plotter
00040         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00041         // minimizable
00042         _minimizableList.push_back(new SingleNetworkMinimizable());
00043         // parameters
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         // attach observer
00049         //_plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00050         //_plotterList[cnt]->SetTitle("EGFR Trafficking Network:EGF at 100 nM (Helin 1991):ODE");
00051         //_minimizableList[cnt]->Attach(_plotterList[cnt]);
00052         cnt++;
00053 
00054         // expt. 1 - NIH-3T3's transfected w/ wild-type EGFR; measurements made
00055         //              with 10-30% of receptors initially occupied; cells express 
00056         //              1.0(5) X 10^5 receptors
00057         _networkList.push_back(new CEGFRTraffickingNetwork());
00058         _experimentList.push_back(new Experiment(_networkList[cnt],"20 Percent Initial Occupancy, Helin 1991"));
00059         // put data files here
00060         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/EGFHelinOccupied.dat");
00061         // mover and plotter
00062         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00063         // minimizable
00064         _minimizableList.push_back(new SingleNetworkMinimizable());
00065         // parameters
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         // attach observer
00071         //_plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00072         //_plotterList[cnt]->SetTitle("EGFR Trafficking Network:20 Percent Initial EGFR Occupancy (Helin 1991):ODE");
00073         //_minimizableList[cnt]->Attach(_plotterList[cnt]);
00074         cnt++;
00075 
00076         // expt. 2 - NIH-3T3's transfected with wt EGFR; 1 X 10^5 receptors, EGF of
00077         //              100 ng/ml
00078         _networkList.push_back(new CEGFRTraffickingNetwork());
00079         _experimentList.push_back(new Experiment(_networkList[cnt],"EGF at 100 ng/ml wt1, Carter 1998"));
00080         // put data files here
00081         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/SurfaceEGFREGFwt1Carter.dat");
00082         // mover and plotter
00083         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00084         // minimizable
00085         _minimizableList.push_back(new SingleNetworkMinimizable());
00086         // parameters
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         // attach observer
00092         //_plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00093         //_plotterList[cnt]->SetTitle("EGFR Trafficking Network:EGF at 100 ng/ml, wt1 (Carter 1998):ODE");
00094         //_minimizableList[cnt]->Attach(_plotterList[cnt]);
00095         cnt++;
00096 
00097         // expt. 3 - NIH-3T3's transfected with wt EGFR; 2.75 X 10^5 receptors, EGF of
00098         //              100 ng/ml
00099         _networkList.push_back(new CEGFRTraffickingNetwork());
00100         _experimentList.push_back(new Experiment(_networkList[cnt],"EGF at 100 ng/ml wt2, Carter 1998"));
00101         // put data files here
00102         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/SurfaceEGFREGFwt2Carter.dat");
00103         // mover and plotter
00104         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00105         // minimizable
00106         _minimizableList.push_back(new SingleNetworkMinimizable());
00107         // parameters
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         // attach observer
00113         //_plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00114         //_plotterList[cnt]->SetTitle("EGFR Trafficking Network:EGF at 100 ng/ml, wt2 (Carter 1998):ODE");
00115         //_minimizableList[cnt]->Attach(_plotterList[cnt]);
00116         cnt++;
00117 
00118         // CHO cells
00119         // expt. 0 - CHO cells transfected with ? receptors, treated with EGF at 5 ng/ml
00120         //              concentration
00121         _networkList.push_back(new CEGFRTraffickingNetwork());
00122         _experimentList.push_back(new Experiment(_networkList[cnt],"EGF at 5 ng/ml, Bao 2000"));
00123         // put data files here
00124         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/InternalizedEGFREGFYarden.dat");
00125         // mover and plotter
00126         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00127         // minimizable
00128         _minimizableList.push_back(new SingleNetworkMinimizable());
00129         // parameters
00130         _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00131         _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00132         // attach observer
00133         //_plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00134         //_plotterList[cnt]->SetTitle("EGFR Trafficking Network:EGF at 5 ng/ml (Bao 2000):ODE");
00135         //_minimizableList[cnt]->Attach(_plotterList[cnt]);
00136         cnt++;
00137 
00138         // expt. 1 - CHO cells transfected with 8.2(7) X 10^4 receptors, treated 
00139         //              with EGF at 100 nM concentration
00140         _networkList.push_back(new CEGFRTraffickingNetwork());
00141         _experimentList.push_back(new Experiment(_networkList[cnt],"EGF at 100 nM, Davis 1992"));
00142         // put data files here
00143         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/SurfaceEGFREGFDavis100nM.dat");
00144         // mover and plotter
00145         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00146         // minimizable
00147         _minimizableList.push_back(new SingleNetworkMinimizable());
00148         // parameters
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         // attach observer
00154         //_plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00155         //_plotterList[cnt]->SetTitle("EGFR Trafficking Network:EGF at 100 nM (Davis 1992):ODE");
00156         //_minimizableList[cnt]->Attach(_plotterList[cnt]);
00157         cnt++;
00158 
00159         // expt. 2 - CHO cells transfected with 8.2(7) X 10^4 receptors, treated 
00160         //              with EGF at 10 nM concentration
00161         _networkList.push_back(new CEGFRTraffickingNetwork());
00162         _experimentList.push_back(new Experiment(_networkList[cnt],"EGF at 10 nM, Davis 1992"));
00163         // put data files here
00164         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/SurfaceEGFREGFDavis10nM.dat");
00165         // mover and plotter
00166         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00167         // minimizable
00168         _minimizableList.push_back(new SingleNetworkMinimizable());
00169         // parameters
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         // attach observer
00175         //_plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00176         //_plotterList[cnt]->SetTitle("EGFR Trafficking Network:EGF at 10 nM (Davis 1992):ODE");
00177         //_minimizableList[cnt]->Attach(_plotterList[cnt]);
00178         cnt++;
00179 
00180 
00181         // expt. 3 - CHO cells transfected with 8.2(7) X 10^4 receptors, treated 
00182         //              with EGF at 1 nM concentration
00183         _networkList.push_back(new CEGFRTraffickingNetwork());
00184         _experimentList.push_back(new Experiment(_networkList[cnt],"EGF at 1 nM, Davis 1992"));
00185         // put data files here
00186         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/SurfaceEGFREGFDavis1nM.dat");
00187         // mover and plotter
00188         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00189         // minimizable
00190         _minimizableList.push_back(new SingleNetworkMinimizable());
00191         // parameters
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         // attach observer
00197         //_plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00198         //_plotterList[cnt]->SetTitle("EGFR Trafficking Network:EGF at 1 nM (Davis 1992):ODE");
00199         //_minimizableList[cnt]->Attach(_plotterList[cnt]);
00200         cnt++;
00201 
00202         
00203         // expt. 4 - CHO cells transfected with ? EGFR and treated with EGF at 
00204         //              100 ng/ml concentration
00205         _networkList.push_back(new CEGFRTraffickingNetwork());
00206         _experimentList.push_back(new Experiment(_networkList[cnt],"EGF at 100 ng/ml, Levkowitz 1999"));
00207         // put data files here
00208         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/SurfaceEGFREGFLevkowitz.dat");
00209         // mover and plotter
00210         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00211         // minimizable
00212         _minimizableList.push_back(new SingleNetworkMinimizable());
00213         // parameters
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         // attach observer
00219         //_plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00220         //_plotterList[cnt]->SetTitle("EGFR Trafficking Network:EGF at 100 ng/ml (Levkowitz 1999):ODE");
00221         //_minimizableList[cnt]->Attach(_plotterList[cnt]);
00222         cnt++;
00223 
00224         /*
00225         // expt. 5 - CHO cells transfected with ? EGFR Y1045F and treated with EGF at
00226         //              100 ng/ml concentration
00227         _networkList.push_back(new CEGFRTraffickingNetwork());
00228         _experimentList.push_back(new Experiment(_networkList[cnt],"EGF at 100 ng/ml, Y1045F EGFR, Levkowitz 1999"));
00229         // put data files here
00230         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/SurfaceEGFREGFY1045FLevkowitz.dat");
00231         // mover and plotter
00232         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00233         // minimizable
00234         _minimizableList.push_back(new SingleNetworkMinimizable());
00235         // parameters
00236         _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00237         _minimizableList[cnt]->GetConversionFactor(47)->SetFactorFixed(true);
00238         _minimizableList[cnt]->GetConversionFactor(47)->SetFactorValue(100.0/80000.0);
00239         _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00240         // attach observer
00241         //_plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00242         //_plotterList[cnt]->SetTitle("EGFR Trafficking Network:EGF at 100 ng/ml, Y1045F EGFR (Levkowitz 1999):ODE");
00243         //_minimizableList[cnt]->Attach(_plotterList[cnt]);
00244         cnt++;
00245         */
00246         // allocate the master residuals list
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         // define the experiments
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         // 3T3 cells
00279         // 100,000 receptors, EGF at 100 nM
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         // No EGF, 20% of receptors on surface initially occupied
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         // 100,000 receptors assumed, EGF at 100 ng/ml
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         // 275,000 receptors assumed, EGF at 100 ng/ml
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         // CHO cells
00300         // 80,000 receptors assumed, EGF at 5 ng/ml
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         // 82,000 receptors, EGF at 100 nM
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         // 82,000 receptors, EGF at 10 nM
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         // 82,000 receptors, EGF at 1 nM
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         // 80,000 receptors assumed, EGF at 100 ng/ml
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         // 80,000 receptors assumed, EGF at 100 ng/ml, Y1045F can't bind to Cbl
00326         _minimizableList[9]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(1.2e+007);
00327         _minimizableList[9]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->SetInitialAmount(80000);
00328         _minimizableList[9]->GetExperiment()->GetReactionNetwork()->ChemicalReset();
00329         _minimizableList[9]->GetExperiment()->GetReactionNetwork()->RemoveReaction(40);
00330         _minimizableList[9]->GetExperiment()->GetReactionNetwork()->RemoveReaction(40);
00331         */
00332 
00333 }
00334 
00335 double CEGFRTraffickingIdealCellMinimizableDirector::GetParameter(int parIndex)
00336 {
00337         // for this director, everyone has the same parameters so any set 
00338         // can be returned
00339         return _minimizableList[0]->GetParameter(parIndex);
00340 }
00341 
00342 int CEGFRTraffickingIdealCellMinimizableDirector::GetNParameters()
00343 {
00344         // ditto as for GetParameters()
00345         return _minimizableList[0]->GetNParameters();
00346 }
00347 

Generated on Mon Nov 3 09:37:46 2003 by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002