MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
CplxEnzBase Class Referenceabstract

#include <CplxEnzBase.h>

+ Inheritance diagram for CplxEnzBase:
+ Collaboration diagram for CplxEnzBase:

Public Member Functions

void cplx (double n)
 
 CplxEnzBase ()
 
double getConcK1 (const Eref &e) const
 
double getK1 (const Eref &e) const
 
double getK2 (const Eref &e) const
 
double getRatio (const Eref &e) const
 
void setConcK1 (const Eref &e, double v)
 
void setK1 (const Eref &e, double v)
 
void setK2 (const Eref &e, double v)
 
void setRatio (const Eref &e, double v)
 
virtual void vCplx (double n)
 
virtual double vGetConcK1 (const Eref &e) const =0
 
virtual double vGetK1 (const Eref &e) const =0
 
virtual double vGetK2 (const Eref &e) const =0
 
virtual double vGetRatio (const Eref &e) const =0
 
virtual void vSetConcK1 (const Eref &e, double v)=0
 
virtual void vSetK1 (const Eref &e, double v)=0
 
virtual void vSetK2 (const Eref &e, double v)=0
 
virtual void vSetRatio (const Eref &e, double v)=0
 
virtual ~CplxEnzBase ()
 
- Public Member Functions inherited from EnzBase
void enz (double n)
 
 EnzBase ()
 
double getKcat (const Eref &e) const
 
double getKm (const Eref &e) const
 
double getNumKm (const Eref &e) const
 
unsigned int getNumPrd (const Eref &e) const
 
unsigned int getNumSub (const Eref &e) const
 
void prd (double n)
 
void process (const Eref &e, ProcPtr p)
 
void reinit (const Eref &e, ProcPtr p)
 
void remesh (const Eref &e)
 
void setKcat (const Eref &e, double v)
 
void setKm (const Eref &e, double v)
 
void setNumKm (const Eref &e, double v)
 
virtual void setSolver (Id solver, Id orig)
 Assign solver info. More...
 
void sub (double n)
 
virtual void vEnz (double n)
 
virtual double vGetKcat (const Eref &e) const =0
 
virtual double vGetKm (const Eref &e) const =0
 
virtual double vGetNumKm (const Eref &e) const =0
 
virtual void vProcess (const Eref &e, ProcPtr p)
 
virtual void vReinit (const Eref &e, ProcPtr p)
 
virtual void vRemesh (const Eref &e)
 
virtual void vSetKcat (const Eref &e, double v)=0
 
virtual void vSetKm (const Eref &e, double v)=0
 
virtual void vSetNumKm (const Eref &e, double v)=0
 
virtual void vSub (double n)
 
virtual ~EnzBase ()
 

Static Public Member Functions

static const CinfoinitCinfo ()
 
static void zombify (Element *original, const Cinfo *zClass, Id solver)
 
- Static Public Member Functions inherited from EnzBase
static const CinfoinitCinfo ()
 
static void zombify (Element *original, const Cinfo *zClass, Id solver)
 

Detailed Description

This class is for mass-action enzymes, in which there is an explict pool for the enzyme-substrate complex. It models the reaction E + S <===> E.S -—> E + P

Definition at line 18 of file CplxEnzBase.h.

Constructor & Destructor Documentation

CplxEnzBase::CplxEnzBase ( )

Definition at line 175 of file CplxEnzBase.cpp.

176 { ; }
CplxEnzBase::~CplxEnzBase ( )
virtual

Definition at line 177 of file CplxEnzBase.cpp.

178 { ; }

Member Function Documentation

void CplxEnzBase::cplx ( double  n)

Definition at line 184 of file CplxEnzBase.cpp.

References vCplx().

Referenced by initCinfo().

185 {
186  vCplx( n );
187 }
virtual void vCplx(double n)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double CplxEnzBase::getConcK1 ( const Eref e) const

Definition at line 238 of file CplxEnzBase.cpp.

References vGetConcK1().

Referenced by initCinfo(), and zombify().

239 {
240  return vGetConcK1( e );
241 }
virtual double vGetConcK1(const Eref &e) const =0

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double CplxEnzBase::getK1 ( const Eref e) const

