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

OneGeneEnsembleRunDirector.cpp

Go to the documentation of this file.
00001 // OneGeneEnsembleRunDirector.cpp: implementation of the COneGeneEnsembleRunDirector class.
00002 //
00004 
00005 #include "OneGeneEnsembleRunDirector.h"
00006 
00008 // Construction/Destruction
00010 
00011 COneGeneEnsembleRunDirector::COneGeneEnsembleRunDirector(int ensembleSize)
00012 :CEnsembleRunDirector(ensembleSize)
00013 {
00014         double maxSimTime = 90.0;
00015         int intTime = (int) maxSimTime + 2;
00016         double stepSize = 0.0001;
00017         double frequency = 1.0;
00018         double moveTol = 1.0e-6;
00019 
00020         m_vpRxnNetworks.push_back(new OneGeneInhibitoryNetwork());
00021         m_vpRxnMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00022         int nChemicals = m_vpRxnNetworks[0]->GetNumberOfChemicals();
00023         m_vpCellObservers.push_back(new CellAverageObserver(nChemicals,intTime,1));
00024         m_vpRunnables.push_back(new CRunnable());
00025         m_vpRunnables[0]->SetComponents(m_vpRxnNetworks[0],m_vpRxnMovers[0],m_vpCellObservers[0]);
00026         m_vpEnsemblePlotters.push_back(new GnuPlotterEnsembleRunDirectorObserver());
00027         m_vpEnsemblePlotters[0]->SetTitle("OGN : 1 Free Promoter, No Protein : ODE");
00028         m_vpEnsemblePlotters[0]->FixRunnable(0);
00029         m_vpEnsemblePlotters[0]->AddChemicalToList(2);
00030         m_vpEnsemblePlotters[0]->AddChemicalToList(3);
00031         this->Attach(m_vpEnsemblePlotters[0]);
00032 
00033         m_vpRxnNetworks.push_back(new OneGeneInhibitoryNetwork());
00034         m_vpRxnMovers.push_back(new CQualityControlCashKarpMover(frequency,stepSize,moveTol));
00035         nChemicals = m_vpRxnNetworks[1]->GetNumberOfChemicals();
00036         m_vpCellObservers.push_back(new CellAverageObserver(nChemicals,intTime,1));
00037         m_vpRunnables.push_back(new CRunnable());
00038         m_vpRunnables[1]->SetComponents(m_vpRxnNetworks[1],m_vpRxnMovers[1],m_vpCellObservers[1]);
00039         m_vpEnsemblePlotters.push_back(new GnuPlotterEnsembleRunDirectorObserver());
00040         m_vpEnsemblePlotters[1]->SetTitle("OGN : 1 Bound Promoter, No Protein : ODE");
00041         m_vpEnsemblePlotters[1]->FixRunnable(1);
00042         m_vpEnsemblePlotters[1]->AddChemicalToList(2);
00043         m_vpEnsemblePlotters[1]->AddChemicalToList(3);
00044         this->Attach(m_vpEnsemblePlotters[1]);
00045         
00046         // allocate space to accumulate statistics
00047         SumAllocate();
00048 
00049         // Define Runs
00050         DefineRuns();
00051 
00052         // Load in the ensemble information
00053         LoadEnsembleInfo("ensemble_200.par");
00054 }
00055 
00056 COneGeneEnsembleRunDirector::~COneGeneEnsembleRunDirector()
00057 {
00058         
00059 }
00060 
00061 void COneGeneEnsembleRunDirector::DefineRuns()
00062 {
00063         // specific to this simulation
00064 
00065         // 1 free promoter, no protein
00066         m_vpRunnables[0]->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(1.0);
00067         m_vpRunnables[0]->GetReactionNetwork()->GetChemical(0)->Reset();        
00068         m_vpRunnables[0]->GetReactionNetwork()->GetChemical(3)->SetInitialAmount(0.0);
00069         m_vpRunnables[0]->GetReactionNetwork()->GetChemical(3)->Reset();
00070 
00071         // 1 bound promoter, no protein
00072         m_vpRunnables[1]->GetReactionNetwork()->GetChemical(0)->SetInitialAmount(0.0);
00073         m_vpRunnables[1]->GetReactionNetwork()->GetChemical(0)->Reset();        
00074         m_vpRunnables[1]->GetReactionNetwork()->GetChemical(1)->SetInitialAmount(1.0);
00075         m_vpRunnables[1]->GetReactionNetwork()->GetChemical(1)->Reset();        
00076         m_vpRunnables[1]->GetReactionNetwork()->GetChemical(3)->SetInitialAmount(0.0);
00077         m_vpRunnables[1]->GetReactionNetwork()->GetChemical(3)->Reset();
00078 
00079 }

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