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

PC12EGFNGFMinimizableDirector.cpp

Go to the documentation of this file.
00001 // PC12EGFNGFMinimizableDirector.cpp: implementation of the PC12EGFNGFMinimizableDirector class.
00002 //
00004 
00005 #include "PC12EGFNGFMinimizableDirector.h"
00006 
00008 // Construction/Destruction
00010 
00011 PC12EGFNGFMinimizableDirector::PC12EGFNGFMinimizableDirector()
00012 {
00013         // create networks,experiments,observers,movers,minimizables
00014         double maxSimTime = 91.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 = 1.0e-07;
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         /*
00033         // expt. 1 - EGF at 100 ng/ml, Traverse 1994 data
00034         // networks and data
00035         _networkList.push_back(new SmallErkSubnetwork());
00036         _experimentList.push_back(new Experiment(_networkList[0],"EGF Stimulation 100 ng/ml - Traverse 1994"));
00037         // put data files here
00038         _experimentList[0]->AddDataFileToList("PerfectEGF100.dat");
00039         // mover and plotter
00040         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00041         //_plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00042         // title
00043         //_plotterList[0]->SetTitle("Small Erk Subnetwork:EGF Stimulation 100 ng/ml:ODE");
00044         // minimizable
00045         _minimizableList.push_back(new SingleNetworkMinimizable());
00046         // parameters
00047         _minimizableList[0]->Initialize(_experimentList[0],_moverList[0],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00048         _minimizableList[0]->SetRateConstantsWeight(0.0);
00049         // attach observer
00050         //_minimizableList[0]->Attach(_plotterList[0]);
00051 
00052         
00053         // expt. 1 - NGF at 50 ng/ml, Traverse 1994 data
00054         // networks and data
00055         _networkList.push_back(new SmallErkSubnetwork());
00056         _experimentList.push_back(new Experiment(_networkList[1],"NGF Stimulation 50 ng/ml"));
00057         // data
00058         _experimentList[1]->AddDataFileToList("PerfectNGF50.dat");
00059         // mover and plotter
00060         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00061         //_plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00062         // title
00063         //_plotterList[1]->SetTitle("Small Erk Subnetwork:NGF Stimulation 50 ng/ml:ODE");
00064         // minimizable
00065         _minimizableList.push_back(new SingleNetworkMinimizable());
00066         // parameters
00067         _minimizableList[1]->Initialize(_experimentList[1],_moverList[1],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00068         _minimizableList[1]->SetRateConstantsWeight(0.0);
00069         // attach observer
00070         //_minimizableList[1]->Attach(_plotterList[1]);
00071         */
00072         /*
00073         // expt. 1 - EGF at 100 ng/ml, Traverse 1994 data
00074         // networks and data
00075         _networkList.push_back(new SmallErkSubnetwork());
00076         _experimentList.push_back(new Experiment(_networkList[0],"EGF Stimulation 100 ng/ml - Traverse 1994"));
00077         // put data files here
00078         _experimentList[0]->AddDataFileToList("MockExpEGF100.dat");
00079         // mover and plotter
00080         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00081         _plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00082         // title
00083         _plotterList[0]->SetTitle("Small Erk Subnetwork:EGF Stimulation 100 ng/ml:ODE");
00084         // minimizable
00085         _minimizableList.push_back(new SingleNetworkMinimizable());
00086         // parameters
00087         _minimizableList[0]->Initialize(_experimentList[0],_moverList[0],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00088         _minimizableList[0]->SetRateConstantsWeight(0.0);
00089         // attach observer
00090         _minimizableList[0]->Attach(_plotterList[0]);
00091 
00092         
00093         // expt. 1 - NGF at 50 ng/ml, Traverse 1994 data
00094         // networks and data
00095         _networkList.push_back(new SmallErkSubnetwork());
00096         _experimentList.push_back(new Experiment(_networkList[1],"NGF Stimulation 50 ng/ml"));
00097         // data
00098         _experimentList[1]->AddDataFileToList("MockExpNGF50.dat");
00099         // mover and plotter
00100         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00101         _plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00102         // title
00103         _plotterList[1]->SetTitle("Small Erk Subnetwork:NGF Stimulation 50 ng/ml:ODE");
00104         // minimizable
00105         _minimizableList.push_back(new SingleNetworkMinimizable());
00106         // parameters
00107         _minimizableList[1]->Initialize(_experimentList[1],_moverList[1],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00108         _minimizableList[1]->SetRateConstantsWeight(0.0);
00109         // attach observer
00110         _minimizableList[1]->Attach(_plotterList[1]);
00111         
00112         // expt. 3 - EGF at 30 ng/ml
00113         // networks and data
00114         _networkList.push_back(new SmallErkSubnetwork());
00115         _experimentList.push_back(new Experiment(_networkList[2],"EGF Stimulation 30 ng/ml"));
00116         // put data files here
00117         _experimentList[2]->AddDataFileToList("MockExpEGF30.dat");
00118         // mover and plotter
00119         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00120         _plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00121         // title
00122         _plotterList[2]->SetTitle("Small Erk Subnetwork:EGF Stimulation 30 ng/ml:ODE");
00123         // minimizable
00124         _minimizableList.push_back(new SingleNetworkMinimizable());
00125         // parameters
00126         _minimizableList[2]->Initialize(_experimentList[2],_moverList[2],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00127         _minimizableList[2]->SetRateConstantsWeight(0.0);
00128         // attach observer
00129         _minimizableList[2]->Attach(_plotterList[2]);
00130         
00131         // expt. 4 - NGF at 100 ng/ml
00132         // networks and data
00133         _networkList.push_back(new SmallErkSubnetwork());
00134         _experimentList.push_back(new Experiment(_networkList[3],"NGF Stimulation 100 ng/ml"));
00135         // data
00136         _experimentList[3]->AddDataFileToList("MockExpNGF100.dat");
00137         // mover and plotter
00138         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00139         _plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00140         // title
00141         _plotterList[3]->SetTitle("Small Erk Subnetwork:NGF Stimulation 100 ng/ml:ODE");
00142         // minimizable
00143         _minimizableList.push_back(new SingleNetworkMinimizable());
00144         // parameters
00145         _minimizableList[3]->Initialize(_experimentList[3],_moverList[3],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00146         _minimizableList[3]->SetRateConstantsWeight(0.0);
00147         // attach observer
00148         _minimizableList[3]->Attach(_plotterList[3]);
00149         
00150         // expt. 5 - EGF at 100 ng/ml + 50-fold overexpression of HER
00151         // networks and data
00152         _networkList.push_back(new SmallErkSubnetwork());
00153         _experimentList.push_back(new Experiment(_networkList[4],"EGF at 100 ng/ml, 50-fold HER Overexpression"));
00154         // data
00155         _experimentList[4]->AddDataFileToList("MockExpEGF100HEROver.dat");
00156         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00157         _plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00158         // title
00159         _plotterList[4]->SetTitle("Small Erk Subnetwork:EGF Stimulation 100 ng/ml + 50-fold HER:ODE");
00160         // minimizable
00161         _minimizableList.push_back(new SingleNetworkMinimizable());
00162         // parameters
00163         _minimizableList[4]->Initialize(_experimentList[4],_moverList[4],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00164         _minimizableList[4]->SetRateConstantsWeight(0.0);
00165         // attach observer
00166         _minimizableList[4]->Attach(_plotterList[4]);
00167         */
00168         
00169         // expt. 1 - EGF at 100 ng/ml, Traverse 1994 data
00170         // networks and data
00171         _networkList.push_back(new SmallErkSubnetwork());
00172         _experimentList.push_back(new Experiment(_networkList[cnt],"EGF Stimulation 100 ng/ml - Traverse 1994"));
00173         // put data files here
00174         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/ErkMekTraverse2EGF.dat");
00175         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/Raf1LandrethEGF.dat");
00176         //_experimentList[0]->AddDataFileToList("../DataFiles/TimeSeries/PIP2PIP3DownwardEGF.dat");
00177         // mover and plotter
00178         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00179         // minimizable
00180         _minimizableList.push_back(new SingleNetworkMinimizable());
00181         // parameters
00182         _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00183         _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00184         // attach observer
00185         //_plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00186         //_plotterList[0]->SetTitle("Small Erk Subnetwork:EGF Stimulation (100 ng/ml, T 1994):ODE");
00187         //_minimizableList[0]->Attach(_plotterList[0]);
00188         cnt++;
00189         
00190         // expt. 2 - EGF at 100 ng/ml, Yao 1995 data
00191         // networks and data
00192         _networkList.push_back(new SmallErkSubnetwork());
00193         _experimentList.push_back(new Experiment(_networkList[cnt],"EGF Stimulation 100 ng/ml - Yao 1995"));
00194         // put data files here
00195         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/Erk1HYaoEGF.dat");
00196         // mover and plotter
00197         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00198         // minimizable
00199         _minimizableList.push_back(new SingleNetworkMinimizable());
00200         // parameters
00201         _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00202         _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00203         // attach observer
00204         //_plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00205         //_plotterList[1]->SetTitle("Small Erk Subnetwork:EGF Stimulation (100 ng/ml, Y 1995):ODE");
00206         //_minimizableList[1]->Attach(_plotterList[1]);
00207         cnt++;
00208         
00209         // expt. 3 - NGF at 50 ng/ml, Traverse 1994 data
00210         // networks and data
00211         _networkList.push_back(new SmallErkSubnetwork());
00212         _experimentList.push_back(new Experiment(_networkList[cnt],"NGF Stimulation 50 ng/ml - T 1994"));
00213         // data
00214         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/ErkMekTraverse2NGF.dat");
00215         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/RasGreen1NGF.dat");
00216         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/Rap1YorkNGF.dat");
00217         //_experimentList[1]->AddDataFileToList("../DataFiles/TimeSeries/PIP2PIP3DownwardNGF.dat");
00218         // mover and plotter
00219         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00220         // minimizable
00221         _minimizableList.push_back(new SingleNetworkMinimizable());
00222         // parameters
00223         _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00224         // one scaling factor is fixed
00225         _minimizableList[cnt]->GetConversionFactor(11)->SetFactorFixed(true);
00226         _minimizableList[cnt]->GetConversionFactor(11)->SetFactorValue(1.0/(0.2*600000*0.1));
00227         // THESE TWO LINES FOR PI3K+
00228         _minimizableList[cnt]->GetConversionFactor(28)->SetFactorFixed(true);
00229         _minimizableList[cnt]->GetConversionFactor(28)->SetFactorValue(1.0/(0.2*600000*0.1));
00230         _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00231         // attach observer
00232         //_plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00233         //_plotterList[2]->SetTitle("Small Erk Subnetwork:NGF Stimulation (50 ng/ml, T 1994):ODE");
00234         //_minimizableList[2]->Attach(_plotterList[2]);
00235         cnt++;
00236         
00237         // expt. 4 - NGF at 50 ng/ml, Yao 1995 data
00238         // networks and data
00239         _networkList.push_back(new SmallErkSubnetwork());
00240         _experimentList.push_back(new Experiment(_networkList[cnt],"NGF Stimulation 50 ng/ml - Yao 1995"));
00241         // data
00242         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/Erk1HYaoNGF.dat");
00243         //_experimentList[1]->AddDataFileToList("../DataFiles/TimeSeries/PIP2PIP3DownwardNGF.dat");
00244         // mover and plotter
00245         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00246         // minimizable
00247         _minimizableList.push_back(new SingleNetworkMinimizable());
00248         // parameters
00249         _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00250         // one scaling factor is fixed
00251         _minimizableList[cnt]->GetConversionFactor(11)->SetFactorFixed(true);
00252         _minimizableList[cnt]->GetConversionFactor(11)->SetFactorValue(1.0/(0.2*600000*0.1));
00253         // THESE TWO LINES FOR PI3K+
00254         _minimizableList[cnt]->GetConversionFactor(28)->SetFactorFixed(true);
00255         _minimizableList[cnt]->GetConversionFactor(28)->SetFactorValue(1.0/(0.2*600000*0.1));
00256         _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00257         // attach observer
00258         //_plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00259         //_plotterList[3]->SetTitle("Small Erk Subnetwork:NGF Stimulation (50 ng/ml, Y 1995):ODE");
00260         //_minimizableList[3]->Attach(_plotterList[3]);
00261         cnt++;
00262         
00263         // expt. 3 - EGF at 30 ng/ml
00264         // networks and data
00265         _networkList.push_back(new SmallErkSubnetwork());
00266         _experimentList.push_back(new Experiment(_networkList[cnt],"EGF Stimulation 30 ng/ml"));
00267         // put data files here
00268         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/RasGreen1EGF.dat");
00269         // _experimentList[1]->AddDataFileToList("../DataFiles/TimeSeries/BRafJohnson1EGF.dat");
00270         // mover and plotter
00271         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00272         // minimizable
00273         _minimizableList.push_back(new SingleNetworkMinimizable());
00274         // parameters
00275         _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00276         _minimizableList[cnt]->GetConversionFactor(11)->SetFactorFixed(true);
00277         _minimizableList[cnt]->GetConversionFactor(11)->SetFactorValue(1.0/(0.2*600000*0.1));
00278         _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00279         // attach observer
00280         //_plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00281         //_plotterList[4]->SetTitle("Small Erk Subnetwork:EGF Stimulation (30 ng/ml):ODE");
00282         //_minimizableList[4]->Attach(_plotterList[4]);
00283         cnt++;
00284         
00285         // expt. 4 - NGF at 100 ng/ml
00286         // networks and data
00287         _networkList.push_back(new SmallErkSubnetwork());
00288         _experimentList.push_back(new Experiment(_networkList[cnt],"NGF Stimulation 100 ng/ml"));
00289         // data
00290         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/Raf1LandrethNGF.dat");
00291         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/BRafLandrethNGF.dat");
00292         // mover and plotter
00293         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00294         // minimizable
00295         _minimizableList.push_back(new SingleNetworkMinimizable());
00296         // parameters
00297         _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00298         // one scaling factor is fixed
00299         _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00300         // attach observer
00301         //_plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00302         //_plotterList[5]->SetTitle("Small Erk Subnetwork:NGF Stimulation (100 ng/ml):ODE");
00303         //_minimizableList[5]->Attach(_plotterList[5]);
00304         cnt++;
00305         
00306         // expt. 5 - EGF at 100 ng/ml + 50-fold overexpression of HER
00307         // networks and data
00308         _networkList.push_back(new SmallErkSubnetwork());
00309         _experimentList.push_back(new Experiment(_networkList[cnt],"EGF at 100 ng/ml, 50-fold HER Overexpression"));
00310         // data
00311         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/ErkMekTraverseHERover.dat");
00312         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00313         // minimizable
00314         _minimizableList.push_back(new SingleNetworkMinimizable());
00315         // parameters
00316         _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00317         _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00318         cnt++;
00319 
00320         /*
00321         // FOR SLOPPY EVOLUTION
00322         // Erk in response to EGF, Yao 1995 data
00323         // networks and data
00324         _networkList.push_back(new SmallErkSubnetwork());
00325         _experimentList.push_back(new Experiment(_networkList[cnt],"EGF Stimulation 100 ng/ml"));
00326         // put data files here
00327         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/Erk1HYaoEGF.dat");
00328         // mover and plotter
00329         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00330         // minimizable
00331         _minimizableList.push_back(new SingleNetworkMinimizable());
00332         // parameters
00333         _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00334         _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00335         // plotting
00336         _plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00337         // title
00338         _plotterList[cnt]->SetTitle("Small Erk Subnetwork:EGF Stimulation (100 ng/ml):ODE");
00339         // attach observer
00340         _minimizableList[cnt]->Attach(_plotterList[cnt]);
00341         cnt++;
00342         
00343         // Erk and Ras (mutable) in response to NGF, Yao 1995 data and based on Green
00344         // networks and data
00345         _networkList.push_back(new SmallErkSubnetwork());
00346         _experimentList.push_back(new Experiment(_networkList[cnt],"NGF Stimulation 50 ng/ml"));
00347         // data
00348         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/Erk1HYaoNGF.dat");
00349         _experimentList[cnt]->AddDataFileToList("MutableRas.dat");
00350         // mover and plotter
00351         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00352         // minimizable
00353         _minimizableList.push_back(new SingleNetworkMinimizable());
00354         // parameters
00355         _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00356         // one scaling factor is fixed
00357         _minimizableList[cnt]->GetConversionFactor(11)->SetFactorFixed(true);
00358         _minimizableList[cnt]->GetConversionFactor(11)->SetFactorValue(1.0/(0.2*600000*0.1));
00359         // THESE TWO LINES FOR PI3K+
00360         _minimizableList[cnt]->GetConversionFactor(28)->SetFactorFixed(true);
00361         _minimizableList[cnt]->GetConversionFactor(28)->SetFactorValue(1.0/(0.2*600000*0.1));
00362         _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00363         // plotting
00364         _plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00365         // title
00366         _plotterList[cnt]->SetTitle("Small Erk Subnetwork:NGF Stimulation (50 ng/ml):ODE");
00367         // attach observer
00368         _minimizableList[cnt]->Attach(_plotterList[cnt]);
00369         // attach observer
00370         cnt++;
00371         
00372         // Ras in response to EGF, Green's data
00373         // networks and data
00374         _networkList.push_back(new SmallErkSubnetwork());
00375         _experimentList.push_back(new Experiment(_networkList[cnt],"EGF Stimulation 30 ng/ml"));
00376         // put data files here
00377         _experimentList[cnt]->AddDataFileToList("../DataFiles/TimeSeries/RasGreen1EGF.dat");
00378         // mover and plotter
00379         _moverList.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00380         // minimizable
00381         _minimizableList.push_back(new SingleNetworkMinimizable());
00382         // parameters
00383         _minimizableList[cnt]->Initialize(_experimentList[cnt],_moverList[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00384         _minimizableList[cnt]->GetConversionFactor(11)->SetFactorFixed(true);
00385         _minimizableList[cnt]->GetConversionFactor(11)->SetFactorValue(1.0/(0.2*600000*0.1));
00386         _minimizableList[cnt]->SetRateConstantsWeight(0.0);
00387         // plotting
00388         _plotterList.push_back(new GnuPlotterTimeSeriesObserver());
00389         // title
00390         _plotterList[cnt]->SetTitle("Small Erk Subnetwork:EGF Stimulation (30 ng/ml):ODE");
00391         // attach observer
00392         _minimizableList[cnt]->Attach(_plotterList[cnt]);
00393         // attach observer
00394         cnt++;
00395         */
00396         // allocate the master residuals list
00397         int masterResidualsSize = 0;
00398         for(int i = 0; i < _minimizableList.size(); i++)
00399         {
00400                 int subRes = _minimizableList[i]->GetNResiduals();
00401                 masterResidualsSize += subRes;
00402                 cout << subRes << " residuals in minimizable " << i << endl;
00403         }
00404         if(m_dGammaSquared > 0.0)
00405         {
00406                 masterResidualsSize += 1;
00407         }
00408         Allocate(masterResidualsSize);
00409 
00410         cout << "Master Residuals size : " << masterResidualsSize << endl;
00411 
00412         // define the experiments
00413         DefineExperiments();
00414 
00415         // dump info about residuals
00416         DumpResidualInfo();
00417 }
00418 
00419 PC12EGFNGFMinimizableDirector::~PC12EGFNGFMinimizableDirector()
00420 {
00421         for(int i = 0; i < _minimizableList.size(); i++)
00422         {
00423                 if(_plotterList.size() > i)
00424                 {
00425                         _minimizableList[i]->Detach(_plotterList[i]);
00426                 }
00427         }
00428         for(i = 0; i < _plotterList.size(); i++)
00429         {
00430                 delete _plotterList[i];
00431         }
00432 }
00433 
00434 void PC12EGFNGFMinimizableDirector::DefineExperiments()
00435 {
00436         /*
00437         // 100 ng/ml EGF, 0 NGF
00438         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00439         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00440         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00441         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00442         
00443         // 0 EGF, 50 ng/ml NGF
00444         _minimizableList[1]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00445         _minimizableList[1]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00446         _minimizableList[1]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(228000.0);
00447         _minimizableList[1]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00448         */
00449         /*
00450         // 100 ng/ml EGF, 0 NGF
00451         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00452         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00453         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00454         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00455         
00456         // 0 EGF, 50 ng/ml NGF
00457         _minimizableList[1]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00458         _minimizableList[1]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00459         _minimizableList[1]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(228000.0);
00460         _minimizableList[1]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00461         
00462         // 30 ng/ml EGF, 0 NGF
00463         _minimizableList[2]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(3000600);
00464         _minimizableList[2]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00465         _minimizableList[2]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00466         _minimizableList[2]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00467         
00468         // 0 EGF, 100 ng/ml NGF
00469         _minimizableList[3]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00470         _minimizableList[3]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00471         _minimizableList[3]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(456000.0);
00472         _minimizableList[3]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00473         
00474         // 100 ng/ml EGF, 0 ng/ml NGF, 50-fold HER overexpression
00475         _minimizableList[4]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00476         _minimizableList[4]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00477         _minimizableList[4]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00478         _minimizableList[4]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00479         double EGFR = _minimizableList[4]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->GetInitialAmount();
00480         _minimizableList[4]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->SetInitialAmount(50*EGFR);
00481         _minimizableList[4]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->Reset();    
00482         */      
00483         
00484         // 100 ng/ml EGF, 0 NGF
00485         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00486         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00487         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00488         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00489         
00490         // 0 EGF, 50 ng/ml NGF
00491         _minimizableList[2]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00492         _minimizableList[2]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00493         _minimizableList[2]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(228000.0);
00494         _minimizableList[2]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00495         
00496         // 0 EGF, 50 ng/ml NGF
00497         _minimizableList[1]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00498         _minimizableList[1]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00499         _minimizableList[1]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(228000.0);
00500         _minimizableList[1]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00501         
00502         // 30 ng/ml EGF, 0 NGF
00503         _minimizableList[4]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(3000600);
00504         _minimizableList[4]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00505         _minimizableList[4]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00506         _minimizableList[4]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00507         
00508         // 0 EGF, 100 ng/ml NGF
00509         _minimizableList[5]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00510         _minimizableList[5]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00511         _minimizableList[5]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(456000.0);
00512         _minimizableList[5]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();
00513         
00514         // 100 ng/ml EGF, 0 ng/ml NGF, 50-fold HER overexpression
00515         _minimizableList[6]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00516         _minimizableList[6]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00517         _minimizableList[6]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00518         _minimizableList[6]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00519         double EGFR = _minimizableList[6]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->GetInitialAmount();
00520         _minimizableList[6]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->SetInitialAmount(50*EGFR);
00521         _minimizableList[6]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->Reset();
00522         
00523         /*
00524         // SLOPPY EVOLUTION PIECE
00525         // 100 ng/ml EGF, 0 NGF
00526         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00527         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00528         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00529         _minimizableList[0]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00530 
00531         // 0 EGF, 50 ng/ml NGF
00532         _minimizableList[1]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00533         _minimizableList[1]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00534         _minimizableList[1]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(228000.0);
00535         _minimizableList[1]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00536 
00537         // 30 ng/ml EGF, 0 NGF
00538         _minimizableList[2]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(3000600);
00539         _minimizableList[2]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00540         _minimizableList[2]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00541         _minimizableList[2]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00542         */
00543 }
00544 
00545 double PC12EGFNGFMinimizableDirector::GetParameter(int parIndex)
00546 {
00547         // for this director, everyone has the same parameters so any set 
00548         // can be returned
00549         return _minimizableList[0]->GetParameter(parIndex);
00550 }
00551 
00552 int PC12EGFNGFMinimizableDirector::GetNParameters()
00553 {
00554         // ditto as for GetParameters()
00555         return _minimizableList[0]->GetNParameters();
00556 }

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