Definition at line 201 of file CplxEnzBase.cpp.

References vGetK1().

Referenced by initCinfo().

202 {
203  return vGetK1( e );
204 }
virtual double vGetK1(const Eref &e) const =0

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double CplxEnzBase::getK2 ( const Eref e) const

Definition at line 211 of file CplxEnzBase.cpp.

References vGetK2().

Referenced by initCinfo(), ZombieEnz::vGetKm(), ZombieEnz::vGetRatio(), ZombieEnz::vSetKcat(), ZombieEnz::vSetKm(), ZombieEnz::vSetNumKm(), ZombieEnz::vSetRatio(), and zombify().

212 {
213  return vGetK2( e );
214 }
virtual double vGetK2(const Eref &e) const =0

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double CplxEnzBase::getRatio ( const Eref e) const

Definition at line 228 of file CplxEnzBase.cpp.

References vGetRatio().

Referenced by initCinfo().

229 {
230  return vGetRatio( e );
231 }
virtual double vGetRatio(const Eref &e) const =0

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const Cinfo * CplxEnzBase::initCinfo ( )
static

Definition at line 49 of file CplxEnzBase.cpp.

References cplx(), cplxEnzCinfo, cplxOut(), EnzBase::enz(), enzDest(), enzOut(), getConcK1(), getK1(), getK2(), EnzBase::getKcat(), getRatio(), EnzBase::initCinfo(), setConcK1(), setK1(), setK2(), EnzBase::setKcat(), and setRatio().

Referenced by Enz::initCinfo(), and ZombieEnz::initCinfo().

50 {
52  // Field Definitions
55  "k1",
56  "Forward reaction from enz + sub to complex, in # units."
57  "This parameter is subordinate to the Km. This means that"
58  "when Km is changed, this changes. It also means that when"
59  "k2 or k3 (aka kcat) are changed, we assume that Km remains"
60  "fixed, and as a result k1 must change. It is only when"
61  "k1 is assigned directly that we assume that the user knows"
62  "what they are doing, and we adjust Km accordingly."
63  "k1 is also subordinate to the 'ratio' field, since setting "
64  "the ratio reassigns k2."
65  "Should you wish to assign the elementary rates k1, k2, k3,"
66  "of an enzyme directly, always assign k1 last.",
69  );
70 
72  "k2",
73  "Reverse reaction from complex to enz + sub",
76  );
77 
79  "k3",
80  "Forward rate constant from complex to product + enz",
83  );
84 
86  "ratio",
87  "Ratio of k2/k3",
90  );
91 
93  "concK1",
94  "K1 expressed in concentration (1/millimolar.sec) units"
95  "This parameter is subordinate to the Km. This means that"
96  "when Km is changed, this changes. It also means that when"
97  "k2 or k3 (aka kcat) are changed, we assume that Km remains"
98  "fixed, and as a result concK1 must change. It is only when"
99  "concK1 is assigned directly that we assume that the user knows"
100  "what they are doing, and we adjust Km accordingly."
101  "concK1 is also subordinate to the 'ratio' field, since"
102  "setting the ratio reassigns k2."
103  "Should you wish to assign the elementary rates concK1, k2, k3,"
104  "of an enzyme directly, always assign concK1 last.",
107  );
108 
110  // MsgDest Definitions: most are inherited from EnzBase.
112  static DestFinfo cplxDest( "cplxDest",
113  "Handles # of molecules of enz-sub complex",
115 
117  // Shared Msg Definitions
119  static Finfo* enzShared[] = {
120  enzOut(), enzDest()
121  };
122  static Finfo* cplxShared[] = {
123  cplxOut(), &cplxDest
124  };
125 
126  static SharedFinfo enz( "enz",
127  "Connects to enzyme pool",
128  enzShared, sizeof( enzShared ) / sizeof( const Finfo* )
129  );
130  static SharedFinfo cplx( "cplx",
131  "Connects to enz-sub complex pool",
132  cplxShared, sizeof( cplxShared ) / sizeof( const Finfo* )
133  );
134 
135  static Finfo* cplxEnzFinfos[] = {
136  &k1, // Value
137  &k2, // Value
138  &k3, // Value
139  &ratio, // Value
140  &concK1, // Value
141  &enz, // SharedFinfo
142  &cplx, // SharedFinfo
143  };
144 
145  static string doc[] =
146  {
147  "Name", "CplxEnzBase",
148  "Author", "Upi Bhalla",
149  "Description:",
150  "Base class for mass-action enzymes in which there is an "
151  " explicit pool for the enzyme-substrate complex. "
152  "It models the reaction: "
153  "E + S <===> E.S ----> E + P"
154  };
155 
156  static ZeroSizeDinfo< int > dinfo;
157  static Cinfo cplxEnzCinfo (
158  "CplxEnzBase",
160  cplxEnzFinfos,
161  sizeof( cplxEnzFinfos ) / sizeof ( Finfo* ),
162  &dinfo,
163  doc,
164  sizeof( doc )/sizeof( string )
165  );
166 
167  return &cplxEnzCinfo;
168 }
double getK2(const Eref &e) const
void setK1(const Eref &e, double v)
DestFinfo * enzDest()
Definition: CplxEnzBase.cpp:32
void enz(double n)
Definition: EnzBase.cpp:187
void setK2(const Eref &e, double v)
void setConcK1(const Eref &e, double v)
double getK1(const Eref &e) const
double getConcK1(const Eref &e) const
Definition: OpFunc.h:27
void cplx(double n)
double getKcat(const Eref &e) const
Definition: EnzBase.cpp:256
static SrcFinfo2< double, double > * enzOut()
Definition: CplxEnzBase.cpp:16
static SrcFinfo2< double, double > * cplxOut()
Definition: CplxEnzBase.cpp:24
double getRatio(const Eref &e) const
void setKcat(const Eref &e, double v)
Definition: EnzBase.cpp:251
static const Cinfo * cplxEnzCinfo
Definition: Cinfo.h:18
static const Cinfo * initCinfo()
Definition: EnzBase.cpp:33
void setRatio(const Eref &e, double v)
Definition: Finfo.h:12

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CplxEnzBase::setConcK1 ( const Eref e,
double  v 
)

