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

#include <RateTerm.h>

+ Inheritance diagram for MMEnzyme:
+ Collaboration diagram for MMEnzyme:

Public Member Functions

RateTermcopyWithVolScaling (double vol, double sub, double prd) const
 
unsigned int getReactants (vector< unsigned int > &molIndex) const
 
 MMEnzyme (double Km, double kcat, unsigned int enz, RateTerm *sub)
 
double operator() (const double *S) const
 Computes the rate. The argument is the molecule array. More...
 
- Public Member Functions inherited from MMEnzymeBase
unsigned int getEnzIndex () const
 
double getR1 () const
 Used by Zombie to return rate terms. More...
 
double getR2 () const
 Used by Zombie to return rate terms. More...
 
 MMEnzymeBase (double Km, double kcat, unsigned int enz)
 
void rescaleVolume (short comptIndex, const vector< short > &compartmentLookup, double ratio)
 
void setKcat (double kcat)
 
void setKm (double Km)
 
void setR1 (double Km)
 Used by Zombie to assign rate terms. More...
 
void setR2 (double kcat)
 Used by Zombie to assign rate terms. More...
 
void setRates (double Km, double kcat)
 
- Public Member Functions inherited from RateTerm
 RateTerm ()
 
virtual ~RateTerm ()
 

Private Attributes

RateTermsubstrates_
 

Additional Inherited Members

- Static Public Attributes inherited from RateTerm
static const double EPSILON = 1.0e-6
 
- Protected Attributes inherited from MMEnzymeBase
unsigned int enz_
 
double kcat_
 
double Km_
 

Detailed Description

Definition at line 172 of file RateTerm.h.

Constructor & Destructor Documentation

MMEnzyme::MMEnzyme ( double  Km,
double  kcat,
unsigned int  enz,
RateTerm sub 
)
inline

Definition at line 175 of file RateTerm.h.

Referenced by copyWithVolScaling().

177  : MMEnzymeBase( Km, kcat, enz ), substrates_( sub )
178  {
179  ;
180  }
RateTerm * substrates_
Definition: RateTerm.h:202
MMEnzymeBase(double Km, double kcat, unsigned int enz)
Definition: RateTerm.h:84

+ Here is the caller graph for this function:

Member Function Documentation

RateTerm* MMEnzyme::copyWithVolScaling ( double  vol,
double  sub,
double  prd 
) const
inlinevirtual

Duplicates rate term and then applies volume scaling. Arguments are volume of reference voxel, product of vol/refVol for all substrates: applied to R1 product of vol/refVol for all products: applied to R2

Note that unless the reaction is cross-compartment, the vol/refVol will be one.

Implements RateTerm.

Definition at line 195 of file RateTerm.h.

References MMEnzymeBase::enz_, MMEnzymeBase::kcat_, MMEnzymeBase::Km_, MMEnzyme(), NA, and substrates_.

197  {
198  double ratio = sub * vol * NA;
199  return new MMEnzyme( ratio * Km_, kcat_, enz_, substrates_ );
200  }
unsigned int enz_
Definition: RateTerm.h:135
RateTerm * substrates_
Definition: RateTerm.h:202
const double NA
Definition: consts.cpp:15
double Km_
Definition: RateTerm.h:133
MMEnzyme(double Km, double kcat, unsigned int enz, RateTerm *sub)
Definition: RateTerm.h:175
double kcat_
Definition: RateTerm.h:134

+ Here is the call graph for this function:

unsigned int MMEnzyme::getReactants ( vector< unsigned int > &  molIndex) const
inlinevirtual

This function finds the reactant indices in the vector S. It returns the number of substrates found, which are the first entries in molIndex. The products are the remaining ones. Note that it does NOT find products for unidirectional reactions, which is a bit of a problem.

Implements RateTerm.

Definition at line 189 of file RateTerm.h.

References MMEnzymeBase::enz_, RateTerm::getReactants(), and substrates_.

189  {
190  substrates_->getReactants( molIndex );
191  molIndex.insert( molIndex.begin(), enz_ );
192  return molIndex.size();
193  }
unsigned int enz_
Definition: RateTerm.h:135
virtual unsigned int getReactants(vector< unsigned int > &molIndex) const =0
RateTerm * substrates_
Definition: RateTerm.h:202

+ Here is the call graph for this function:

double MMEnzyme::operator() ( const double *  S) const
inlinevirtual

Computes the rate. The argument is the molecule array.

Implements RateTerm.

Definition at line 182 of file RateTerm.h.

References MMEnzymeBase::enz_, RateTerm::EPSILON, MMEnzymeBase::kcat_, and MMEnzymeBase::Km_.

182  {
183  double sub = (*substrates_)( S );
184  // the subtrates_() operator returns the conc product.
185  assert( sub >= -EPSILON );
186  return ( sub * kcat_ * S[ enz_ ] ) / ( Km_ + sub );
187  }
static const double EPSILON
Definition: RateTerm.h:52
unsigned int enz_
Definition: RateTerm.h:135
double Km_
Definition: RateTerm.h:133
double kcat_
Definition: RateTerm.h:134

Member Data Documentation

RateTerm* MMEnzyme::substrates_
private

Definition at line 202 of file RateTerm.h.

Referenced by copyWithVolScaling(), and getReactants().


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