Version 1.2 (June 2013)
 All Classes Namespaces Files Functions Variables Pages
Public Member Functions | List of all members
simulator.reaction.ReactionGrowthFitness Class Reference

Captures the fitness cost associated with the carriage of a plasmid. More...

Inheritance diagram for simulator.reaction.ReactionGrowthFitness:
simulator.reaction.Reaction

Public Member Functions

void init (Simulator aSim, XMLParser xmlRoot)
 Initialises the reaction by setting relevant parameters to values contained in the simulation protocol file. More...
 
void initFromAgent (ActiveAgent anAgent, Simulator aSim, XMLParser aReactionRoot)
 Use the reaction class to fill the parameters fields of the agent. More...
 
int getTotalParam ()
 Return the total number of parameters needed to describe the kinetic of this reaction (muMax included) More...
 
void updateMarginalMu (double[] s)
 Update the Marginal Mu data matrix. More...
 
void computeUptakeRate (double[] s, double mass, double tdel)
 Update the array of uptake rates and the array of its derivative. Based on default values of parameters. Unit is fg.h-1. More...
 
double computeSpecRate (double[] s)
 Compute the specific growth rate. More...
 
void computeSpecificGrowthRate (double[] s)
 Compute specific growth rate in function to concentrations sent. More...
 
double[] getMarginalDiffMu ()
 Return the marginalDiffMu array. More...
 
Matrix calcdMUdS (Matrix S, double biomass)
 Calculate the rate of change of each uptake rate with respect to each solute. Returned as a matrix. More...
 
Matrix calcdMUdT (Matrix S, double biomass)
 Calculate the rate of change of each uptake rate with respect to time. More...
 
double[] computeMarginalDiffMu (double[] s)
 Compute the marginal difference array. More...
 
double computeMassGrowthRate (ActiveAgent anAgent)
 
double computeSpecGrowthRate (ActiveAgent anAgent)
 Compute the specific growth rate. More...
 
void computeSpecificGrowthRate (double[] s, ActiveAgent anAgent)
 
void computeSpecificGrowthRate (ActiveAgent anAgent)
 Return the specific reaction rate for a given agent. More...
 
ArrayList< Double > setYield (ActiveAgent anAgent)
 
- Public Member Functions inherited from simulator.reaction.Reaction
void init (Simulator aSim, XMLParser aReactionRoot)
 Initialises a reaction object, giving the object the properties stated in the protocol file. More...
 
void initFromAgent (ActiveAgent anAgent, Simulator aSim, XMLParser xmlRoot)
 Use the reaction class to fill the parameters fields of the agent. Populate only the yield vector, the kinetic vector will be filled by the subdefined method in the child classes. More...
 
void register (String aReactionName, Simulator aSimulator)
 End of the initialization procedure. Store the name and simulation dictionary index for this reaction. More...
 
LinkedList< String > declareSolutes ()
 Utilised by a solver instance to know the solutes affected by this reaction. More...
 
void fillParameters (Simulator aSim, XMLParser xmlRoot)
 Reads the reaction information (name, solute yield, particle yield etc) from the XML file and initialises this reaction. More...
 
void addAgent (ActiveAgent anAgent)
 Register an agent among the guild of this pathway. More...
 
void removeAgent (ActiveAgent anAgent)
 Remove an agent among the guild of this pathway. More...
 
void applyReaction (SpatialGrid[] concGrid, SpatialGrid[] reacGrid, SpatialGrid[] diffReacGrid, SpatialGrid biomassGrid)
 Compute reaction rate on each concerned solute grids Assumes same parameters for all the agents of a same guild. More...
 
void fitAgentMassOnGrid (SpatialGrid aSpG)
 Add the mass of all the agents of the guild on a received grid. The stored value is a CONCENTRATION. More...
 
double[] readConcentrationSeen (ActiveAgent anAgent, SoluteGrid[] concGrid)
 Return a double array with all concentration seen by an agent on the default solute grid. More...
 
void writeReport (ResultFile bufferState, ResultFile bufferSum) throws Exception
 Write reaction information to the result file stream. More...
 