Definition at line 233 of file CplxEnzBase.cpp.

References vSetConcK1().

Referenced by initCinfo(), ZombieEnz::vSetRatio(), and zombify().

234 {
235  vSetConcK1( e, v );
236 }
virtual void vSetConcK1(const Eref &e, double v)=0

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CplxEnzBase::setK1 ( const Eref e,
double  v 
)

Definition at line 196 of file CplxEnzBase.cpp.

References vSetK1().

Referenced by initCinfo().

197 {
198  vSetK1( e, v );
199 }
virtual void vSetK1(const Eref &e, double v)=0

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CplxEnzBase::setK2 ( const Eref e,
double  v 
)

Definition at line 206 of file CplxEnzBase.cpp.

References vSetK2().

Referenced by initCinfo(), and zombify().

207 {
208  vSetK2( e, v );
209 }
virtual void vSetK2(const Eref &e, double v)=0

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CplxEnzBase::setRatio ( const Eref e,
double  v 
)

Definition at line 223 of file CplxEnzBase.cpp.

References vSetRatio().

Referenced by initCinfo().

224 {
225  vSetRatio( e, v );
226 }
virtual void vSetRatio(const Eref &e, double v)=0

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CplxEnzBase::vCplx ( double  n)
virtual

Reimplemented in Enz.

Definition at line 189 of file CplxEnzBase.cpp.

Referenced by cplx().

190 {;}

+ Here is the caller graph for this function:

virtual double CplxEnzBase::vGetConcK1 ( const Eref e) const
pure virtual

Implemented in Enz, and ZombieEnz.

Referenced by getConcK1().

+ Here is the caller graph for this function:

virtual double CplxEnzBase::vGetK1 ( const Eref e) const
pure virtual

Implemented in Enz, and ZombieEnz.

Referenced by getK1().

+ Here is the caller graph for this function:

virtual double CplxEnzBase::vGetK2 ( const Eref e) const
pure virtual

Implemented in Enz, and ZombieEnz.

