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

PC12RapMinusEnsembleDirector.cpp

Go to the documentation of this file.
00001 #include "pc12rapminusensembledirector.h"
00002 
00003 CPC12RapMinusEnsembleDirector::CPC12RapMinusEnsembleDirector(int ensembleSize)
00004 :CEnsembleCombinationDirector(ensembleSize)
00005 {
00006 double maxSimTime = 91.0;
00007         int intTime = (int) (maxSimTime + 2);
00008         double stepSize = 0.0001;
00009         double frequency = 1.0;
00010         double moveTol = 1.0e-6;
00011         bool rateFlag = true;
00012         bool chemFlag = false;
00013         bool logsFlag = false;
00014         double timeWeight = 1.0;
00015         double rateWeight = 0.0;
00016         double chemWeight = 0.0;
00017         int nCells = 1;
00018 
00019         int cnt = 0;
00020 
00021         // expt. 1 - EGF at 100 ng/ml, Traverse 1994 data
00022         m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00023         m_vpExperiments.push_back(new Experiment(m_vpNetworks[cnt],"EGF Stimulation 100 ng/ml - Traverse 1994"));
00024         // data files
00025         m_vpExperiments[cnt]->AddDataFileToList("../DataFiles/TimeSeries/ErkMekTraverse2EGF.dat");
00026         m_vpExperiments[cnt]->AddDataFileToList("../DataFiles/TimeSeries/Raf1LandrethEGF.dat");
00027         //m_vpExperiments[0]->AddDataFileToList("../DataFiles/TimeSeries/PIP2PIP3DownwardEGF.dat");
00028         m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00029         // minimizable
00030         m_vpMinimizables.push_back(new SingleNetworkMinimizable());
00031         // parameters
00032         m_vpMinimizables[cnt]->Initialize(m_vpExperiments[cnt],m_vpMovers[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00033         m_vpMinimizables[cnt]->SetRateConstantsWeight(0.0);
00034         // attach observer
00035         //m_vpEnsembleDataPlotters.push_back(new GnuPlotterEnsembleDataDirectorObserver());
00036         //m_vpEnsembleDataPlotters[0]->SetTitle("MAPK Cascade : EGF at 100 ng/ml, T 94 : ODE");
00037         //m_vpEnsembleDataPlotters[0]->FixMinimizable(0);
00038         //this->Attach(m_vpEnsembleDataPlotters[0]);
00039         cnt++;
00040         
00041         // expt. 2 - EGF at 100 ng/ml, Yao 1995 data
00042         m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00043         m_vpExperiments.push_back(new Experiment(m_vpNetworks[cnt],"EGF Stimulation 100 ng/ml - Yao 1995"));
00044         // data files
00045         m_vpExperiments[cnt]->AddDataFileToList("../DataFiles/TimeSeries/Erk1HYaoEGF.dat");
00046         m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00047         // minimizable
00048         m_vpMinimizables.push_back(new SingleNetworkMinimizable());
00049         // parameters
00050         m_vpMinimizables[cnt]->Initialize(m_vpExperiments[cnt],m_vpMovers[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00051         m_vpMinimizables[cnt]->SetRateConstantsWeight(0.0);
00052         // attach observer
00053         //m_vpEnsembleDataPlotters.push_back(new GnuPlotterEnsembleDataDirectorObserver());
00054         //m_vpEnsembleDataPlotters[1]->SetTitle("MAPK Cascade : EGF at 100 ng/ml, Yao 95 : ODE");
00055         //m_vpEnsembleDataPlotters[1]->FixMinimizable(1);
00056         //this->Attach(m_vpEnsembleDataPlotters[1]);
00057         cnt++;
00058 
00059 
00060         // expt. 3 - NGF at 50 ng/ml, Traverse 1994 Data
00061         // networks and data
00062         m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00063         m_vpExperiments.push_back(new Experiment(m_vpNetworks[cnt],"NGF Stimulation 50 ng/ml - Traverse 1994"));
00064         // data
00065         m_vpExperiments[cnt]->AddDataFileToList("../DataFiles/TimeSeries/ErkMekTraverse2NGF.dat");
00066         m_vpExperiments[cnt]->AddDataFileToList("../DataFiles/TimeSeries/RasGreen1NGF.dat");
00067         m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00068         // minimizable
00069         m_vpMinimizables.push_back(new SingleNetworkMinimizable());
00070         // parameters
00071         m_vpMinimizables[cnt]->Initialize(m_vpExperiments[cnt],m_vpMovers[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00072         // one scaling factor is fixed
00073         m_vpMinimizables[cnt]->GetConversionFactor(11)->SetFactorFixed(true);
00074         m_vpMinimizables[cnt]->GetConversionFactor(11)->SetFactorValue(1.0/(0.2*600000*0.1));
00075         // THESE TWO LINES FOR PI3K+
00076         m_vpMinimizables[cnt]->SetRateConstantsWeight(0.0);
00077         // attach observer
00078         //m_vpEnsembleDataPlotters.push_back(new GnuPlotterEnsembleDataDirectorObserver());
00079         //m_vpEnsembleDataPlotters[2]->SetTitle("MAPK Cascade : NGF at 50 ng/ml, T 94: ODE");
00080         //m_vpEnsembleDataPlotters[2]->FixMinimizable(2);
00081         //this->Attach(m_vpEnsembleDataPlotters[2]);
00082         cnt++;
00083 
00084         // expt. 4 - NGF at 50 ng/ml, Yao 1994 Data
00085         // networks and data
00086         m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00087         m_vpExperiments.push_back(new Experiment(m_vpNetworks[cnt],"NGF Stimulation 50 ng/ml - Yao 1994"));
00088         // data
00089         m_vpExperiments[cnt]->AddDataFileToList("../DataFiles/TimeSeries/Erk1HYaoNGF.dat");
00090         m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00091         // minimizable
00092         m_vpMinimizables.push_back(new SingleNetworkMinimizable());
00093         // parameters
00094         m_vpMinimizables[cnt]->Initialize(m_vpExperiments[cnt],m_vpMovers[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00095         // one scaling factor is fixed
00096         m_vpMinimizables[cnt]->GetConversionFactor(11)->SetFactorFixed(true);
00097         m_vpMinimizables[cnt]->GetConversionFactor(11)->SetFactorValue(1.0/(0.2*600000*0.1));
00098         m_vpMinimizables[cnt]->SetRateConstantsWeight(0.0);
00099         // attach observer
00100         //m_vpEnsembleDataPlotters.push_back(new GnuPlotterEnsembleDataDirectorObserver());
00101         //m_vpEnsembleDataPlotters[3]->SetTitle("MAPK Cascade : NGF at 50 ng/ml, Yao 95: ODE");
00102         //m_vpEnsembleDataPlotters[3]->FixMinimizable(3);
00103         //this->Attach(m_vpEnsembleDataPlotters[3]);
00104         cnt++;
00105 
00106         // expt. 5 - EGF at 30 ng/ml
00107         // networks and data
00108         m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00109         m_vpExperiments.push_back(new Experiment(m_vpNetworks[cnt],"EGF Stimulation 30 ng/ml"));
00110         // put data files here
00111         m_vpExperiments[cnt]->AddDataFileToList("../DataFiles/TimeSeries/RasGreen1EGF.dat");
00112         // mover and plotter
00113         m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00114         // minimizable
00115         m_vpMinimizables.push_back(new SingleNetworkMinimizable());
00116         // parameters
00117         m_vpMinimizables[cnt]->Initialize(m_vpExperiments[cnt],m_vpMovers[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00118         m_vpMinimizables[cnt]->GetConversionFactor(11)->SetFactorFixed(true);
00119         m_vpMinimizables[cnt]->GetConversionFactor(11)->SetFactorValue(1.0/(0.2*600000*0.1));
00120         m_vpMinimizables[cnt]->SetRateConstantsWeight(0.0);
00121         // attach observer
00122         //m_vpEnsembleDataPlotters.push_back(new GnuPlotterEnsembleDataDirectorObserver());
00123         //m_vpEnsembleDataPlotters[4]->SetTitle("MAPK Cascade : EGF at 30 ng/ml : ODE");
00124         //m_vpEnsembleDataPlotters[4]->FixMinimizable(4);
00125         //this->Attach(m_vpEnsembleDataPlotters[4]);
00126         cnt++;
00127         
00128         // expt. 6 - NGF at 100 ng/ml
00129         // networks and data
00130         m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00131         m_vpExperiments.push_back(new Experiment(m_vpNetworks[cnt],"NGF Stimulation 100 ng/ml"));
00132         // data
00133         m_vpExperiments[cnt]->AddDataFileToList("../DataFiles/TimeSeries/Raf1LandrethNGF.dat");
00134         // mover and plotter
00135         m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00136         // minimizable
00137         m_vpMinimizables.push_back(new SingleNetworkMinimizable());
00138         // parameters
00139         m_vpMinimizables[cnt]->Initialize(m_vpExperiments[cnt],m_vpMovers[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00140         m_vpMinimizables[cnt]->SetRateConstantsWeight(0.0);
00141         // attach observer
00142         //m_vpEnsembleDataPlotters.push_back(new GnuPlotterEnsembleDataDirectorObserver());
00143         //m_vpEnsembleDataPlotters[5]->SetTitle("MAPK Cascade : NGF at 100 ng/ml : ODE");
00144         //m_vpEnsembleDataPlotters[5]->FixMinimizable(5);
00145         //this->Attach(m_vpEnsembleDataPlotters[5]);
00146         cnt++;
00147         
00148         // expt. 7 - EGF at 100 ng/ml + 50-fold overexpression of HER
00149         // networks and data
00150         m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00151         m_vpExperiments.push_back(new Experiment(m_vpNetworks[cnt],"EGF at 100 ng/ml, 50-fold HER Overexpression"));
00152         // data
00153         m_vpExperiments[cnt]->AddDataFileToList("../DataFiles/TimeSeries/ErkMekTraverseHERover.dat");
00154         m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00155         // minimizable
00156         m_vpMinimizables.push_back(new SingleNetworkMinimizable());
00157         // parameters
00158         m_vpMinimizables[cnt]->Initialize(m_vpExperiments[cnt],m_vpMovers[cnt],nCells,rateFlag,chemFlag,logsFlag,timeWeight,rateWeight,chemWeight);
00159         m_vpMinimizables[cnt]->SetRateConstantsWeight(0.0);
00160         // attach observer
00161         //m_vpEnsembleDataPlotters.push_back(new GnuPlotterEnsembleDataDirectorObserver());
00162         //m_vpEnsembleDataPlotters[6]->SetTitle("MAPK Cascade : EGF at 100 ng/ml, 50-fold HER Overexpression : ODE");
00163         //m_vpEnsembleDataPlotters[6]->FixMinimizable(6);
00164         //this->Attach(m_vpEnsembleDataPlotters[6]);
00165         cnt++;
00166         
00167         // runnable 1 - 100 ng/ml EGF + 10 uM LY
00168         m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00169         m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00170         int nChemicals = m_vpNetworks[7]->GetNumberOfChemicals();
00171         m_vpCellObservers.push_back(new CellAverageObserver(nChemicals,121,1));
00172         m_vpRunnables.push_back(new CRunnable());
00173         m_vpRunnables[0]->SetComponents(m_vpNetworks[7],m_vpMovers[7],m_vpCellObservers[0]);
00174         //m_vpEnsembleRunPlotters.push_back(new GnuPlotterEnsembleRunDirectorObserver());
00175         //m_vpEnsembleRunPlotters[0]->SetTitle("MAPK Cascade : 100 ng/ml EGF + LY : ODE");
00176         //m_vpEnsembleRunPlotters[0]->FixRunnable(0);
00177         //m_vpEnsembleRunPlotters[0]->AddChemicalToList(20);
00178         //this->Attach(m_vpEnsembleRunPlotters[0]);
00179 
00180         // runnable 2 - 50 ng/ml NGF + 10 uM LY
00181         m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00182         m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00183         nChemicals = m_vpNetworks[8]->GetNumberOfChemicals();
00184         m_vpCellObservers.push_back(new CellAverageObserver(nChemicals,121,1));
00185         m_vpRunnables.push_back(new CRunnable());
00186         m_vpRunnables[1]->SetComponents(m_vpNetworks[8],m_vpMovers[8],m_vpCellObservers[1]);
00187         //m_vpEnsembleRunPlotters.push_back(new GnuPlotterEnsembleRunDirectorObserver());
00188         //m_vpEnsembleRunPlotters[1]->SetTitle("MAPK Cascade : 50 ng/ml NGF + LY : ODE");
00189         //m_vpEnsembleRunPlotters[1]->FixRunnable(1);
00190         //m_vpEnsembleRunPlotters[1]->AddChemicalToList(20);
00191         //this->Attach(m_vpEnsembleRunPlotters[1]);
00192 
00193         // runnable 4 - 50 ng/ml NGF + DN Ras 
00194         m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00195         m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00196         nChemicals = m_vpNetworks[9]->GetNumberOfChemicals();
00197         m_vpCellObservers.push_back(new CellAverageObserver(nChemicals,61,1));
00198         m_vpRunnables.push_back(new CRunnable());
00199         m_vpRunnables[2]->SetComponents(m_vpNetworks[9],m_vpMovers[9],m_vpCellObservers[2]);
00200         //m_vpEnsembleRunPlotters.push_back(new GnuPlotterEnsembleRunDirectorObserver());
00201         //m_vpEnsembleRunPlotters[3]->SetTitle("MAPK Cascade : 50 ng/ml NGF + DN Ras : ODE");
00202         //m_vpEnsembleRunPlotters[3]->FixRunnable(3);
00203         //m_vpEnsembleRunPlotters[3]->AddChemicalToList(20);
00204         //this->Attach(m_vpEnsembleRunPlotters[3]);
00205 
00206         // runnable 5 - 100 ng/ml EGF alone
00207         m_vpNetworks.push_back(new CPC12RapMinusNetwork());
00208         m_vpMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00209         nChemicals = m_vpNetworks[10]->GetNumberOfChemicals();
00210         m_vpCellObservers.push_back(new CellAverageObserver(nChemicals,121,1));
00211         m_vpRunnables.push_back(new CRunnable());
00212         m_vpRunnables[3]->SetComponents(m_vpNetworks[10],m_vpMovers[10],m_vpCellObservers[3]);
00213         //m_vpEnsembleRunPlotters.push_back(new GnuPlotterEnsembleRunDirectorObserver());
00214         //m_vpEnsembleRunPlotters[4]->SetTitle("MAPK Cascade : 100 ng/ml EGF : ODE");
00215         //m_vpEnsembleRunPlotters[4]->FixRunnable(4);
00216         //m_vpEnsembleRunPlotters[4]->AddChemicalToList(20);
00217         //this->Attach(m_vpEnsembleRunPlotters[4]);
00218 
00219         // allocate space to accumulate statistics
00220         SumAllocate();
00221 
00222         // Define runs
00223         DefineRuns();
00224 
00225         // Define experiments
00226         DefineExperiments();
00227 
00228         // Load in the ensemble info
00229         LoadEnsembleInfo("ensemble.par");
00230 }
00231 
00232 CPC12RapMinusEnsembleDirector::~CPC12RapMinusEnsembleDirector(void)
00233 {
00234         for(int i = 0; i < m_vpEnsembleRunPlotters.size(); i++)
00235         {
00236                 this->Detach(m_vpEnsembleRunPlotters[i]);
00237         }
00238         for(i = 0; i < m_vpEnsembleDataPlotters.size(); i++)
00239         {
00240                 this->Detach(m_vpEnsembleDataPlotters[i]);
00241         }
00242 }
00243 
00244 void CPC12RapMinusEnsembleDirector::DefineRuns()
00245 {
00246         // EGF, 100 ng/ml + LY
00247         m_vpRunnables[0]->GetReactionNetwork()->RemoveReaction(16);
00248         m_vpRunnables[0]->GetReactionNetwork()->RemoveReaction(17);
00249         m_vpRunnables[0]->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00250         m_vpRunnables[0]->GetReactionNetwork()->GetChemical(0)->Reset();
00251         
00252         // NGF, 50 ng/ml + LY
00253         m_vpRunnables[1]->GetReactionNetwork()->RemoveReaction(16);
00254         m_vpRunnables[1]->GetReactionNetwork()->RemoveReaction(17);
00255         m_vpRunnables[1]->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(228000.0);
00256         m_vpRunnables[1]->GetReactionNetwork()->GetChemical(1)->Reset();
00257 
00258         // NGF, 50 ng/ml + DN Ras
00259         m_vpRunnables[2]->GetReactionNetwork()->RemoveReaction(7);
00260         m_vpRunnables[2]->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00261         m_vpRunnables[2]->GetReactionNetwork()->GetChemical(0)->Reset();
00262         m_vpRunnables[2]->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(228000.0);
00263         m_vpRunnables[2]->GetReactionNetwork()->GetChemical(1)->Reset();
00264 
00265         // EGF, 100 ng/ml
00266         m_vpRunnables[3]->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00267         m_vpRunnables[3]->GetReactionNetwork()->GetChemical(0)->Reset();
00268         m_vpRunnables[3]->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00269         m_vpRunnables[3]->GetReactionNetwork()->GetChemical(1)->Reset();
00270         
00271         return;
00272 }
00273 
00274 void CPC12RapMinusEnsembleDirector::DefineExperiments()
00275 {       
00276         // 100 ng/ml EGF, 0 NGF
00277         m_vpMinimizables[0]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00278         m_vpMinimizables[0]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00279         m_vpMinimizables[0]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00280         m_vpMinimizables[0]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00281         
00282         // 100 ng/ml EGF, 0 NGF
00283         m_vpMinimizables[1]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00284         m_vpMinimizables[1]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00285         m_vpMinimizables[1]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00286         m_vpMinimizables[1]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00287 
00288         // 0 EGF, 50 ng/ml NGF
00289         m_vpMinimizables[2]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00290         m_vpMinimizables[2]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00291         m_vpMinimizables[2]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(228000.0);
00292         m_vpMinimizables[2]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00293 
00294         // 0 EGF, 50 ng/ml NGF
00295         m_vpMinimizables[3]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00296         m_vpMinimizables[3]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00297         m_vpMinimizables[3]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(228000.0);
00298         m_vpMinimizables[3]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00299         
00300         // 30 ng/ml EGF, 0 NGF
00301         m_vpMinimizables[4]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(3000600);
00302         m_vpMinimizables[4]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00303         m_vpMinimizables[4]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00304         m_vpMinimizables[4]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00305         
00306         // 0 EGF, 100 ng/ml NGF
00307         m_vpMinimizables[5]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00308         m_vpMinimizables[5]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00309         m_vpMinimizables[5]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(456000.0);
00310         m_vpMinimizables[5]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00311         
00312         // 100 ng/ml EGF, 0 ng/ml NGF, 50-fold HER overexpression
00313         m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(10002000.0);
00314         m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(0)->Reset();
00315         m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(0.0);
00316         m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(1)->Reset();    
00317         double EGFR = m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->GetInitialAmount();
00318         m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->SetInitialAmount(50*EGFR);
00319         m_vpMinimizables[6]->GetExperiment()->GetReactionNetwork()->GetChemical(2)->Reset();
00320         
00321 }

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