void fitGuildOnGrid ()
 Build a grid with mass and mass-growth-rate of all agents of the guild. More...
 
double[] getSoluteYield ()
 Return the solute yield. More...
 
int[] getSoluteIndex ()
 Return the solute index. More...
 
double[] getParticulateYield ()
 Return the particulate yield. More...
 
double[] getKinetic ()
 Return the kinetic parameters used in this reaction. More...
 
LinkedList< ActiveAgentgetGuild ()
 Return the guild of this pathway. More...
 

Additional Inherited Members

- Public Attributes inherited from simulator.reaction.Reaction
String reactionName
 
int reactionIndex
 
int _catalystIndex
 
int[] _mySoluteIndex
 
boolean autocatalytic
 
double[] totalUptake
 
double Dil
 
- Protected Attributes inherited from simulator.reaction.Reaction
LinkedList< ActiveAgent_guild = new LinkedList<ActiveAgent>()
 
SoluteGrid[] _soluteList
 
SoluteGrid _reacGrid
 
SoluteGrid _guildGrid
 
double _specRate
 
double[] _diffUptakeRate
 
double[] _uptakeRate
 
double[] _soluteYield
 
double[] _kineticParam
 
double[] _particleYield
 
String[] _particleNameYield
 

Detailed Description

Captures the fitness cost associated with the carriage of a plasmid.

This class deals with the fitness cost associated with the carriage of a plasmid. A cell carrying a plasmid will have its biomass yield reduced due to the metabolic burden conferred by the plasmid, which indirectly impacts its growth rate output. Here we assume that plasmid cost decreases exponentially with the time spent in the host, until it reaches a minimum value. The assumption behind this approach is that plasmid and host coevolve. We also assume that the individuals from a species don't mutate, thus a plasmid that has evolved in a host of a certain species if transferred to another individual of the same species, will have the "evolved" cost for its new recipient.

Author
SoniaMartins

Member Function Documentation

Matrix simulator.reaction.ReactionGrowthFitness.calcdMUdS ( Matrix  S,
double  biomass 
)
virtual

Calculate the rate of change of each uptake rate with respect to each solute. Returned as a matrix.

Calculate the rate of change of each uptake rate with respect to each solute. Returned as a matrix

Parameters
STemporary container for solute concentration
biomassTotal particle mass in the system which catalyses this reaction
Returns
Matrix containing rate of change of each uptake rate with respect to each solute

Implements simulator.reaction.Reaction.

Matrix simulator.reaction.ReactionGrowthFitness.calcdMUdT ( Matrix  S,
double  biomass 
)
virtual

Calculate the rate of change of each uptake rate with respect to time.

Calculate the rate of change of each uptake rate with respect to time. dMUdT = catalyticBiomass*specificGrowthRate*soluteYield. Returned as a matrix

Parameters
STemporary container for solute concentration
biomassTotal particle mass in the system which catalyses this reaction
Returns
Matrix containing rate of change of each uptake rate with respect to time

Implements simulator.reaction.Reaction.

double [] simulator.reaction.ReactionGrowthFitness.computeMarginalDiffMu ( double[]  s)
virtual

Compute the marginal difference array.

Compute the marginal difference array. Don't forget to update marginalMu before calling this!

Parameters
sTemporary container for solute concentration
Returns
Marginal diff array

Implements simulator.reaction.Reaction.

double simulator.reaction.ReactionGrowthFitness.computeMassGrowthRate ( ActiveAgent  anAgent)
virtual
Parameters
anAgent
Returns
the marginal growth rate (i.e the specific growth rate times the mass of the particle which is mediating this reaction)

Implements simulator.reaction.Reaction.

double simulator.reaction.ReactionGrowthFitness.computeSpecGrowthRate ( ActiveAgent  anAgent)
virtual

Compute the specific growth rate.

Compute the specific growth rate

Parameters
anAgentSpecific growth rate for this ActiveAgent
Returns
The specific growth rate

Implements simulator.reaction.Reaction.

void simulator.reaction.ReactionGrowthFitness.computeSpecificGrowthRate ( double[]  s)
virtual

Compute specific growth rate in function to concentrations sent.

Compute specific growth rate in function to concentrations sent

Parameters
sArray of solute concentration

Implements simulator.reaction.Reaction.

void simulator.reaction.ReactionGrowthFitness.computeSpecificGrowthRate ( double[]  s,
ActiveAgent  anAgent 
)
virtual

Compute specific growth rate in function to concentrations sent

Parameters
s: array of solute concentration
anAgentParameters used are those defined for THIS agent

Implements simulator.reaction.Reaction.

void simulator.reaction.ReactionGrowthFitness.computeSpecificGrowthRate ( ActiveAgent  anAgent)
virtual

Return the specific reaction rate for a given agent.

Return the specific reaction rate for a given agent

Parameters
anAgentAgent to use to determine solute concentration and calculate reaction rate
See Also
ActiveAgent.grow()
Episome.computeRate(EpiBac)

Implements simulator.reaction.Reaction.

double simulator.reaction.ReactionGrowthFitness.computeSpecRate ( double[]  s)
virtual

Compute the specific growth rate.

Compute the specific growth rate. Don't forget to update marginalMu before calling this!

Parameters
sTemporary container for solute concentration
Returns
The specific growth rate

Implements simulator.reaction.Reaction.

void simulator.reaction.ReactionGrowthFitness.computeUptakeRate ( double[]  s,
double  mass,
double  tdel 
)
virtual

Update the array of uptake rates and the array of its derivative. Based on default values of parameters. Unit is fg.h-1.

Update the array of uptake rates and the array of its derivative. Based on default values of parameters. Unit is fg.h-1

Parameters
sThe concentration of solute locally observed
massMass of the catalyst (cell...)
tdelTime

Implements simulator.reaction.Reaction.

double [] simulator.reaction.ReactionGrowthFitness.getMarginalDiffMu ( )

Return the marginalDiffMu array.

Return the marginalDiffMu array. Rob (25/8/2011): added this so that Reaction.applyChemostatReaction() can see marginalDiffMu

Returns
marginalDiffMu array
int simulator.reaction.ReactionGrowthFitness.getTotalParam ( )

Return the total number of parameters needed to describe the kinetic of this reaction (muMax included)

Return the total number of parameters needed to describe the kinetic of this reaction (muMax included)

Returns
Integer stating the total number of parameters needed to describe the kinetic
void simulator.reaction.ReactionGrowthFitness.init ( Simulator  aSim,
XMLParser  xmlRoot 
)

Initialises the reaction by setting relevant parameters to values contained in the simulation protocol file.

Initialises the reaction by setting relevant parameters to values contained in the simulation protocol file

Parameters
aSimThe simulation object used to simulate the conditions specified in the protocol file
xmlRootThe XML object containing the definition of one reaction in the protocol file
See Also
Simulator.createReaction()
void simulator.reaction.ReactionGrowthFitness.initFromAgent ( ActiveAgent  anAgent,
Simulator  aSim,
XMLParser  aReactionRoot 
)

Use the reaction class to fill the parameters fields of the agent.

Use the reaction class to fill the parameters fields of the agent. Uses information in the agent and protocol file to achieve this

Parameters
anAgentThe ActiveAgent which parameters are being populated
aSimThe simulation object used to simulate the conditions specified in the protocol file
aReactionRootThe XML object containing the definition of one reaction in the protocol file
See Also
Simulator.createReaction()
ArrayList<Double> simulator.reaction.ReactionGrowthFitness.setYield ( ActiveAgent  anAgent)

Sonia Here we calculate the fitness cost of each of the plasmid types the host carries. For that we need the time the plasmid has spent in this cell since its reception or creation (for that we created a specific field for the plasmid: timeSpentInHost).

Parameters
anAgent
void simulator.reaction.ReactionGrowthFitness.updateMarginalMu ( double[]  s)
virtual

Update the Marginal Mu data matrix.

Update the Marginal Mu data matrix

Parameters
sTemporary container for solute concentration

Implements simulator.reaction.Reaction.


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