Referenced by getK2().

+ Here is the caller graph for this function:

virtual double CplxEnzBase::vGetRatio ( const Eref e) const
pure virtual

Implemented in Enz, and ZombieEnz.

Referenced by getRatio().

+ Here is the caller graph for this function:

virtual void CplxEnzBase::vSetConcK1 ( const Eref e,
double  v 
)
pure virtual

Implemented in Enz, and ZombieEnz.

Referenced by setConcK1().

+ Here is the caller graph for this function:

virtual void CplxEnzBase::vSetK1 ( const Eref e,
double  v 
)
pure virtual

Implemented in Enz, and ZombieEnz.

Referenced by setK1().

+ Here is the caller graph for this function:

virtual void CplxEnzBase::vSetK2 ( const Eref e,
double  v 
)
pure virtual

Implemented in Enz, and ZombieEnz.

Referenced by setK2().

+ Here is the caller graph for this function:

virtual void CplxEnzBase::vSetRatio ( const Eref e,
double  v 
)
pure virtual

Implemented in Enz, and ZombieEnz.

Referenced by setRatio().

+ Here is the caller graph for this function:

void CplxEnzBase::zombify ( Element orig,
const Cinfo zClass,
Id  solver 
)
static

This function helps the conversion between CplxEnz subclasses, these are the ones that have an explicit enzyme-substrate complex molecule. Note that I use the ConcK1 terms because those are independent of the volume decomposition. K2 and kcat (ie., k3) only have time units.

Definition at line 254 of file CplxEnzBase.cpp.

References Element::cinfo(), Eref::data(), getConcK1(), getK2(), EnzBase::getKcat(), Element::id(), Element::localDataStart(), Element::numLocalData(), setConcK1(), setK2(), EnzBase::setKcat(), EnzBase::setSolver(), and Element::zombieSwap().

Referenced by Stoich::unZombifyModel(), and Stoich::zombifyModel().

255 {
256  if ( orig->cinfo() == zClass )
257  return;
258  unsigned int start = orig->localDataStart();
259  unsigned int num = orig->numLocalData();
260  if ( num == 0 )
261  return;
262  vector< double > concK1( num, 0.0 );
263  vector< double > k2( num, 0.0 );
264  vector< double > kcat( num, 0.0 );
265  for ( unsigned int i = 0; i < num; ++i ) {
266  Eref er( orig, i + start );
267  const CplxEnzBase* ceb =
268  reinterpret_cast< const CplxEnzBase* >( er.data() );
269  concK1[ i ] = ceb->getConcK1( er );
270  k2[ i ] = ceb->getK2( er );
271  kcat[ i ] = ceb->getKcat( er );
272  }
273  orig->zombieSwap( zClass );
274  for ( unsigned int i = 0; i < num; ++i ) {
275  Eref er( orig, i + start );
276  CplxEnzBase* ceb = reinterpret_cast< CplxEnzBase* >( er.data() );
277  ceb->setSolver( solver, orig->id() );
278  ceb->setKcat( er, kcat[i] );
279  ceb->setK2( er, k2[i] );
280  ceb->setConcK1( er, concK1[i] );
281  }
282 }
double getK2(const Eref &e) const
virtual void zombieSwap(const Cinfo *zCinfo)
virtual func, this base version must be called by all derived classes
Definition: Element.cpp:159
Id id() const
Definition: Element.cpp:71
void setK2(const Eref &e, double v)
void setConcK1(const Eref &e, double v)
double getConcK1(const Eref &e) const
Definition: Eref.h:26
const Cinfo * cinfo() const
Definition: Element.cpp:66
virtual unsigned int localDataStart() const =0
Returns index of first data entry on this node.
virtual unsigned int numLocalData() const =0
Returns number of local data entries on this node.
double getKcat(const Eref &e) const
Definition: EnzBase.cpp:256
void setKcat(const Eref &e, double v)
Definition: EnzBase.cpp:251
virtual void setSolver(Id solver, Id orig)
Assign solver info.
Definition: EnzBase.cpp:319

+ Here is the call graph for this function:

+ Here is the caller graph for this function:


The documentation for this class was generated from the following files: